Expand description
Pure Rust BEM (Boundary Element Method) Solver
This module provides a complete BEM solver for acoustic scattering problems, supporting Traditional BEM (TBEM), Single-Level Fast Multipole (SLFMM), and Multi-Level Fast Multipole (MLFMM) methods.
§Architecture
types: Core data structures (Mesh, Element, PhysicsParams)constants: Physical and integration constantsgreens: Green’s function computations (Helmholtz kernel)mesh: Mesh loading, element operations, and mesh generatorsintegration: Numerical quadrature (Gauss-Legendre, singular)assembly: BEM matrix assembly (TBEM, SLFMM, MLFMM)solver: Linear solvers (Direct, CGS, BiCGSTAB)incident: Incident field computation (plane waves, point sources)postprocess: Result computation at evaluation pointsio: Input/output (NC.inp format, JSON)bem_solver: High-level API for solving BEM problems
Re-exports§
pub use constants::PhysicsParams;pub use incident::IncidentField;pub use bem_solver::BemSolver;pub use bem_solver::BemProblem;pub use bem_solver::BemSolution;pub use bem_solver::BemError;pub use bem_solver::SolverMethod;pub use bem_solver::AssemblyMethod;pub use types::*;
Modules§
- assembly
- BEM matrix assembly
- bem_
solver - High-level BEM Solver API
- constants
- Physical and integration constants
- greens
- Green’s function computations for acoustic BEM
- incident
- Incident field computation
- integration
- Numerical integration for BEM
- io
- Input/Output for BEM solver
- mesh
- Mesh structures and element operations
- postprocess
- Post-processing: compute pressure at evaluation points
- solver
- Linear solvers for BEM
- types
- Core type definitions for BEM solver