Reproducibility repository for Coupling-Aware Vanka Smoothing for Multigrid Preconditioning of the Implicit Immersed Boundary Equations
This repository contains the MATLAB code needed to reproduce the numerical results in the accompanying paper by Cole Gruninger and Boyce E. Griffith.
- MATLAB R2025a
The experiments run without compiled extensions. To build the faster CAV
smoother after configuring a supported C++ compiler with mex -setup C++, run:
run('scripts/build_cav_smoother_mex.m')Start MATLAB in the repository root and initialize the path:
setup_project_paths| Result | MATLAB command |
|---|---|
| CAV two-grid spectrum | run('scripts/experiments/verify_cav_twogrid_spectrum.m') |
| Membrane spectra and FGMRES convergence | run('scripts/experiments/run_membrane_spectra_experiment.m') |
| Beam and target-point refinement | run('scripts/experiments/run_forcing_refinement_study.m') |
| ASZ fiber grid refinement | run('scripts/experiments/run_asz_fixed_time_grid_refinement.m') |
| ASZ parameter robustness | run('scripts/experiments/run_asz_parameter_robustness.m') |
Output is written below results/.
To run the validation suite:
run_validation_suiteThe membrane and box-relaxation studies require N >= 16 because the
overlapped B(4,2) patch is not unique on smaller periodic grids.