Track 01 · Scientific Computing & Solver Architecture
Modernization of a Reactive Compressible Multi-Species Solver
Decomposing legacy Fortran into a modular C++17 architecture with Cantera thermodynamics, WENO-5/TENO shock-capturing, and parallel HDF5 scientific I/O.
Legacy scientific simulation codes often harbor decades of verified numerical and physical modeling, yet their monolithic Fortran implementations hinder unit testing, vectorization, and accelerator offloading. This research investigates the architectural modernization of IZEM—a reactive compressible multi-species flow solver. By decoupling physics (Cantera kinetics & thermodynamics), numerical schemes (WENO-5/TENO shock capturing, SSPRK3 time-marching), memory layout (Struct-of-Arrays), and scientific I/O (parallel HDF5), the redesigned C++17 architecture maintains strict numerical equivalence with legacy reference solutions while establishing a portable foundation for distributed HPC execution on the Toubkal supercomputer.
01 /Decoupled architectural decomposition
4 ISOLATED LAYERSBy decomposing the solver into four cleanly bounded layers, physics evaluation, spatial stencils, memory management, and parallel execution can be developed, unit-tested, and optimized independently.
Physics & Kinetics
Decouples equation of state, species enthalpy, chemical reaction rate evaluation, and transport coefficients into isolated, unit-testable physics components.
- Cantera C++
- NASA-7 Polynomials
- Arrhenius Kinetics
- Transport Properties
Spatial & Temporal Numerics
High-order essentially non-oscillatory shock-capturing stencils and strong-stability-preserving explicit Runge-Kutta time marching for discontinuities.
- WENO-5
- TENO Schemes
- SSPRK3 Time-Stepping
- Flux Splitting
Data & Scientific I/O
Cache-aligned contiguous multi-species memory layouts minimizing cache misses, paired with scalable, self-describing scientific checkpointing.
- Struct-of-Arrays (SoA)
- Halo Exchange Buffers
- Parallel HDF5
- XDMF
Execution & HPC Portability
Hardware-agnostic kernel dispatch for CPU multi-threading and GPU accelerators, orchestrated over distributed-memory cluster nodes.
- Kokkos Kernels
- Domain Decomposition
- MPI
- Toubkal Supercomputer
02 /Modernization & verification pipeline
5-PHASE EXECUTION ROADMAP- 01
Understand & Audit
Legacy Fortran Solver
Analyze the original solver, trace data flow across common blocks, and extract reference test datasets for numerical baselines.
Baseline verified - 02
Decouple & Interface
Architecture Redesign
Separate physics, numerical methods, memory layout, and infrastructure into clear, type-safe C++17 interfaces.
Interfaces defined - 03
Rebuild & Modernize
Modular C++17 / Julia Core
Implement a modular C++17 codebase with Cantera thermodynamics, WENO/TENO reconstruction, and evaluate Julia for rapid numerical prototyping.
Active development - 04
Verify & Validate
Verification & Validation
Preserve numerical correctness through Method of Manufactured Solutions, shock benchmarks, and continuous automated regression against Fortran.
Continuous testing - 05
Scale & Port
HPC Scale & Portability
Deploy portable parallel kernels with Kokkos, MPI domain decomposition, and parallel HDF5 scientific I/O on the Toubkal supercomputer.
HPC target
03 /Verification & validation (V&V) suite
CANONICAL CFD BENCHMARKSZero-loss refactoring requires continuous verification against exact analytical solutions and legacy Fortran outputs across standard compressible flow and reactive shock test cases.
1D Sod & Lax Shock Tubes
Classic Riemann problems resolving rarefaction waves, contact surfaces, and shock discontinuities against analytical solutions.
Shu-Osher Shock-Entropy Wave
Shock wave interacting with sinusoidal density perturbations to evaluate high-order resolution without excessive numerical dissipation.
1D/2D Reactive Detonation (ZND)
Coupled fluid dynamics and stiff Arrhenius chemical kinetics testing numerical stability and stiff ODE integration.
Continuous Regression Suite
Automated CTest regression verifying that modern C++17 outputs match legacy Fortran baselines within strict tolerances.
04 /Architectural priorities & research principles
Architecture with clear boundaries
Separate infrastructure, data, numerical, and physics layers so each can be understood, tested, and optimized independently without cross-layer contamination.
Numerical correctness & continuous V&V
Keep verification and validation central to the modernization process, ensuring shock-capturing fidelity (WENO-5/TENO) and stiff reaction kinetics match verified legacy benchmarks.
A foundation for exascale performance
Structure memory layouts (Struct-of-Arrays), boundary communication buffers, and parallel I/O (HDF5) to prepare for distributed heterogeneous execution on Toubkal HPC.
TECHNOLOGIES & METHODS IN SCOPE
This is active modernization research. Distributed multi-node benchmarks, Kokkos GPU kernels, and scaling datasets on Toubkal HPC are continually updated as test suites complete.