bem/core/assembly/mod.rs
1//! BEM matrix assembly
2//!
3//! This module provides three methods for assembling BEM systems:
4//!
5//! - [`tbem`] - Traditional BEM with O(N²) dense matrix
6//! - [`slfmm`] - Single-Level Fast Multipole Method
7//! - [`mlfmm`] - Multi-Level Fast Multipole Method
8//!
9//! For small problems (N < 1000), TBEM is usually fastest.
10//! For larger problems, FMM methods provide O(N log N) or O(N) scaling.
11
12pub mod mlfmm;
13pub mod slfmm;
14pub mod sparse;
15pub mod tbem;
16
17pub use mlfmm::{build_cluster_tree, build_mlfmm_system, MlfmmSystem};
18pub use slfmm::{build_slfmm_system, SlfmmSystem};
19pub use sparse::{BlockedCsr, CsrBuilder, CsrMatrix};
20pub use tbem::{
21 apply_row_sum_correction, build_tbem_system, build_tbem_system_corrected,
22 build_tbem_system_scaled, build_tbem_system_with_beta, TbemSystem,
23};
24
25#[cfg(feature = "parallel")]
26pub use tbem::build_tbem_system_parallel;