1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
//! Neural Multigrid (Wave-ADR-NS) solver for the Helmholtz equation
//!
//! Deep-learning-enhanced multigrid method targeting heterogeneous Helmholtz
//! equations at high wavenumbers. Decomposes error into characteristic and
//! non-characteristic components:
//!
//! - **Non-characteristic error**: Smoothed by Chebyshev-accelerated iterations
//! - **Characteristic error**: Corrected by an ADR equation from WKB decomposition
//!
//! This implementation uses classical numerical methods (Fast Sweeping for eikonal,
//! analytical Chebyshev parameter estimates) — no ML framework needed. Neural
//! components (FNO, CNN) can be added later behind a feature flag.
//!
//! # Usage
//!
//! ```ignore
//! use math_audio_fem::neural_multigrid::{NeuralMultigridConfig, solve_neural_multigrid};
//!
//! let config = NeuralMultigridConfig::for_wavenumber(k);
//! let solution = solve_neural_multigrid(
//! &mesh, degree, wavenumber, &rhs, &dirichlet_bcs, &config
//! )?;
//! ```
//!
//! # Reference
//!
//! Cui & Jiang (2024), "Neural Multigrid for Heterogeneous Helmholtz Equations",
//! arXiv:2404.02493
pub use NeuralMultigridConfig;
pub use WaveHierarchy;
pub use solve_neural_multigrid;