Expand description
Common types and utilities for BEM/FEM room acoustics simulators
This crate provides shared functionality between BEM and FEM room acoustics simulators, including:
- Room geometry definitions (rectangular, L-shaped rooms)
- Sound source configuration (position, directivity, crossover)
- JSON configuration loading/saving
- Output JSON formatting
- Visualization utilities
Modules§
- constants
- Constants for room acoustics
Structs§
- Boundary
Config - Boundary conditions configuration
- Directivity
Pattern - Directivity pattern sampled on a grid
- FmmConfig
- FMM configuration
- Frequency
Config - Frequency configuration
- Frequency
Result - Result of room simulation at one frequency
- Gmres
Config - GMRES solver configuration
- IluConfig
- ILU preconditioner configuration
- LShaped
Room - L-shaped room defined by two rectangular sections
- Metadata
Config - Simulation metadata
- Point3D
- 3D point in space
- Point3D
Config - 3D point configuration
- Rectangular
Room - Rectangular room defined by dimensions
- Room
Config - Complete room configuration loaded from JSON
- Room
Mesh - Room mesh for BEM/FEM (surface mesh for BEM, volume mesh for FEM)
- Room
Simulation - Room acoustics simulation configuration
- Simulation
Results - Complete simulation results
- Slice
Data - Pressure field data on a 2D slice
- Solver
Config - Solver configuration
- Source
- Sound source with position and directivity
- Source
Config - Source configuration
- Surface
Element - Surface element (triangular or quadrilateral)
- Visualization
Config - Visualization configuration
Enums§
- Crossover
Config - Crossover filter configuration
- Crossover
Filter - Crossover filter for frequency-limited sources
- Directivity
Config - Directivity pattern configuration
- Room
Geometry - Room geometry types
- Room
Geometry Config - Room geometry configuration
- Surface
Config - Surface boundary condition type
Traits§
- Field
Pressure Calculator - Trait for computing field pressure at points (implemented by BEM/FEM solvers)
Functions§
- create_
default_ config - Create a default room configuration for testing
- create_
output_ json - Create output JSON without slices
- create_
output_ json_ with_ sources - Create output JSON with per-source responses
- generate_
spatial_ slices - Generate spatial slices for visualization
- lin_
space - Generate linearly spaced frequencies
- log_
space - Generate logarithmically spaced frequencies
- pressure_
to_ spl - Convert complex pressure to SPL in dB
- print_
config_ summary - Print configuration summary to stdout
- version
- Library version
- wavenumber
- Calculate wavenumber k = 2πf/c
Type Aliases§
- Listening
Position - Listening position (alias for Point3D)