bem/core/mod.rs
1//! Pure Rust BEM (Boundary Element Method) Solver
2//!
3//! This module provides a complete BEM solver for acoustic scattering problems,
4//! supporting Traditional BEM (TBEM), Single-Level Fast Multipole (SLFMM),
5//! and Multi-Level Fast Multipole (MLFMM) methods.
6//!
7//! ## Architecture
8//!
9//! - `types`: Core data structures (Mesh, Element, PhysicsParams)
10//! - `constants`: Physical and integration constants
11//! - `greens`: Green's function computations (Helmholtz kernel)
12//! - `mesh`: Mesh loading, element operations, and mesh generators
13//! - `integration`: Numerical quadrature (Gauss-Legendre, singular)
14//! - `assembly`: BEM matrix assembly (TBEM, SLFMM, MLFMM)
15//! - `solver`: Linear solvers (Direct, CGS, BiCGSTAB)
16//! - `incident`: Incident field computation (plane waves, point sources)
17//! - `postprocess`: Result computation at evaluation points
18//! - `io`: Input/output (NC.inp format, JSON)
19//! - `bem_solver`: High-level API for solving BEM problems
20
21pub mod types;
22pub mod constants;
23pub mod greens;
24pub mod mesh;
25pub mod integration;
26pub mod assembly;
27pub mod solver;
28pub mod incident;
29pub mod postprocess;
30pub mod io;
31pub mod bem_solver;
32
33// Re-exports for convenience
34pub use types::*;
35pub use constants::PhysicsParams;
36pub use incident::IncidentField;
37pub use bem_solver::{BemSolver, BemProblem, BemSolution, BemError, SolverMethod, AssemblyMethod};