Skip to main content

Crate math_audio_xem_common

Crate math_audio_xem_common 

Source
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§

BoundaryConfig
Boundary conditions configuration
DirectivityPattern
Directivity pattern sampled on a grid
FmmConfig
FMM configuration
FrequencyConfig
Frequency configuration
FrequencyResult
Result of room simulation at one frequency
GmresConfig
GMRES solver configuration
IluConfig
ILU preconditioner configuration
LShapedRoom
L-shaped room defined by two rectangular sections
MetadataConfig
Simulation metadata
Point3D
3D point in space
Point3DConfig
3D point configuration
RectangularRoom
Rectangular room defined by dimensions
RoomConfig
Complete room configuration loaded from JSON
RoomMesh
Room mesh for BEM/FEM (surface mesh for BEM, volume mesh for FEM)
RoomSimulation
Room acoustics simulation configuration
SimulationResults
Complete simulation results
SliceData
Pressure field data on a 2D slice
SolverConfig
Solver configuration
Source
Sound source with position and directivity
SourceConfig
Source configuration
SurfaceElement
Surface element (triangular or quadrilateral)
VisualizationConfig
Visualization configuration

Enums§

CrossoverConfig
Crossover filter configuration
CrossoverFilter
Crossover filter for frequency-limited sources
DirectivityConfig
Directivity pattern configuration
RoomGeometry
Room geometry types
RoomGeometryConfig
Room geometry configuration
SurfaceConfig
Surface boundary condition type

Traits§

FieldPressureCalculator
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§

ListeningPosition
Listening position (alias for Point3D)