Expand description
Multigrid FEM solver for Helmholtz equation
This crate provides a finite element method solver for the Helmholtz equation with adaptive mesh refinement and multigrid acceleration.
§Features
- 2D and 3D meshes: Triangles, quadrilaterals, tetrahedra, hexahedra
- Lagrange elements: P1, P2, P3 polynomial basis functions
- Boundary conditions: Dirichlet, Neumann, Robin, PML
- Multigrid solver: V-cycle, W-cycle with geometric coarsening
- Adaptive refinement: h-refinement with residual-based error estimation
§Example
ⓘ
use math_audio_fem::{FemProblem, FemSolver, mesh};
// Create a 2D mesh
let mesh = mesh::unit_square_triangles(10);
// Define the Helmholtz problem
let problem = FemProblem::helmholtz(mesh, k);
// Solve
let solver = FemSolver::new();
let solution = solver.solve(&problem)?;Modules§
- assembly
- Finite element matrix assembly
- basis
- Finite element basis functions
- boundary
- Boundary condition handling for finite element problems
- mesh
- Mesh types and generators for FEM
- multigrid
- Geometric multigrid solver for finite element problems
- neural_
multigrid - Neural Multigrid (Wave-ADR-NS) solver for the Helmholtz equation
- quadrature
- Numerical quadrature rules for finite element integration
- schwarz_
pml - Optimized Schwarz Methods with PML transmission conditions
- solver
- FEM solvers for Helmholtz equation
- waveholtz
- WaveHoltz solver for the Helmholtz equation
Functions§
- version
- Library version