AortaCFD
New: AI-Driven CFD Pipeline
Turn free-text clinical referrals into literature-grounded CFD simulations automatically. Try the interactive demo →
The Problem
Every year, clinicians assess aortic coarctation severity using invasive catheterisation — a procedure that carries risk, particularly in paediatric patients. Patient-specific computational fluid dynamics (CFD) offers a non-invasive alternative: simulate blood flow from a routine CT scan and compute the same pressure gradients, wall shear stress maps, and flow metrics that catheterisation measures Taylor & Figueroa 2009; Nørgaard 2014.
The physics solvers exist. What holds back adoption is the expertise barrier. Setting up a single patient-specific simulation requires: segmenting the vessel geometry, generating a quality hex-dominant mesh with boundary layers, selecting appropriate numerical schemes, parameterising physiological boundary conditions, running and monitoring the solver, and post-processing hemodynamic quantities. Each step involves dozens of parameters that are rarely documented and difficult to reproduce Du 2025; Morris 2016.
The 2012 ASME CFD Challenge demonstrated this concretely: expert groups given identical aortic geometry produced consistent pressure drops but widely varying secondary flow features — differences traced entirely to undocumented modelling choices Steinman 2013.
What AortaCFD Does
AortaCFD replaces that manual workflow with a single reproducible pipeline. You provide STL geometry and a JSON configuration file; the software handles everything else — case setup, meshing, boundary condition generation, transient CFD solving, and hemodynamic post-processing — in one command.
The Pipeline
Step through every stage, or press Auto-play to watch the full pipeline run. Each stage is a concrete CLI invocation with its own inputs, outputs, and side-effects.
Built on OpenFOAM 12. Open source at github.com/JieWangnk/AortaCFD-app.
What It Controls
The three-tier configuration system means you change one parameter and the pipeline adapts everything downstream.
| Layer | What it sets | Example |
|---|---|---|
| Base defaults | Sensible values for every parameter | Blood density 1060 kg/m³, viscosity 0.004 Pa·s |
| Numerics profile | Scheme selection and solver tolerances | robust (1st order, stable), standard (2nd order), precise (LES-ready) |
| Case overrides | Patient-specific settings | Geometry paths, inlet waveform, heart rate, Windkessel pressures |
The resolved configuration is recorded in merged_config.json — sufficient to reproduce any simulation exactly.
Start Here
Research Directions
AortaCFD provides the reproducible infrastructure for a broader research programme in cardiovascular scientific computing:
- Surrogate modelling. Neural operator and GNN surrogates trained on AortaCFD data for real-time haemodynamic prediction.
- ML-accelerated segmentation. Automated CTA-to-geometry pipelines to reduce the manual segmentation bottleneck.
- Coronary extension. Adaptation for coronary arteries with physiological flow models and 0D-3D multiscale coupling.
- Multifidelity methods. Coarse-mesh CFD combined with learned corrections to scale to large cohorts.
The long-term goal is a platform where image-based cardiovascular modelling is reproducible by default, fast enough for clinical timescales, and transparent enough for regulatory use.
Documentation
Tutorials — First Mesh & Run | Inlet & Outlet Conditions | Synthetic Aorta | Hemodynamics | Real Patient | Advanced (GCI & LES)
Theory — Mesh Generation | Boundary Conditions | Windkessel | Solver & Numerics | Hemodynamics
Reference — Configuration | CLI | Troubleshooting | Boundary Layer Toolkit
Linux (Ubuntu 20.04+) · Python 3.12 · OpenFOAM 12 (Foundation) · ParaView (optional)
Citation
Related repositories: AortaCFD-app · snappy-layer-toolkit · OpenFOAM-WK
References
Full bibliography on the References page.
Found an issue or have a suggestion for this page?
Open a GitHub issue