math-bem 0.3.2

High-performance Boundary Element Method library for acoustic scattering
Documentation
[[bin]]
name = "qa-suite"
path = "bin/qa_suite.rs"
required-features = ["native", "cli", "parallel"]

[[bin]]
name = "roomsim"
path = "bin/room_simulator_bem.rs"
required-features = ["cli", "native", "parallel", "memory-optimized", "out-of-core"]

[dependencies.anyhow]
version = "1.0"

[dependencies.chrono]
version = "0.4"

[dependencies.clap]
features = ["derive"]
optional = true
version = "4.5"

[dependencies.criterion]
optional = true
version = "0.5"

[dependencies.env_logger]
optional = true
version = "0.11"

[dependencies.log]
version = "0.4"

[dependencies.math-solvers]
default-features = false
version = "0.3"

[dependencies.math-wave]
version = "0.3"

[dependencies.math-xem-common]
version = "0.3"

[dependencies.memory-stats]
optional = true
version = "1.2"

[dependencies.ndarray]
default-features = false
features = ["rayon", "serde"]
version = "0.17"

[dependencies.ndarray-linalg]
optional = true
version = "0.18"

[dependencies.num-complex]
features = ["serde"]
version = "0.4"

[dependencies.num_cpus]
optional = true
version = "1.17"

[dependencies.rayon]
version = "1.11"

[dependencies.serde]
features = ["derive"]
version = "1.0"

[dependencies.serde_json]
version = "1.0"

[dependencies.sysinfo]
optional = true
version = "0.37"

[dependencies.thiserror]
version = "2.0.17"

[dependencies.toml]
version = "0.8"

[dependencies.wasm-bindgen]
optional = true
version = "0.2"

[dependencies.wasm-bindgen-rayon]
optional = true
version = "1.2"

[dev-dependencies.criterion]
features = ["html_reports"]
version = "0.5"

[dev-dependencies.directories]
version = "5"

[[example]]
name = "adaptive_beta_sweep"
path = "examples/adaptive_beta_sweep.rs"

[[example]]
name = "analytical_check"
path = "examples/analytical_check.rs"

[[example]]
name = "angular_validation"
path = "examples/angular_validation.rs"

[[example]]
name = "audio_fmm_sweep"
path = "examples/audio_fmm_sweep.rs"

[[example]]
name = "audio_frequency_sweep"
path = "examples/audio_frequency_sweep.rs"

[[example]]
name = "bem_convergence_study"
path = "examples/bem_convergence_study.rs"

[[example]]
name = "bem_diagnostics"
path = "examples/bem_diagnostics.rs"

[[example]]
name = "beta_comparison"
path = "examples/beta_comparison.rs"

[[example]]
name = "bounded_beta_test"
path = "examples/bounded_beta_test.rs"

[[example]]
name = "convergence_test"
path = "examples/convergence_test.rs"

[[example]]
name = "e_integral_debug"
path = "examples/e_integral_debug.rs"

[[example]]
name = "e_nearby_analysis"
path = "examples/e_nearby_analysis.rs"

[[example]]
name = "e_offdiag_sum"
path = "examples/e_offdiag_sum.rs"

[[example]]
name = "fmm_benchmark"
path = "examples/fmm_benchmark.rs"

[[example]]
name = "fmm_ilu_solver"
path = "examples/fmm_ilu_solver.rs"

[[example]]
name = "fmm_test"
path = "examples/fmm_test.rs"

[[example]]
name = "fmm_validation"
path = "examples/fmm_validation.rs"

[[example]]
name = "high_order_quad_test"
path = "examples/high_order_quad_test.rs"

[[example]]
name = "hypersingular_test"
path = "examples/hypersingular_test.rs"

[[example]]
name = "incident_field_check"
path = "examples/incident_field_check.rs"

[[example]]
name = "integration_test"
path = "examples/integration_test.rs"

[[example]]
name = "matrix_debug"
path = "examples/matrix_debug.rs"

[[example]]
name = "mesh_comparison"
path = "examples/mesh_comparison.rs"

[[example]]
name = "mesh_convergence_study"
path = "examples/mesh_convergence_study.rs"

[[example]]
name = "mesh_debug"
path = "examples/mesh_debug.rs"

[[example]]
name = "mesh_refinement_test"
path = "examples/mesh_refinement_test.rs"

[[example]]
name = "mesh_topology_comparison"
path = "examples/mesh_topology_comparison.rs"

[[example]]
name = "neighbor_integration_test"
path = "examples/neighbor_integration_test.rs"

[[example]]
name = "normal_check"
path = "examples/normal_check.rs"

[[example]]
name = "optimal_beta_convergence"
path = "examples/optimal_beta_convergence.rs"

[[example]]
name = "residual_check"
path = "examples/residual_check.rs"

[[example]]
name = "room_simulator_config"
path = "examples/room_simulator_config.rs"

[[example]]
name = "room_simulator_demo"
path = "examples/room_simulator_demo.rs"

[[example]]
name = "row_sum_correction_test"
path = "examples/row_sum_correction_test.rs"

[[example]]
name = "row_sum_debug"
path = "examples/row_sum_debug.rs"

[[example]]
name = "simple_sphere_test"
path = "examples/simple_sphere_test.rs"
required-features = ["native"]

[features]
benchmarks = ["dep:criterion"]
cli = ["native", "dep:clap"]
default = ["native", "cli"]
memory-optimized = []
native = ["ndarray/blas", "ndarray/rayon", "ndarray-linalg", "dep:env_logger", "dep:memory-stats", "dep:sysinfo", "dep:num_cpus"]
out-of-core = []
parallel = []
pure-rust = ["native"]
wasm = ["dep:wasm-bindgen", "dep:wasm-bindgen-rayon"]

[lib]
name = "math_audio_bem"
path = "src/lib.rs"

[package]
authors = ["Pierre F. Aubert pierre@spinorama.org"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = "build.rs"
categories = ["science", "mathematics", "simulation"]
description = "High-performance Boundary Element Method library for acoustic scattering"
edition = "2024"
keywords = ["bem", "boundary-element", "acoustics", "numerical", "hrtf"]
license = "GPL-3.0-or-later"
name = "math-bem"
readme = "README.md"
repository = "https://github.com/pierreaubert/math-audio"
version = "0.3.2"

[target.'cfg(any(target_os = "linux", target_os = "windows"))'.dependencies.ndarray-linalg]
features = ["openblas-system"]
optional = true
version = "0.18"

[target.'cfg(target_os = "macos")'.dependencies.ndarray-linalg]
features = ["openblas-system"]
optional = true
version = "0.18"

[[test]]
name = "test_1d_wave"
path = "tests/test_1d_wave.rs"

[[test]]
name = "test_2d_cylinder"
path = "tests/test_2d_cylinder.rs"

[[test]]
name = "test_3d_sphere"
path = "tests/test_3d_sphere.rs"

[[test]]
name = "test_accuracy_parity"
path = "tests/test_accuracy_parity.rs"

[[test]]
name = "test_bem_sphere_integration"
path = "tests/test_bem_sphere_integration.rs"

[[test]]
name = "test_fmm_validation"
path = "tests/test_fmm_validation.rs"