Fire is an open-source CFD solver specializing in compressible reacting flows, built upon the ECOGEN-v2.0 framework with enhanced combustion modeling capabilities. Key features include:
- 🚀 Advanced AMR strategies for flame and wave front resolution
- 🔥 Integrated Cantera chemistry solver
- 📐 Multi-dimensional simulation support (1D-3D)
- 🧪 Validated against benchmark combustion cases
- Linux OS (Ubuntu 20.04/RedHat tested)
- MPI implementation (OpenMPI recommended)
- Conda package manager
- Cantera 3.0.0b1 with C++ interface
- Install libcantera-devel 3.0.0b1
conda create --name ct --channel cantera/label/dev libcantera-devel==3.0.0b1
- Install MPI (Ubuntu)
sudo apt update && sudo apt install openmpi-bin openmpi-common libopenmpi-dev
- Build Fire Solver
# From any example case directory:
./run.sh [options]
# Available options:
# --debug - Debug build
# -j N - Use N parallel processes
# --no-run - Build only
Note
The conda environment must be namedct
for automatic build detection
Case Name | Description | Dimensions | Reference |
---|---|---|---|
1D_detonation |
Gaseous detonation wave | 1D | Paolucci 2014 |
1D_H2-Air_deflagration |
Gaseous deflagaration wave | 1D | None |
2D_ISBI_Case_[1-5] |
Inert shock-bubble interaction with different grid setups | 2D | Ding 2018 |
2D_RSBI |
Reactive shock-bubble interaction | 2D | Diegelmann 2016 |
2D_Channel_detonation_[1-2] |
Detonation with cellular structures using HLLC or HLLC-LM schemes | 2D | Paolucci 2014 |
3D_Channel_detonation |
Large-scale & challenging detonation simulation | 3D | None |
Case Setup Instructions:
- For each case, the setup files are located in the
input_files/
. - Detailed instructions can be found in manuals of ECOGEN-v2.0.
Avoid spaces in paths
- Ensure all directory paths (including those for
Fire
or case files) contain no spaces.
Valid example:/home/user1/test_case/Fire
Invalid example:/home/user1/test case/Fire
Quick Start:
cd example_cases/1D_detonation
./run.sh
cd example_cases/2D_RSBI
./run.sh
Simulation outputs are stored in results/[Case_Name]/
in the case folder with:
- AMR grid data in
*.vtu
format indatasets/
folder - Time metadata in
infoCalcul.out
- ParaView collection file
collectionParaview.pvd
Recommended visualization workflow:
- Open
collectionParaview.pvd
in ParaView - Use
pMax
field for cellular structure analysis - 1D case results can be plotted using the
plot_1D_*.py
script prepared in the 1D case folders.
Parameter | Location | Values | Description |
---|---|---|---|
riemann_type |
meshV5.xml | 1(HLL), 2(HLLC), 3(HLLC-LM) | Inviscid flux scheme selection |
gradRho_flag |
meshV5.xml | 0/1 | Turn on/off the 3rd AMR strategy |
lvlHydro /lvlChem |
meshV5.xml | Integer | AMR level limits for hydrodynamical and chemical processes |
CanteraInput |
modelV4.xml | Path to YAML | Chemistry configuration |
- The
CanteraInput
inmodelV4.xml
is required even for inert simulations to model the thermodynamic and transport properties. - The
TOTAL_SPECIES_NUMBER
in CMakeLists.txt shall be the same with the species number in the Cantera file. - Transport models require
additionalPhysic type="viscosity"
inmodelV4.xml
- White: ECOGEN base classes
- Red: Fire-specific implementations
- Green: Cantera integrations
Fire-Specific Customizations (Red Highlights):
🔴 Overridden ECOGEN methods for:
- Hydrodynamic processes for the multi-component thermally perfect gas
- Chemical source term integration
- AMR refinement criteria
Acknowledgments
This work builds upon the ECOGEN framework. Please cite both projects when using Fire in academic publications.