← Back to research agenda
Current research & engineering

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.

CODEBASE IDENTITYIZEM CFD SOLVERFortran 77/90 → Modern C++17
GOVERNING EQUATIONSReactive Navier-StokesCompressible multi-species flow
NUMERICAL SCHEMESWENO-5 / TENO + SSPRK3High-order shock-capturing
HPC TARGET PLATFORMToubkal SupercomputerMPI + Kokkos + Parallel HDF5
EXECUTIVE RESEARCH ABSTRACTPROBLEM FORMULATION

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.

THE MODERNIZATION PARADOX

Decades of verified numerical fidelity are locked inside monolithic Fortran stencils. Modernization must decouple thermodynamics, numerics, and memory layout without sacrificing floating-point parity.

01 /Decoupled architectural decomposition

4 ISOLATED LAYERS

By 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.

01LAYER 01 · THERMODYNAMICS

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
02LAYER 02 · SHOCK DISCRETIZATION

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
03LAYER 03 · MEMORY & STORAGE

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
04LAYER 04 · PARALLEL RUNTIME

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
  1. 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
  2. 02

    Decouple & Interface

    Architecture Redesign

    Separate physics, numerical methods, memory layout, and infrastructure into clear, type-safe C++17 interfaces.

    Interfaces defined
  3. 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
  4. 04

    Verify & Validate

    Verification & Validation

    Preserve numerical correctness through Method of Manufactured Solutions, shock benchmarks, and continuous automated regression against Fortran.

    Continuous testing
  5. 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 BENCHMARKS

Zero-loss refactoring requires continuous verification against exact analytical solutions and legacy Fortran outputs across standard compressible flow and reactive shock test cases.

TEST 01L1 / L2 Error Norms vs. Exact Solution

1D Sod & Lax Shock Tubes

Classic Riemann problems resolving rarefaction waves, contact surfaces, and shock discontinuities against analytical solutions.

TEST 02WENO-5 vs. TENO Resolution Parity

Shu-Osher Shock-Entropy Wave

Shock wave interacting with sinusoidal density perturbations to evaluate high-order resolution without excessive numerical dissipation.

TEST 03Von Neumann Spike & Detonation Speed

1D/2D Reactive Detonation (ZND)

Coupled fluid dynamics and stiff Arrhenius chemical kinetics testing numerical stability and stiff ODE integration.

TEST 04Bitwise / Tolerance Parity (1e-12)

Continuous Regression Suite

Automated CTest regression verifying that modern C++17 outputs match legacy Fortran baselines within strict tolerances.

TARGET HPC INFRASTRUCTURESUPERCOMPUTING VALIDATION

Toubkal HPC Supercomputer

Distributed multi-node scaling & parallel profiling

SLURM Batch SchedulerOpenMPIKokkosParallel HDF5Perf / Score-P

04 /Architectural priorities & research principles

01 /

Architecture with clear boundaries

Separate infrastructure, data, numerical, and physics layers so each can be understood, tested, and optimized independently without cross-layer contamination.

02 /

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.

03 /

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

  • Fortran
  • C++17
  • Julia
  • MPI
  • OpenMP
  • Kokkos
  • HDF5
  • Cantera
  • SLURM
  • CMake / CTest
  • WENO-5
  • TENO
  • Numerical Methods
  • Verification & Validation
  • Performance Engineering

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.