diff --git a/.github/workflows/CPU_inferencce_validation.yml b/.github/workflows/CPU_inferencce_validation.yml index 1e7449e8..d50cecb4 100644 --- a/.github/workflows/CPU_inferencce_validation.yml +++ b/.github/workflows/CPU_inferencce_validation.yml @@ -26,19 +26,17 @@ jobs: sudo apt-get update export DEBIAN_FRONTEND=noninteractive apt-get -y install openfoam7 - git clone https://github.com/deepmodeling/deepflame-dev.git - cd deepflame-dev wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh - wget https://mirrors.edge.kernel.org/ubuntu/pool/main/libf/libffi/libffi7_3.3-4_amd64.deb bash Miniconda3-latest-Linux-x86_64.sh -b . ~/miniconda3/etc/profile.d/conda.sh conda create -n libcantera python=3.8 conda activate libcantera conda install -c cantera libcantera-devel - conda install pytorch - conda install pybind11 - conda install --channel https://conda.anaconda.org/zhaofeng-shu33 easydict - cd /github/home/miniconda3/envs/libcantera/lib + conda install pytorch pybind11 + conda install --channel https://conda.anaconda.org/zhaofeng-shu33 easydict + git clone https://github.com/deepmodeling/deepflame-dev.git + cd deepflame-dev + - name: build and validation with CPU inference env: @@ -46,16 +44,27 @@ jobs: OMPI_ALLOW_RUN_AS_ROOT_CONFIRM: 1 OMPI_MCA_btl_vader_single_copy_mechanism: none run: - /bin/bash -c "git clone https://github.com/deepcombustion/deepcombustion.git && cp -r deepcombustion/DeePCK/Model/HE04_Hydrogen_ESH2_GMS_sub_20221101/ mechanisms/ && source ~/miniconda3/etc/profile.d/conda.sh && conda activate libcantera && source /opt/openfoam7/etc/bashrc + /bin/bash -c " echo $PWD && ls $PWD + && wget https://github.com/JX278/DeepFlame-flareFGM-table/raw/main/flareFGM_Table_Download.zip + && unzip flareFGM_Table_Download.zip + && ls $PWD + && ls flareFGM_Table_Download + && cp -r flareFGM_Table_Download/SandiaD/flare.tbl examples/dfLowMachFoam/2DSandiaD_flareFGM/ + && git clone https://github.com/deepcombustion/deepcombustion.git + && cp -r deepcombustion/DeePCK/Model/HE04_Hydrogen_ESH2_GMS_sub_20221101/ mechanisms/ && source ~/miniconda3/etc/profile.d/conda.sh && conda activate libcantera && source /opt/openfoam7/etc/bashrc && . configure.sh --use_pytorch && source ./bashrc && . install.sh && cd test && ./Allrun && conda deactivate " - + - name: test run: | cd test cmake -B build cmake --build build cd build - ctest + ctest + + + + diff --git a/.gitignore b/.gitignore index 8b01c19b..eeb717b6 100644 --- a/.gitignore +++ b/.gitignore @@ -69,3 +69,4 @@ libtorch*.zip* __pycache__/ lib/ bin/ +.vscode/ diff --git a/README.md b/README.md index 64a3ddd3..8776bd9f 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,21 @@ -# DeepFlame v1.0.0 +

+ + + + + + + + + + + + + + + +

+ DeepFlame is a deep learning empowered computational fluid dynamics package for single or multiphase, laminar or turbulent, reacting flows at all speeds. It aims to provide an open-source platform to combine the individual strengths of [OpenFOAM](https://openfoam.org), [Cantera](https://cantera.org), and [PyTorch](https://pytorch.org/) libraries for deep learning assisted reacting flow simulations. It also has the scope to leverage the next-generation heterogenous supercomputing and AI acceleration infrastructures such as GPU and FPGA. The deep learning algorithms and models used in the DeepFlame tutorial examples are developed and trained independently by our collaborators team – [DeepCombustion](https://github.com/deepcombustion/deepcombustion). Please refer to their website for detailed information. @@ -7,8 +24,15 @@ The deep learning algorithms and models used in the DeepFlame tutorial examples Detailed guide for installation and tutorials is available on [our documentation website](https://deepflame.deepmodeling.com). ## Features -New in v0.6.0 (2022/11/14): +New features as of 2023/03/01: +- New load balancing algorithm +- Add support for solving chemical source term simultaneously on GPU (DNN) and CPU (CVODE) +- Add FGM model +- Reconstruct dfChemistryModel + +New in v1.0.0 (2022/11/15): - Add support for the parallel computation of DNN using libtorch on multiple GPUs +- Add TCI model New in v0.5.0 (2022/10/15): - Add support for the parallel computation of DNN via single and multiple GPUs diff --git a/docs/source/qs/examples.rst b/docs/source/qs/examples.rst index 886165bb..9028c2c7 100644 --- a/docs/source/qs/examples.rst +++ b/docs/source/qs/examples.rst @@ -78,7 +78,7 @@ If the case is successfully run, the result can be found in ``/postProcessing/pr .. code-block:: bash - gunplot + gnuplot plot "/your/path/to/postProcessing/probes/0/T" You will get a graph: diff --git a/examples/df0DFoam/zeroD_cubicReactor/CH4/pytorchIntegrator/constant/CanteraTorchProperties b/examples/df0DFoam/zeroD_cubicReactor/CH4/pytorchIntegrator/constant/CanteraTorchProperties index d198a8b5..13fc340b 100644 --- a/examples/df0DFoam/zeroD_cubicReactor/CH4/pytorchIntegrator/constant/CanteraTorchProperties +++ b/examples/df0DFoam/zeroD_cubicReactor/CH4/pytorchIntegrator/constant/CanteraTorchProperties @@ -49,6 +49,7 @@ loadbalancing { active true; log false; + algorithm allAverage;//headTail; } diff --git a/examples/df0DFoam/zeroD_cubicReactor/H2/cvodeIntegrator/constant/CanteraTorchProperties b/examples/df0DFoam/zeroD_cubicReactor/H2/cvodeIntegrator/constant/CanteraTorchProperties index c7a63826..03374614 100644 --- a/examples/df0DFoam/zeroD_cubicReactor/H2/cvodeIntegrator/constant/CanteraTorchProperties +++ b/examples/df0DFoam/zeroD_cubicReactor/H2/cvodeIntegrator/constant/CanteraTorchProperties @@ -49,6 +49,7 @@ loadbalancing { active true; log false; + algorithm allAverage;//headTail; } diff --git a/examples/df0DFoam/zeroD_cubicReactor/H2/libtorchIntegrator/constant/CanteraTorchProperties b/examples/df0DFoam/zeroD_cubicReactor/H2/libtorchIntegrator/constant/CanteraTorchProperties index 0fe1354c..604b1e92 100644 --- a/examples/df0DFoam/zeroD_cubicReactor/H2/libtorchIntegrator/constant/CanteraTorchProperties +++ b/examples/df0DFoam/zeroD_cubicReactor/H2/libtorchIntegrator/constant/CanteraTorchProperties @@ -52,6 +52,7 @@ loadbalancing { active true; log false; + algorithm allAverage;//headTail; } diff --git a/examples/df0DFoam/zeroD_cubicReactor/H2/pytorchIntegrator/constant/CanteraTorchProperties b/examples/df0DFoam/zeroD_cubicReactor/H2/pytorchIntegrator/constant/CanteraTorchProperties index dc261039..b7246472 100644 --- a/examples/df0DFoam/zeroD_cubicReactor/H2/pytorchIntegrator/constant/CanteraTorchProperties +++ b/examples/df0DFoam/zeroD_cubicReactor/H2/pytorchIntegrator/constant/CanteraTorchProperties @@ -38,7 +38,7 @@ splittingStrategy off; TorchSettings { - torch off; + torch on; GPU off; log on; torchModel "HE04_Hydrogen_ESH2_GMS_sub_20221101"; @@ -49,6 +49,7 @@ loadbalancing { active true; log false; + algorithm allAverage;//headTail; } diff --git a/examples/dfHighSpeedFoam/oneD_detonationH2/Allrun b/examples/dfHighSpeedFoam/oneD_detonationH2/Allrun index c39982ff..b471fbfe 100755 --- a/examples/dfHighSpeedFoam/oneD_detonationH2/Allrun +++ b/examples/dfHighSpeedFoam/oneD_detonationH2/Allrun @@ -10,4 +10,4 @@ cp -r 0_orig/ 0/ runApplication blockMesh runApplication setFields runApplication decomposePar -runApplication mpirun --oversubscribe -np 8 $application -parallel +runApplication mpirun -np 8 $application -parallel diff --git a/examples/dfHighSpeedFoam/oneD_detonationH2/constant/CanteraTorchProperties b/examples/dfHighSpeedFoam/oneD_detonationH2/constant/CanteraTorchProperties index 8577a66f..e0248ca5 100755 --- a/examples/dfHighSpeedFoam/oneD_detonationH2/constant/CanteraTorchProperties +++ b/examples/dfHighSpeedFoam/oneD_detonationH2/constant/CanteraTorchProperties @@ -44,6 +44,7 @@ loadbalancing { active true; log false; + algorithm allAverage;//headTail; } diff --git a/examples/dfHighSpeedFoam/oneD_reactiveShockTube/constant/CanteraTorchProperties b/examples/dfHighSpeedFoam/oneD_reactiveShockTube/constant/CanteraTorchProperties index 6e761171..6e51dd9b 100755 --- a/examples/dfHighSpeedFoam/oneD_reactiveShockTube/constant/CanteraTorchProperties +++ b/examples/dfHighSpeedFoam/oneD_reactiveShockTube/constant/CanteraTorchProperties @@ -44,6 +44,7 @@ loadbalancing { active true; log false; + algorithm allAverage;//headTail; } diff --git a/examples/dfHighSpeedFoam/twoD_detonationH2/constant/CanteraTorchProperties b/examples/dfHighSpeedFoam/twoD_detonationH2/constant/CanteraTorchProperties index c864d995..e3821dde 100755 --- a/examples/dfHighSpeedFoam/twoD_detonationH2/constant/CanteraTorchProperties +++ b/examples/dfHighSpeedFoam/twoD_detonationH2/constant/CanteraTorchProperties @@ -44,6 +44,7 @@ loadbalancing { active true; log false; + algorithm allAverage;//headTail; } diff --git a/examples/dfLowMachFoam/2DSandiaD_flareFGM/0/G.gz b/examples/dfLowMachFoam/2DSandiaD_flareFGM/0/G.gz new file mode 100644 index 00000000..a075abd5 Binary files /dev/null and b/examples/dfLowMachFoam/2DSandiaD_flareFGM/0/G.gz differ diff --git a/examples/dfLowMachFoam/2DSandiaD_flareFGM/0/He b/examples/dfLowMachFoam/2DSandiaD_flareFGM/0/He new file mode 100644 index 00000000..88f68ca3 --- /dev/null +++ b/examples/dfLowMachFoam/2DSandiaD_flareFGM/0/He @@ -0,0 +1,75 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 4.1 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object c; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 1907; + +boundaryField +{ + wallTube + { + type zeroGradient; + } + + outlet + { + type zeroGradient; + } + + inletPilot + { + type fixedValue; + value uniform -170863.69815950916; + } + + inletAir + { + type fixedValue; + value uniform 35298.7; + } + + wallOutside + { + type zeroGradient; + } + + inletCH4 + { + type fixedValue; + value uniform -714081.00107; + } + + axis + { + type empty; + } + + frontAndBack_pos + { + type wedge; + } + frontAndBack_neg + { + type wedge; + } + + +} + + +// ************************************************************************* // diff --git a/examples/dfLowMachFoam/2DSandiaD_flareFGM/0/N2 b/examples/dfLowMachFoam/2DSandiaD_flareFGM/0/N2 new file mode 100644 index 00000000..c33fac40 --- /dev/null +++ b/examples/dfLowMachFoam/2DSandiaD_flareFGM/0/N2 @@ -0,0 +1,69 @@ +/*--------------------------------*- C++ -*----------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | Website: https://openfoam.org + \\ / A nd | Version: 7 + \\/ M anipulation | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object N2; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 0 0 0 0 0]; + +internalField uniform 0.77; + +boundaryField +{ + inletCH4 + { + type fixedValue; + value uniform 0.6473; + } + + wallOutside + { + type zeroGradient; + } + + wallTube + { + type zeroGradient; + } + + inletPilot + { + type fixedValue; + value uniform 0.7342; + } + + inletAir + { + type fixedValue; + value uniform 0.77; + } + + outlet + { + type zeroGradient; + } + + frontAndBack_pos + { + type wedge; + } + + frontAndBack_neg + { + type wedge; + } +} + + +// ************************************************************************* // diff --git a/examples/dfLowMachFoam/2DSandiaD_flareFGM/0/T b/examples/dfLowMachFoam/2DSandiaD_flareFGM/0/T new file mode 100644 index 00000000..f9067855 --- /dev/null +++ b/examples/dfLowMachFoam/2DSandiaD_flareFGM/0/T @@ -0,0 +1,69 @@ +/*--------------------------------*- C++ -*----------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | Website: https://openfoam.org + \\ / A nd | Version: 7 + \\/ M anipulation | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object T; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 0 1 0 0 0]; + +internalField uniform 300; + +boundaryField +{ + inletCH4 + { + type fixedValue; + value uniform 294; + } + + wallOutside + { + type zeroGradient; + } + + wallTube + { + type zeroGradient; + } + + inletPilot + { + type fixedValue; + value uniform 1880; + } + + inletAir + { + type fixedValue; + value uniform 291; + } + + outlet + { + type zeroGradient; + } + + frontAndBack_pos + { + type wedge; + } + + frontAndBack_neg + { + type wedge; + } +} + + +// ************************************************************************* // diff --git a/examples/dfLowMachFoam/2DSandiaD_flareFGM/0/U.gz b/examples/dfLowMachFoam/2DSandiaD_flareFGM/0/U.gz new file mode 100644 index 00000000..eb990d60 Binary files /dev/null and b/examples/dfLowMachFoam/2DSandiaD_flareFGM/0/U.gz differ diff --git a/examples/dfLowMachFoam/2DSandiaD_flareFGM/0/Ydefault.gz b/examples/dfLowMachFoam/2DSandiaD_flareFGM/0/Ydefault.gz new file mode 100644 index 00000000..1982e123 Binary files /dev/null and b/examples/dfLowMachFoam/2DSandiaD_flareFGM/0/Ydefault.gz differ diff --git a/examples/dfLowMachFoam/2DSandiaD_flareFGM/0/Z b/examples/dfLowMachFoam/2DSandiaD_flareFGM/0/Z new file mode 100644 index 00000000..988ab46b --- /dev/null +++ b/examples/dfLowMachFoam/2DSandiaD_flareFGM/0/Z @@ -0,0 +1,75 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 4.1 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object Z; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 0 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + wallTube + { + type zeroGradient; + } + + outlet + { + type zeroGradient; + } + + inletPilot + { + type fixedValue; + value uniform 0.042944785276073615; + } + + inletAir + { + type fixedValue; + value uniform 0; + } + + wallOutside + { + type zeroGradient; + } + + inletCH4 + { + type fixedValue; + value uniform 0.1561; + } + + axis + { + type empty; + } + + frontAndBack_pos + { + type wedge; + } + frontAndBack_neg + { + type wedge; + } + + +} + + +// ************************************************************************* // diff --git a/examples/dfLowMachFoam/2DSandiaD_flareFGM/0/Zcvar b/examples/dfLowMachFoam/2DSandiaD_flareFGM/0/Zcvar new file mode 100644 index 00000000..1a21da4f --- /dev/null +++ b/examples/dfLowMachFoam/2DSandiaD_flareFGM/0/Zcvar @@ -0,0 +1,74 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 4.1 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object Zcvar; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 0 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + wallTube + { + type zeroGradient; + } + + outlet + { + type zeroGradient; + } + + inletPilot + { + type fixedValue; + value uniform 0; + } + + inletAir + { + type fixedValue; + value uniform 0; + } + + wallOutside + { + type zeroGradient; + } + + inletCH4 + { + type fixedValue; + value uniform 0; + } + + axis + { + type empty; + } + + frontAndBack_pos + { + type wedge; + } + frontAndBack_neg + { + type wedge; + } + +} + + +// ************************************************************************* // diff --git a/examples/dfLowMachFoam/2DSandiaD_flareFGM/0/Zvar b/examples/dfLowMachFoam/2DSandiaD_flareFGM/0/Zvar new file mode 100644 index 00000000..ff0262da --- /dev/null +++ b/examples/dfLowMachFoam/2DSandiaD_flareFGM/0/Zvar @@ -0,0 +1,74 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 4.1 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object Zvar; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 0 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + wallTube + { + type zeroGradient; + } + + outlet + { + type zeroGradient; + } + + inletPilot + { + type fixedValue; + value uniform 0; + } + + inletAir + { + type fixedValue; + value uniform 0; + } + + wallOutside + { + type zeroGradient; + } + + inletCH4 + { + type fixedValue; + value uniform 0; + } + + axis + { + type empty; + } + + frontAndBack_pos + { + type wedge; + } + frontAndBack_neg + { + type wedge; + } + +} + + +// ************************************************************************* // diff --git a/examples/dfLowMachFoam/2DSandiaD_flareFGM/0/alphat.gz b/examples/dfLowMachFoam/2DSandiaD_flareFGM/0/alphat.gz new file mode 100644 index 00000000..363e369b Binary files /dev/null and b/examples/dfLowMachFoam/2DSandiaD_flareFGM/0/alphat.gz differ diff --git a/examples/dfLowMachFoam/2DSandiaD_flareFGM/0/c b/examples/dfLowMachFoam/2DSandiaD_flareFGM/0/c new file mode 100644 index 00000000..2017fc70 --- /dev/null +++ b/examples/dfLowMachFoam/2DSandiaD_flareFGM/0/c @@ -0,0 +1,73 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 4.1 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object c; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 0 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + wallTube + { + type zeroGradient; + } + + outlet + { + type zeroGradient; + } + + inletPilot + { + type fixedValue; + value uniform 1; + } + + inletAir + { + type fixedValue; + value uniform 0; + } + + wallOutside + { + type zeroGradient; + } + + inletCH4 + { + type fixedValue; + value uniform 0; + } + + axis + { + type empty; + } + + frontAndBack_pos + { + type wedge; + } + frontAndBack_neg + { + type wedge; + } +} + + +// ************************************************************************* // diff --git a/examples/dfLowMachFoam/2DSandiaD_flareFGM/0/cvar b/examples/dfLowMachFoam/2DSandiaD_flareFGM/0/cvar new file mode 100644 index 00000000..5c0854aa --- /dev/null +++ b/examples/dfLowMachFoam/2DSandiaD_flareFGM/0/cvar @@ -0,0 +1,75 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 4.1 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "0"; + object cvar; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 0 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + wallTube + { + type zeroGradient; + } + + outlet + { + type zeroGradient; + } + + inletPilot + { + type fixedValue; + value uniform 0; + } + + inletAir + { + type fixedValue; + value uniform 0; + } + + wallOutside + { + type zeroGradient; + } + + inletCH4 + { + type fixedValue; + value uniform 0; + } + + axis + { + type empty; + } + + frontAndBack_pos + { + type wedge; + } + frontAndBack_neg + { + type wedge; + } + + +} + + +// ************************************************************************* // diff --git a/examples/dfLowMachFoam/2DSandiaD_flareFGM/0/epsilon.gz b/examples/dfLowMachFoam/2DSandiaD_flareFGM/0/epsilon.gz new file mode 100644 index 00000000..8f25949f Binary files /dev/null and b/examples/dfLowMachFoam/2DSandiaD_flareFGM/0/epsilon.gz differ diff --git a/examples/dfLowMachFoam/2DSandiaD_flareFGM/0/k.gz b/examples/dfLowMachFoam/2DSandiaD_flareFGM/0/k.gz new file mode 100644 index 00000000..c0778622 Binary files /dev/null and b/examples/dfLowMachFoam/2DSandiaD_flareFGM/0/k.gz differ diff --git a/examples/dfLowMachFoam/2DSandiaD_flareFGM/0/nut.gz b/examples/dfLowMachFoam/2DSandiaD_flareFGM/0/nut.gz new file mode 100644 index 00000000..efdec743 Binary files /dev/null and b/examples/dfLowMachFoam/2DSandiaD_flareFGM/0/nut.gz differ diff --git a/examples/dfLowMachFoam/2DSandiaD_flareFGM/0/p.gz b/examples/dfLowMachFoam/2DSandiaD_flareFGM/0/p.gz new file mode 100644 index 00000000..75cef948 Binary files /dev/null and b/examples/dfLowMachFoam/2DSandiaD_flareFGM/0/p.gz differ diff --git a/examples/dfLowMachFoam/2DSandiaD_flareFGM/Allclean b/examples/dfLowMachFoam/2DSandiaD_flareFGM/Allclean new file mode 100755 index 00000000..2e800e72 --- /dev/null +++ b/examples/dfLowMachFoam/2DSandiaD_flareFGM/Allclean @@ -0,0 +1,10 @@ +#!/bin/sh +cd ${0%/*} || exit 1 # Run from this directory + +# Source tutorial run functions +. $WM_PROJECT_DIR/bin/tools/CleanFunctions + +cleanCase + + +#------------------------------------------------------------------------------ diff --git a/examples/dfLowMachFoam/2DSandiaD_flareFGM/Allrun b/examples/dfLowMachFoam/2DSandiaD_flareFGM/Allrun new file mode 100755 index 00000000..f19aa16b --- /dev/null +++ b/examples/dfLowMachFoam/2DSandiaD_flareFGM/Allrun @@ -0,0 +1,21 @@ +#!/bin/sh +cd ${0%/*} || exit 1 # Run from this directory + +# Source tutorial run functions +. $WM_PROJECT_DIR/bin/tools/RunFunctions + +# Set application name +application=$(getApplication) + + +runApplication blockMesh + +runApplication decomposePar -force + +mpirun --oversubscribe -np 8 dfLowMachFoam -parallel + +./postProcess + + + +#------------------------------------------------------------------------------ diff --git a/examples/dfLowMachFoam/2DSandiaD_flareFGM/ReadMe b/examples/dfLowMachFoam/2DSandiaD_flareFGM/ReadMe new file mode 100644 index 00000000..c79dcdeb --- /dev/null +++ b/examples/dfLowMachFoam/2DSandiaD_flareFGM/ReadMe @@ -0,0 +1 @@ +The FGM table for testing case is avaliable at https://disk.pku.edu.cn:443/link/A87B4F5873160741AFB8C9856916B0BB. diff --git a/examples/dfLowMachFoam/2DSandiaD_flareFGM/constant/CanteraTorchProperties b/examples/dfLowMachFoam/2DSandiaD_flareFGM/constant/CanteraTorchProperties new file mode 100644 index 00000000..817b4304 --- /dev/null +++ b/examples/dfLowMachFoam/2DSandiaD_flareFGM/constant/CanteraTorchProperties @@ -0,0 +1,51 @@ +/*--------------------------------*- C++ -*----------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | Website: https://openfoam.org + \\ / A nd | Version: 7 + \\/ M anipulation | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object CanteraTorchProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +chemistry off; + +CanteraMechanismFile "gri30.yaml"; + +transportModel "Mix"; + +odeCoeffs +{ + "relTol" 1e-6; + "absTol" 1e-10; +} + +inertSpecie "N2"; + +splittingStrategy off; + +TorchSettings +{ + torch off; + GPU off; + log off; + torchModel ""; + coresPerNode 4; +} + +loadbalancing +{ + active true; + log false; + algorithm allAverage;//headTail; +} + + +// ************************************************************************* // diff --git a/examples/dfLowMachFoam/2DSandiaD_flareFGM/constant/combustionProperties b/examples/dfLowMachFoam/2DSandiaD_flareFGM/constant/combustionProperties new file mode 100644 index 00000000..d4066647 --- /dev/null +++ b/examples/dfLowMachFoam/2DSandiaD_flareFGM/constant/combustionProperties @@ -0,0 +1,72 @@ +/*--------------------------------*- C++ -*----------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | Website: https://openfoam.org + \\ / A nd | Version: 7 + \\/ M anipulation | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object combustionProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +combustionModel flareFGM;//PaSR; + +EDCCoeffs +{ + version v2005; +} + +PaSRCoeffs +{ + + mixingScale + { + type geometriMeanScale;//globalScale,kolmogorovScale,geometriMeanScale,dynamicScale + + globalScaleCoeffs + { + Cmix 0.01; + } + + dynamicScaleCoeffs + { + transportChi false; + Cd1 1.1; + Cd2 0.8; + Cp1 0.9; + Cp2 0.72; + } + + } + + + chemistryScale + { + type formationRate;//formationRate,globalConvertion + + globalConvertionCoeffs + { + fuel CH4; + oxidizer O2; + } + + formationRateCoeffs + { + } + + } + +} + +flareFGMCoeffs +{ + speciesName ("CO"); + combustion on; +} +// ************************************************************************* // diff --git a/examples/dfLowMachFoam/2DSandiaD_flareFGM/constant/combustionProperties.org b/examples/dfLowMachFoam/2DSandiaD_flareFGM/constant/combustionProperties.org new file mode 100644 index 00000000..13bf4db6 --- /dev/null +++ b/examples/dfLowMachFoam/2DSandiaD_flareFGM/constant/combustionProperties.org @@ -0,0 +1,30 @@ +/*--------------------------------*- C++ -*----------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | Website: https://openfoam.org + \\ / A nd | Version: 7 + \\/ M anipulation | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object combustionProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +combustionModel EDC; + +EDCCoeffs +{ + version v2005; +} + +PaSRCoeffs +{ + Cmix 0.03; +} + +// ************************************************************************* // diff --git a/examples/dfLowMachFoam/2DSandiaD_flareFGM/constant/g b/examples/dfLowMachFoam/2DSandiaD_flareFGM/constant/g new file mode 100644 index 00000000..11331012 --- /dev/null +++ b/examples/dfLowMachFoam/2DSandiaD_flareFGM/constant/g @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | Website: https://openfoam.org + \\ / A nd | Version: 7 + \\/ M anipulation | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class uniformDimensionedVectorField; + location "constant"; + object g; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -2 0 0 0 0]; +value (0 0 -9.81); + +// ************************************************************************* // diff --git a/examples/dfLowMachFoam/2DSandiaD_flareFGM/constant/thermophysicalProperties b/examples/dfLowMachFoam/2DSandiaD_flareFGM/constant/thermophysicalProperties new file mode 100644 index 00000000..5b0c5908 --- /dev/null +++ b/examples/dfLowMachFoam/2DSandiaD_flareFGM/constant/thermophysicalProperties @@ -0,0 +1,19 @@ +/*--------------------------------*- C++ -*----------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | Website: https://openfoam.org + \\ / A nd | Version: 7 + \\/ M anipulation | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object thermophysicalProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + + +// ************************************************************************* // diff --git a/examples/dfLowMachFoam/2DSandiaD_flareFGM/constant/turbulenceProperties b/examples/dfLowMachFoam/2DSandiaD_flareFGM/constant/turbulenceProperties new file mode 100644 index 00000000..6efd85e8 --- /dev/null +++ b/examples/dfLowMachFoam/2DSandiaD_flareFGM/constant/turbulenceProperties @@ -0,0 +1,28 @@ +/*--------------------------------*- C++ -*----------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | Website: https://openfoam.org + \\ / A nd | Version: 7 + \\/ M anipulation | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object turbulenceProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +simulationType RAS; + +RAS +{ + RASModel kEpsilon; + + turbulence on; + printCoeffs on; +} + +// ************************************************************************* // diff --git a/examples/dfLowMachFoam/2DSandiaD_flareFGM/gri30.yaml b/examples/dfLowMachFoam/2DSandiaD_flareFGM/gri30.yaml new file mode 100644 index 00000000..4552751e --- /dev/null +++ b/examples/dfLowMachFoam/2DSandiaD_flareFGM/gri30.yaml @@ -0,0 +1,1227 @@ +description: |- + GRI-Mech Version 3.0 7/30/99 CHEMKIN-II format + See README30 file at anonymous FTP site unix.sri.com, directory gri; + WorldWideWeb home page http://www.me.berkeley.edu/gri_mech/ or + through http://www.gri.org , under 'Basic Research', + for additional information, contacts, and disclaimer + +generator: ck2yaml +input-files: [grimech30.dat, thermo30.dat, trans.dat] +cantera-version: 2.6.0 +date: Wed, 14 Sep 2022 16:28:12 +0800 + +units: {length: cm, time: s, quantity: mol, activation-energy: cal/mol} + +phases: +- name: gas + thermo: ideal-gas + elements: [O, H, C, N, Ar] + species: [H2, H, O, O2, OH, H2O, HO2, H2O2, C, CH, CH2, CH2(S), CH3, CH4, + CO, CO2, HCO, CH2O, CH2OH, CH3O, CH3OH, C2H, C2H2, C2H3, C2H4, C2H5, + C2H6, HCCO, CH2CO, HCCOH, N2, AR, C3H7, C3H8, CH2CHO, CH3CHO] + kinetics: gas + transport: mixture-averaged + state: {T: 300.0, P: 1 atm} + +species: +- name: H2 + composition: {H: 2} + thermo: + model: NASA7 + temperature-ranges: [200.0, 1000.0, 3500.0] + data: + - [2.34433112, 7.98052075e-03, -1.9478151e-05, 2.01572094e-08, -7.37611761e-12, + -917.935173, 0.683010238] + - [3.3372792, -4.94024731e-05, 4.99456778e-07, -1.79566394e-10, 2.00255376e-14, + -950.158922, -3.20502331] + note: TPIS78 + transport: + model: gas + geometry: linear + well-depth: 38.0 + diameter: 2.92 + polarizability: 0.79 + rotational-relaxation: 280.0 +- name: H + composition: {H: 1} + thermo: + model: NASA7 + temperature-ranges: [200.0, 1000.0, 3500.0] + data: + - [2.5, 7.05332819e-13, -1.99591964e-15, 2.30081632e-18, -9.27732332e-22, + 2.54736599e+04, -0.446682853] + - [2.50000001, -2.30842973e-11, 1.61561948e-14, -4.73515235e-18, 4.98197357e-22, + 2.54736599e+04, -0.446682914] + note: L 7/88 + transport: + model: gas + geometry: atom + well-depth: 145.0 + diameter: 2.05 +- name: O + composition: {O: 1} + thermo: + model: NASA7 + temperature-ranges: [200.0, 1000.0, 3500.0] + data: + - [3.1682671, -3.27931884e-03, 6.64306396e-06, -6.12806624e-09, 2.11265971e-12, + 2.91222592e+04, 2.05193346] + - [2.56942078, -8.59741137e-05, 4.19484589e-08, -1.00177799e-11, 1.22833691e-15, + 2.92175791e+04, 4.78433864] + note: |- + L 1/90 + GRI-Mech Version 3.0 Thermodynamics released 7/30/99 + NASA Polynomial format for CHEMKIN-II + see README file for disclaimer + transport: + model: gas + geometry: atom + well-depth: 80.0 + diameter: 2.75 +- name: O2 + composition: {O: 2} + thermo: + model: NASA7 + temperature-ranges: [200.0, 1000.0, 3500.0] + data: + - [3.78245636, -2.99673416e-03, 9.84730201e-06, -9.68129509e-09, 3.24372837e-12, + -1063.94356, 3.65767573] + - [3.28253784, 1.48308754e-03, -7.57966669e-07, 2.09470555e-10, -2.16717794e-14, + -1088.45772, 5.45323129] + note: TPIS89 + transport: + model: gas + geometry: linear + well-depth: 107.4 + diameter: 3.458 + polarizability: 1.6 + rotational-relaxation: 3.8 +- name: OH + composition: {O: 1, H: 1} + thermo: + model: NASA7 + temperature-ranges: [200.0, 1000.0, 3500.0] + data: + - [3.99201543, -2.40131752e-03, 4.61793841e-06, -3.88113333e-09, 1.3641147e-12, + 3615.08056, -0.103925458] + - [3.09288767, 5.48429716e-04, 1.26505228e-07, -8.79461556e-11, 1.17412376e-14, + 3858.657, 4.4766961] + note: RUS 78 + transport: + model: gas + geometry: linear + well-depth: 80.0 + diameter: 2.75 +- name: H2O + composition: {H: 2, O: 1} + thermo: + model: NASA7 + temperature-ranges: [200.0, 1000.0, 3500.0] + data: + - [4.19864056, -2.0364341e-03, 6.52040211e-06, -5.48797062e-09, 1.77197817e-12, + -3.02937267e+04, -0.849032208] + - [3.03399249, 2.17691804e-03, -1.64072518e-07, -9.7041987e-11, 1.68200992e-14, + -3.00042971e+04, 4.9667701] + note: L 8/89 + transport: + model: gas + geometry: nonlinear + well-depth: 572.4 + diameter: 2.605 + dipole: 1.844 + rotational-relaxation: 4.0 +- name: HO2 + composition: {H: 1, O: 2} + thermo: + model: NASA7 + temperature-ranges: [200.0, 1000.0, 3500.0] + data: + - [4.30179801, -4.74912051e-03, 2.11582891e-05, -2.42763894e-08, 9.29225124e-12, + 294.80804, 3.71666245] + - [4.0172109, 2.23982013e-03, -6.3365815e-07, 1.1424637e-10, -1.07908535e-14, + 111.856713, 3.78510215] + note: L 5/89 + transport: + model: gas + geometry: nonlinear + well-depth: 107.4 + diameter: 3.458 + rotational-relaxation: 1.0 + note: '*' +- name: H2O2 + composition: {H: 2, O: 2} + thermo: + model: NASA7 + temperature-ranges: [200.0, 1000.0, 3500.0] + data: + - [4.27611269, -5.42822417e-04, 1.67335701e-05, -2.15770813e-08, 8.62454363e-12, + -1.77025821e+04, 3.43505074] + - [4.16500285, 4.90831694e-03, -1.90139225e-06, 3.71185986e-10, -2.87908305e-14, + -1.78617877e+04, 2.91615662] + note: L 7/88 + transport: + model: gas + geometry: nonlinear + well-depth: 107.4 + diameter: 3.458 + rotational-relaxation: 3.8 +- name: C + composition: {C: 1} + thermo: + model: NASA7 + temperature-ranges: [200.0, 1000.0, 3500.0] + data: + - [2.55423955, -3.21537724e-04, 7.33792245e-07, -7.32234889e-10, 2.66521446e-13, + 8.54438832e+04, 4.53130848] + - [2.49266888, 4.79889284e-05, -7.2433502e-08, 3.74291029e-11, -4.87277893e-15, + 8.54512953e+04, 4.80150373] + note: L11/88 + transport: + model: gas + geometry: atom + well-depth: 71.4 + diameter: 3.298 + note: '*' +- name: CH + composition: {C: 1, H: 1} + thermo: + model: NASA7 + temperature-ranges: [200.0, 1000.0, 3500.0] + data: + - [3.48981665, 3.23835541e-04, -1.68899065e-06, 3.16217327e-09, -1.40609067e-12, + 7.07972934e+04, 2.08401108] + - [2.87846473, 9.70913681e-04, 1.44445655e-07, -1.30687849e-10, 1.76079383e-14, + 7.10124364e+04, 5.48497999] + note: TPIS79 + transport: + model: gas + geometry: linear + well-depth: 80.0 + diameter: 2.75 +- name: CH2 + composition: {C: 1, H: 2} + thermo: + model: NASA7 + temperature-ranges: [200.0, 1000.0, 3500.0] + data: + - [3.76267867, 9.68872143e-04, 2.79489841e-06, -3.85091153e-09, 1.68741719e-12, + 4.60040401e+04, 1.56253185] + - [2.87410113, 3.65639292e-03, -1.40894597e-06, 2.60179549e-10, -1.87727567e-14, + 4.6263604e+04, 6.17119324] + note: L S/93 + transport: + model: gas + geometry: linear + well-depth: 144.0 + diameter: 3.8 +- name: CH2(S) + composition: {C: 1, H: 2} + thermo: + model: NASA7 + temperature-ranges: [200.0, 1000.0, 3500.0] + data: + - [4.19860411, -2.36661419e-03, 8.2329622e-06, -6.68815981e-09, 1.94314737e-12, + 5.04968163e+04, -0.769118967] + - [2.29203842, 4.65588637e-03, -2.01191947e-06, 4.17906e-10, -3.39716365e-14, + 5.09259997e+04, 8.62650169] + note: L S/93 + transport: + model: gas + geometry: linear + well-depth: 144.0 + diameter: 3.8 +- name: CH3 + composition: {C: 1, H: 3} + thermo: + model: NASA7 + temperature-ranges: [200.0, 1000.0, 3500.0] + data: + - [3.6735904, 2.01095175e-03, 5.73021856e-06, -6.87117425e-09, 2.54385734e-12, + 1.64449988e+04, 1.60456433] + - [2.28571772, 7.23990037e-03, -2.98714348e-06, 5.95684644e-10, -4.67154394e-14, + 1.67755843e+04, 8.48007179] + note: L11/89 + transport: + model: gas + geometry: linear + well-depth: 144.0 + diameter: 3.8 +- name: CH4 + composition: {C: 1, H: 4} + thermo: + model: NASA7 + temperature-ranges: [200.0, 1000.0, 3500.0] + data: + - [5.14987613, -0.0136709788, 4.91800599e-05, -4.84743026e-08, 1.66693956e-11, + -1.02466476e+04, -4.64130376] + - [0.074851495, 0.0133909467, -5.73285809e-06, 1.22292535e-09, -1.0181523e-13, + -9468.34459, 18.437318] + note: L 8/88 + transport: + model: gas + geometry: nonlinear + well-depth: 141.4 + diameter: 3.746 + polarizability: 2.6 + rotational-relaxation: 13.0 +- name: CO + composition: {C: 1, O: 1} + thermo: + model: NASA7 + temperature-ranges: [200.0, 1000.0, 3500.0] + data: + - [3.57953347, -6.1035368e-04, 1.01681433e-06, 9.07005884e-10, -9.04424499e-13, + -1.4344086e+04, 3.50840928] + - [2.71518561, 2.06252743e-03, -9.98825771e-07, 2.30053008e-10, -2.03647716e-14, + -1.41518724e+04, 7.81868772] + note: TPIS79 + transport: + model: gas + geometry: linear + well-depth: 98.1 + diameter: 3.65 + polarizability: 1.95 + rotational-relaxation: 1.8 +- name: CO2 + composition: {C: 1, O: 2} + thermo: + model: NASA7 + temperature-ranges: [200.0, 1000.0, 3500.0] + data: + - [2.35677352, 8.98459677e-03, -7.12356269e-06, 2.45919022e-09, -1.43699548e-13, + -4.83719697e+04, 9.90105222] + - [3.85746029, 4.41437026e-03, -2.21481404e-06, 5.23490188e-10, -4.72084164e-14, + -4.8759166e+04, 2.27163806] + note: L 7/88 + transport: + model: gas + geometry: linear + well-depth: 244.0 + diameter: 3.763 + polarizability: 2.65 + rotational-relaxation: 2.1 +- name: HCO + composition: {H: 1, C: 1, O: 1} + thermo: + model: NASA7 + temperature-ranges: [200.0, 1000.0, 3500.0] + data: + - [4.22118584, -3.24392532e-03, 1.37799446e-05, -1.33144093e-08, 4.33768865e-12, + 3839.56496, 3.39437243] + - [2.77217438, 4.95695526e-03, -2.48445613e-06, 5.89161778e-10, -5.33508711e-14, + 4011.91815, 9.79834492] + note: L12/89 + transport: + model: gas + geometry: nonlinear + well-depth: 498.0 + diameter: 3.59 +- name: CH2O + composition: {H: 2, C: 1, O: 1} + thermo: + model: NASA7 + temperature-ranges: [200.0, 1000.0, 3500.0] + data: + - [4.79372315, -9.90833369e-03, 3.73220008e-05, -3.79285261e-08, 1.31772652e-11, + -1.43089567e+04, 0.6028129] + - [1.76069008, 9.20000082e-03, -4.42258813e-06, 1.00641212e-09, -8.8385564e-14, + -1.39958323e+04, 13.656323] + note: L 8/88 + transport: + model: gas + geometry: nonlinear + well-depth: 498.0 + diameter: 3.59 + rotational-relaxation: 2.0 +- name: CH2OH + composition: {C: 1, H: 3, O: 1} + thermo: + model: NASA7 + temperature-ranges: [200.0, 1000.0, 3500.0] + data: + - [3.86388918, 5.59672304e-03, 5.93271791e-06, -1.04532012e-08, 4.36967278e-12, + -3193.91367, 5.47302243] + - [3.69266569, 8.64576797e-03, -3.7510112e-06, 7.87234636e-10, -6.48554201e-14, + -3242.50627, 5.81043215] + note: GUNL93 + transport: + model: gas + geometry: nonlinear + well-depth: 417.0 + diameter: 3.69 + dipole: 1.7 + rotational-relaxation: 2.0 +- name: CH3O + composition: {C: 1, H: 3, O: 1} + thermo: + model: NASA7 + temperature-ranges: [250.0, 1000.0, 3000.0] + data: + - [2.106204, 7.216595e-03, 5.338472e-06, -7.377636e-09, 2.07561e-12, + 978.6011, 13.152177] + - [3.770799, 7.871497e-03, -2.656384e-06, 3.944431e-10, -2.112616e-14, + 127.83252, 2.929575] + note: '121686' + transport: + model: gas + geometry: nonlinear + well-depth: 417.0 + diameter: 3.69 + dipole: 1.7 + rotational-relaxation: 2.0 +- name: CH3OH + composition: {C: 1, H: 4, O: 1} + thermo: + model: NASA7 + temperature-ranges: [200.0, 1000.0, 3500.0] + data: + - [5.71539582, -0.0152309129, 6.52441155e-05, -7.10806889e-08, 2.61352698e-11, + -2.56427656e+04, -1.50409823] + - [1.78970791, 0.0140938292, -6.36500835e-06, 1.38171085e-09, -1.1706022e-13, + -2.53748747e+04, 14.5023623] + note: L 8/88 + transport: + model: gas + geometry: nonlinear + well-depth: 481.8 + diameter: 3.626 + rotational-relaxation: 1.0 + note: SVE +- name: C2H + composition: {C: 2, H: 1} + thermo: + model: NASA7 + temperature-ranges: [200.0, 1000.0, 3500.0] + data: + - [2.88965733, 0.0134099611, -2.84769501e-05, 2.94791045e-08, -1.09331511e-11, + 6.68393932e+04, 6.22296438] + - [3.16780652, 4.75221902e-03, -1.83787077e-06, 3.04190252e-10, -1.7723277e-14, + 6.7121065e+04, 6.63589475] + note: L 1/91 + transport: + model: gas + geometry: linear + well-depth: 209.0 + diameter: 4.1 + rotational-relaxation: 2.5 +- name: C2H2 + composition: {C: 2, H: 2} + thermo: + model: NASA7 + temperature-ranges: [200.0, 1000.0, 3500.0] + data: + - [0.808681094, 0.0233615629, -3.55171815e-05, 2.80152437e-08, -8.50072974e-12, + 2.64289807e+04, 13.9397051] + - [4.14756964, 5.96166664e-03, -2.37294852e-06, 4.67412171e-10, -3.61235213e-14, + 2.59359992e+04, -1.23028121] + note: L 1/91 + transport: + model: gas + geometry: linear + well-depth: 209.0 + diameter: 4.1 + rotational-relaxation: 2.5 +- name: C2H3 + composition: {C: 2, H: 3} + thermo: + model: NASA7 + temperature-ranges: [200.0, 1000.0, 3500.0] + data: + - [3.21246645, 1.51479162e-03, 2.59209412e-05, -3.57657847e-08, 1.47150873e-11, + 3.48598468e+04, 8.51054025] + - [3.016724, 0.0103302292, -4.68082349e-06, 1.01763288e-09, -8.62607041e-14, + 3.46128739e+04, 7.78732378] + note: L 2/92 + transport: + model: gas + geometry: nonlinear + well-depth: 209.0 + diameter: 4.1 + rotational-relaxation: 1.0 + note: '*' +- name: C2H4 + composition: {C: 2, H: 4} + thermo: + model: NASA7 + temperature-ranges: [200.0, 1000.0, 3500.0] + data: + - [3.95920148, -7.57052247e-03, 5.70990292e-05, -6.91588753e-08, 2.69884373e-11, + 5089.77593, 4.09733096] + - [2.03611116, 0.0146454151, -6.71077915e-06, 1.47222923e-09, -1.25706061e-13, + 4939.88614, 10.3053693] + note: L 1/91 + transport: + model: gas + geometry: nonlinear + well-depth: 280.8 + diameter: 3.971 + rotational-relaxation: 1.5 +- name: C2H5 + composition: {C: 2, H: 5} + thermo: + model: NASA7 + temperature-ranges: [200.0, 1000.0, 3500.0] + data: + - [4.30646568, -4.18658892e-03, 4.97142807e-05, -5.99126606e-08, 2.30509004e-11, + 1.28416265e+04, 4.70720924] + - [1.95465642, 0.0173972722, -7.98206668e-06, 1.75217689e-09, -1.49641576e-13, + 1.285752e+04, 13.4624343] + note: L12/92 + transport: + model: gas + geometry: nonlinear + well-depth: 252.3 + diameter: 4.302 + rotational-relaxation: 1.5 +- name: C2H6 + composition: {C: 2, H: 6} + thermo: + model: NASA7 + temperature-ranges: [200.0, 1000.0, 3500.0] + data: + - [4.29142492, -5.5015427e-03, 5.99438288e-05, -7.08466285e-08, 2.68685771e-11, + -1.15222055e+04, 2.66682316] + - [1.0718815, 0.0216852677, -1.00256067e-05, 2.21412001e-09, -1.9000289e-13, + -1.14263932e+04, 15.1156107] + note: L 8/88 + transport: + model: gas + geometry: nonlinear + well-depth: 252.3 + diameter: 4.302 + rotational-relaxation: 1.5 +- name: HCCO + composition: {H: 1, C: 2, O: 1} + thermo: + model: NASA7 + temperature-ranges: [250.0, 1000.0, 4000.0] + data: + - [2.2517214, 0.017655021, -2.3729101e-05, 1.7275759e-08, -5.0664811e-12, + 2.0059449e+04, 12.490417] + - [5.6282058, 4.0853401e-03, -1.5934547e-06, 2.8626052e-10, -1.9407832e-14, + 1.9327215e+04, -3.9302595] + note: SRIC91 + transport: + model: gas + geometry: nonlinear + well-depth: 150.0 + diameter: 2.5 + rotational-relaxation: 1.0 + note: '*' +- name: CH2CO + composition: {C: 2, H: 2, O: 1} + thermo: + model: NASA7 + temperature-ranges: [200.0, 1000.0, 3500.0] + data: + - [2.1358363, 0.0181188721, -1.73947474e-05, 9.34397568e-09, -2.01457615e-12, + -7042.91804, 12.215648] + - [4.51129732, 9.00359745e-03, -4.16939635e-06, 9.23345882e-10, -7.94838201e-14, + -7551.05311, 0.632247205] + note: L 5/90 + transport: + model: gas + geometry: nonlinear + well-depth: 436.0 + diameter: 3.97 + rotational-relaxation: 2.0 +- name: HCCOH + composition: {C: 2, O: 1, H: 2} + thermo: + model: NASA7 + temperature-ranges: [250.0, 1000.0, 5000.0] + data: + - [1.2423733, 0.031072201, -5.0866864e-05, 4.3137131e-08, -1.4014594e-11, + 8031.6143, 13.874319] + - [5.9238291, 6.79236e-03, -2.5658564e-06, 4.4987841e-10, -2.9940101e-14, + 7264.626, -7.6017742] + note: SRI91 + transport: + model: gas + geometry: nonlinear + well-depth: 436.0 + diameter: 3.97 + rotational-relaxation: 2.0 +- name: N2 + composition: {N: 2} + thermo: + model: NASA7 + temperature-ranges: [250.0, 1000.0, 5000.0] + data: + - [3.298677, 1.4082404e-03, -3.963222e-06, 5.641515e-09, -2.444854e-12, + -1020.8999, 3.950372] + - [2.92664, 1.4879768e-03, -5.68476e-07, 1.0097038e-10, -6.753351e-15, + -922.7977, 5.980528] + note: '121286' + transport: + model: gas + geometry: linear + well-depth: 97.53 + diameter: 3.621 + polarizability: 1.76 + rotational-relaxation: 4.0 +- name: AR + composition: {Ar: 1} + thermo: + model: NASA7 + temperature-ranges: [250.0, 5000.0] + data: + - [2.5, 0.0, 0.0, 0.0, 0.0, -745.375, 4.366] + note: '120186' + transport: + model: gas + geometry: atom + well-depth: 136.5 + diameter: 3.33 +- name: C3H7 + composition: {C: 3, H: 7} + thermo: + model: NASA7 + temperature-ranges: [250.0, 1000.0, 5000.0] + data: + - [1.0515518, 0.02599198, 2.380054e-06, -1.9609569e-08, 9.373247e-12, + 1.0631863e+04, 21.122559] + - [7.7026987, 0.016044203, -5.283322e-06, 7.629859e-10, -3.9392284e-14, + 8298.4336, -15.48018] + note: L 9/84 + transport: + model: gas + geometry: nonlinear + well-depth: 266.8 + diameter: 4.982 + rotational-relaxation: 1.0 +- name: C3H8 + composition: {C: 3, H: 8} + thermo: + model: NASA7 + temperature-ranges: [250.0, 1000.0, 5000.0] + data: + - [0.93355381, 0.026424579, 6.1059727e-06, -2.1977499e-08, 9.5149253e-12, + -1.395852e+04, 19.201691] + - [7.5341368, 0.018872239, -6.2718491e-06, 9.1475649e-10, -4.7838069e-14, + -1.6467516e+04, -17.892349] + note: L 4/85 + transport: + model: gas + geometry: nonlinear + well-depth: 266.8 + diameter: 4.982 + rotational-relaxation: 1.0 +- name: CH2CHO + composition: {O: 1, H: 3, C: 2} + thermo: + model: NASA7 + temperature-ranges: [250.0, 1000.0, 5000.0] + data: + - [3.409062, 0.010738574, 1.891492e-06, -7.158583e-09, 2.867385e-12, + 1521.4766, 9.55829] + - [5.97567, 8.130591e-03, -2.743624e-06, 4.070304e-10, -2.176017e-14, + 490.3218, -5.045251] + note: SAND86 + transport: + model: gas + geometry: nonlinear + well-depth: 436.0 + diameter: 3.97 + rotational-relaxation: 2.0 +- name: CH3CHO + composition: {C: 2, H: 4, O: 1} + thermo: + model: NASA7 + temperature-ranges: [200.0, 1000.0, 6000.0] + data: + - [4.7294595, -3.1932858e-03, 4.7534921e-05, -5.7458611e-08, 2.1931112e-11, + -2.1572878e+04, 4.1030159] + - [5.4041108, 0.011723059, -4.2263137e-06, 6.8372451e-10, -4.0984863e-14, + -2.2593122e+04, -3.4807917] + note: L 8/88 + transport: + model: gas + geometry: nonlinear + well-depth: 436.0 + diameter: 3.97 + rotational-relaxation: 2.0 + +reactions: +- equation: 2 O + M <=> O2 + M # Reaction 1 + type: three-body + rate-constant: {A: 1.2e+17, b: -1.0, Ea: 0.0} + efficiencies: {H2: 2.4, H2O: 15.4, CH4: 2.0, CO: 1.75, CO2: 3.6, C2H6: 3.0, + AR: 0.83} +- equation: O + H + M <=> OH + M # Reaction 2 + type: three-body + rate-constant: {A: 5.0e+17, b: -1.0, Ea: 0.0} + efficiencies: {H2: 2.0, H2O: 6.0, CH4: 2.0, CO: 1.5, CO2: 2.0, C2H6: 3.0, + AR: 0.7} +- equation: O + H2 <=> H + OH # Reaction 3 + rate-constant: {A: 3.87e+04, b: 2.7, Ea: 6260.0} +- equation: O + HO2 <=> OH + O2 # Reaction 4 + rate-constant: {A: 2.0e+13, b: 0.0, Ea: 0.0} +- equation: O + H2O2 <=> OH + HO2 # Reaction 5 + rate-constant: {A: 9.63e+06, b: 2.0, Ea: 4000.0} +- equation: O + CH <=> H + CO # Reaction 6 + rate-constant: {A: 5.7e+13, b: 0.0, Ea: 0.0} +- equation: O + CH2 <=> H + HCO # Reaction 7 + rate-constant: {A: 8.0e+13, b: 0.0, Ea: 0.0} +- equation: O + CH2(S) <=> H2 + CO # Reaction 8 + rate-constant: {A: 1.5e+13, b: 0.0, Ea: 0.0} +- equation: O + CH2(S) <=> H + HCO # Reaction 9 + rate-constant: {A: 1.5e+13, b: 0.0, Ea: 0.0} +- equation: O + CH3 <=> H + CH2O # Reaction 10 + rate-constant: {A: 5.06e+13, b: 0.0, Ea: 0.0} +- equation: O + CH4 <=> OH + CH3 # Reaction 11 + rate-constant: {A: 1.02e+09, b: 1.5, Ea: 8600.0} +- equation: O + CO (+M) <=> CO2 (+M) # Reaction 12 + type: falloff + low-P-rate-constant: {A: 6.02e+14, b: 0.0, Ea: 3000.0} + high-P-rate-constant: {A: 1.8e+10, b: 0.0, Ea: 2385.0} + efficiencies: {H2: 2.0, O2: 6.0, H2O: 6.0, CH4: 2.0, CO: 1.5, CO2: 3.5, + C2H6: 3.0, AR: 0.5} +- equation: O + HCO <=> OH + CO # Reaction 13 + rate-constant: {A: 3.0e+13, b: 0.0, Ea: 0.0} +- equation: O + HCO <=> H + CO2 # Reaction 14 + rate-constant: {A: 3.0e+13, b: 0.0, Ea: 0.0} +- equation: O + CH2O <=> OH + HCO # Reaction 15 + rate-constant: {A: 3.9e+13, b: 0.0, Ea: 3540.0} +- equation: O + CH2OH <=> OH + CH2O # Reaction 16 + rate-constant: {A: 1.0e+13, b: 0.0, Ea: 0.0} +- equation: O + CH3O <=> OH + CH2O # Reaction 17 + rate-constant: {A: 1.0e+13, b: 0.0, Ea: 0.0} +- equation: O + CH3OH <=> OH + CH2OH # Reaction 18 + rate-constant: {A: 3.88e+05, b: 2.5, Ea: 3100.0} +- equation: O + CH3OH <=> OH + CH3O # Reaction 19 + rate-constant: {A: 1.3e+05, b: 2.5, Ea: 5000.0} +- equation: O + C2H <=> CH + CO # Reaction 20 + rate-constant: {A: 5.0e+13, b: 0.0, Ea: 0.0} +- equation: O + C2H2 <=> H + HCCO # Reaction 21 + rate-constant: {A: 1.35e+07, b: 2.0, Ea: 1900.0} +- equation: O + C2H2 <=> OH + C2H # Reaction 22 + rate-constant: {A: 4.6e+19, b: -1.41, Ea: 2.895e+04} +- equation: O + C2H2 <=> CO + CH2 # Reaction 23 + rate-constant: {A: 6.94e+06, b: 2.0, Ea: 1900.0} +- equation: O + C2H3 <=> H + CH2CO # Reaction 24 + rate-constant: {A: 3.0e+13, b: 0.0, Ea: 0.0} +- equation: O + C2H4 <=> CH3 + HCO # Reaction 25 + rate-constant: {A: 1.25e+07, b: 1.83, Ea: 220.0} +- equation: O + C2H5 <=> CH3 + CH2O # Reaction 26 + rate-constant: {A: 2.24e+13, b: 0.0, Ea: 0.0} +- equation: O + C2H6 <=> OH + C2H5 # Reaction 27 + rate-constant: {A: 8.98e+07, b: 1.92, Ea: 5690.0} +- equation: O + HCCO <=> H + 2 CO # Reaction 28 + rate-constant: {A: 1.0e+14, b: 0.0, Ea: 0.0} +- equation: O + CH2CO <=> OH + HCCO # Reaction 29 + rate-constant: {A: 1.0e+13, b: 0.0, Ea: 8000.0} +- equation: O + CH2CO <=> CH2 + CO2 # Reaction 30 + rate-constant: {A: 1.75e+12, b: 0.0, Ea: 1350.0} +- equation: O2 + CO <=> O + CO2 # Reaction 31 + rate-constant: {A: 2.5e+12, b: 0.0, Ea: 4.78e+04} +- equation: O2 + CH2O <=> HO2 + HCO # Reaction 32 + rate-constant: {A: 1.0e+14, b: 0.0, Ea: 4.0e+04} +- equation: H + O2 + M <=> HO2 + M # Reaction 33 + type: three-body + rate-constant: {A: 2.8e+18, b: -0.86, Ea: 0.0} + efficiencies: {O2: 0.0, H2O: 0.0, CO: 0.75, CO2: 1.5, C2H6: 1.5, N2: 0.0, + AR: 0.0} +- equation: H + 2 O2 <=> HO2 + O2 # Reaction 34 + rate-constant: {A: 2.08e+19, b: -1.24, Ea: 0.0} +- equation: H + O2 + H2O <=> HO2 + H2O # Reaction 35 + rate-constant: {A: 1.126e+19, b: -0.76, Ea: 0.0} +- equation: H + O2 + N2 <=> HO2 + N2 # Reaction 36 + rate-constant: {A: 2.6e+19, b: -1.24, Ea: 0.0} +- equation: H + O2 + AR <=> HO2 + AR # Reaction 37 + rate-constant: {A: 7.0e+17, b: -0.8, Ea: 0.0} +- equation: H + O2 <=> O + OH # Reaction 38 + rate-constant: {A: 2.65e+16, b: -0.6707, Ea: 1.7041e+04} +- equation: 2 H + M <=> H2 + M # Reaction 39 + type: three-body + rate-constant: {A: 1.0e+18, b: -1.0, Ea: 0.0} + efficiencies: {H2: 0.0, H2O: 0.0, CH4: 2.0, CO2: 0.0, C2H6: 3.0, AR: 0.63} +- equation: 2 H + H2 <=> 2 H2 # Reaction 40 + rate-constant: {A: 9.0e+16, b: -0.6, Ea: 0.0} +- equation: 2 H + H2O <=> H2 + H2O # Reaction 41 + rate-constant: {A: 6.0e+19, b: -1.25, Ea: 0.0} +- equation: 2 H + CO2 <=> H2 + CO2 # Reaction 42 + rate-constant: {A: 5.5e+20, b: -2.0, Ea: 0.0} +- equation: H + OH + M <=> H2O + M # Reaction 43 + type: three-body + rate-constant: {A: 2.2e+22, b: -2.0, Ea: 0.0} + efficiencies: {H2: 0.73, H2O: 3.65, CH4: 2.0, C2H6: 3.0, AR: 0.38} +- equation: H + HO2 <=> O + H2O # Reaction 44 + rate-constant: {A: 3.97e+12, b: 0.0, Ea: 671.0} +- equation: H + HO2 <=> O2 + H2 # Reaction 45 + rate-constant: {A: 4.48e+13, b: 0.0, Ea: 1068.0} +- equation: H + HO2 <=> 2 OH # Reaction 46 + rate-constant: {A: 8.4e+13, b: 0.0, Ea: 635.0} +- equation: H + H2O2 <=> HO2 + H2 # Reaction 47 + rate-constant: {A: 1.21e+07, b: 2.0, Ea: 5200.0} +- equation: H + H2O2 <=> OH + H2O # Reaction 48 + rate-constant: {A: 1.0e+13, b: 0.0, Ea: 3600.0} +- equation: H + CH <=> C + H2 # Reaction 49 + rate-constant: {A: 1.65e+14, b: 0.0, Ea: 0.0} +- equation: H + CH2 (+M) <=> CH3 (+M) # Reaction 50 + type: falloff + low-P-rate-constant: {A: 1.04e+26, b: -2.76, Ea: 1600.0} + high-P-rate-constant: {A: 6.0e+14, b: 0.0, Ea: 0.0} + Troe: {A: 0.562, T3: 91.0, T1: 5836.0, T2: 8552.0} + efficiencies: {H2: 2.0, H2O: 6.0, CH4: 2.0, CO: 1.5, CO2: 2.0, C2H6: 3.0, + AR: 0.7} +- equation: H + CH2(S) <=> CH + H2 # Reaction 51 + rate-constant: {A: 3.0e+13, b: 0.0, Ea: 0.0} +- equation: H + CH3 (+M) <=> CH4 (+M) # Reaction 52 + type: falloff + low-P-rate-constant: {A: 2.62e+33, b: -4.76, Ea: 2440.0} + high-P-rate-constant: {A: 1.39e+16, b: -0.534, Ea: 536.0} + Troe: {A: 0.783, T3: 74.0, T1: 2941.0, T2: 6964.0} + efficiencies: {H2: 2.0, H2O: 6.0, CH4: 3.0, CO: 1.5, CO2: 2.0, C2H6: 3.0, + AR: 0.7} +- equation: H + CH4 <=> CH3 + H2 # Reaction 53 + rate-constant: {A: 6.6e+08, b: 1.62, Ea: 1.084e+04} +- equation: H + HCO (+M) <=> CH2O (+M) # Reaction 54 + type: falloff + low-P-rate-constant: {A: 2.47e+24, b: -2.57, Ea: 425.0} + high-P-rate-constant: {A: 1.09e+12, b: 0.48, Ea: -260.0} + Troe: {A: 0.7824, T3: 271.0, T1: 2755.0, T2: 6570.0} + efficiencies: {H2: 2.0, H2O: 6.0, CH4: 2.0, CO: 1.5, CO2: 2.0, C2H6: 3.0, + AR: 0.7} +- equation: H + HCO <=> H2 + CO # Reaction 55 + rate-constant: {A: 7.34e+13, b: 0.0, Ea: 0.0} +- equation: H + CH2O (+M) <=> CH2OH (+M) # Reaction 56 + type: falloff + low-P-rate-constant: {A: 1.27e+32, b: -4.82, Ea: 6530.0} + high-P-rate-constant: {A: 5.4e+11, b: 0.454, Ea: 3600.0} + Troe: {A: 0.7187, T3: 103.0, T1: 1291.0, T2: 4160.0} + efficiencies: {H2: 2.0, H2O: 6.0, CH4: 2.0, CO: 1.5, CO2: 2.0, C2H6: 3.0} +- equation: H + CH2O (+M) <=> CH3O (+M) # Reaction 57 + type: falloff + low-P-rate-constant: {A: 2.2e+30, b: -4.8, Ea: 5560.0} + high-P-rate-constant: {A: 5.4e+11, b: 0.454, Ea: 2600.0} + Troe: {A: 0.758, T3: 94.0, T1: 1555.0, T2: 4200.0} + efficiencies: {H2: 2.0, H2O: 6.0, CH4: 2.0, CO: 1.5, CO2: 2.0, C2H6: 3.0} +- equation: H + CH2O <=> HCO + H2 # Reaction 58 + rate-constant: {A: 5.74e+07, b: 1.9, Ea: 2742.0} +- equation: H + CH2OH (+M) <=> CH3OH (+M) # Reaction 59 + type: falloff + low-P-rate-constant: {A: 4.36e+31, b: -4.65, Ea: 5080.0} + high-P-rate-constant: {A: 1.055e+12, b: 0.5, Ea: 86.0} + Troe: {A: 0.6, T3: 100.0, T1: 9.0e+04, T2: 1.0e+04} + efficiencies: {H2: 2.0, H2O: 6.0, CH4: 2.0, CO: 1.5, CO2: 2.0, C2H6: 3.0} +- equation: H + CH2OH <=> H2 + CH2O # Reaction 60 + rate-constant: {A: 2.0e+13, b: 0.0, Ea: 0.0} +- equation: H + CH2OH <=> OH + CH3 # Reaction 61 + rate-constant: {A: 1.65e+11, b: 0.65, Ea: -284.0} +- equation: H + CH2OH <=> CH2(S) + H2O # Reaction 62 + rate-constant: {A: 3.28e+13, b: -0.09, Ea: 610.0} +- equation: H + CH3O (+M) <=> CH3OH (+M) # Reaction 63 + type: falloff + low-P-rate-constant: {A: 4.66e+41, b: -7.44, Ea: 1.408e+04} + high-P-rate-constant: {A: 2.43e+12, b: 0.515, Ea: 50.0} + Troe: {A: 0.7, T3: 100.0, T1: 9.0e+04, T2: 1.0e+04} + efficiencies: {H2: 2.0, H2O: 6.0, CH4: 2.0, CO: 1.5, CO2: 2.0, C2H6: 3.0} +- equation: H + CH3O <=> H + CH2OH # Reaction 64 + rate-constant: {A: 4.15e+07, b: 1.63, Ea: 1924.0} +- equation: H + CH3O <=> H2 + CH2O # Reaction 65 + rate-constant: {A: 2.0e+13, b: 0.0, Ea: 0.0} +- equation: H + CH3O <=> OH + CH3 # Reaction 66 + rate-constant: {A: 1.5e+12, b: 0.5, Ea: -110.0} +- equation: H + CH3O <=> CH2(S) + H2O # Reaction 67 + rate-constant: {A: 2.62e+14, b: -0.23, Ea: 1070.0} +- equation: H + CH3OH <=> CH2OH + H2 # Reaction 68 + rate-constant: {A: 1.7e+07, b: 2.1, Ea: 4870.0} +- equation: H + CH3OH <=> CH3O + H2 # Reaction 69 + rate-constant: {A: 4.2e+06, b: 2.1, Ea: 4870.0} +- equation: H + C2H (+M) <=> C2H2 (+M) # Reaction 70 + type: falloff + low-P-rate-constant: {A: 3.75e+33, b: -4.8, Ea: 1900.0} + high-P-rate-constant: {A: 1.0e+17, b: -1.0, Ea: 0.0} + Troe: {A: 0.6464, T3: 132.0, T1: 1315.0, T2: 5566.0} + efficiencies: {H2: 2.0, H2O: 6.0, CH4: 2.0, CO: 1.5, CO2: 2.0, C2H6: 3.0, + AR: 0.7} +- equation: H + C2H2 (+M) <=> C2H3 (+M) # Reaction 71 + type: falloff + low-P-rate-constant: {A: 3.8e+40, b: -7.27, Ea: 7220.0} + high-P-rate-constant: {A: 5.6e+12, b: 0.0, Ea: 2400.0} + Troe: {A: 0.7507, T3: 98.5, T1: 1302.0, T2: 4167.0} + efficiencies: {H2: 2.0, H2O: 6.0, CH4: 2.0, CO: 1.5, CO2: 2.0, C2H6: 3.0, + AR: 0.7} +- equation: H + C2H3 (+M) <=> C2H4 (+M) # Reaction 72 + type: falloff + low-P-rate-constant: {A: 1.4e+30, b: -3.86, Ea: 3320.0} + high-P-rate-constant: {A: 6.08e+12, b: 0.27, Ea: 280.0} + Troe: {A: 0.782, T3: 207.5, T1: 2663.0, T2: 6095.0} + efficiencies: {H2: 2.0, H2O: 6.0, CH4: 2.0, CO: 1.5, CO2: 2.0, C2H6: 3.0, + AR: 0.7} +- equation: H + C2H3 <=> H2 + C2H2 # Reaction 73 + rate-constant: {A: 3.0e+13, b: 0.0, Ea: 0.0} +- equation: H + C2H4 (+M) <=> C2H5 (+M) # Reaction 74 + type: falloff + low-P-rate-constant: {A: 6.0e+41, b: -7.62, Ea: 6970.0} + high-P-rate-constant: {A: 5.4e+11, b: 0.454, Ea: 1820.0} + Troe: {A: 0.9753, T3: 210.0, T1: 984.0, T2: 4374.0} + efficiencies: {H2: 2.0, H2O: 6.0, CH4: 2.0, CO: 1.5, CO2: 2.0, C2H6: 3.0, + AR: 0.7} +- equation: H + C2H4 <=> C2H3 + H2 # Reaction 75 + rate-constant: {A: 1.325e+06, b: 2.53, Ea: 1.224e+04} +- equation: H + C2H5 (+M) <=> C2H6 (+M) # Reaction 76 + type: falloff + low-P-rate-constant: {A: 1.99e+41, b: -7.08, Ea: 6685.0} + high-P-rate-constant: {A: 5.21e+17, b: -0.99, Ea: 1580.0} + Troe: {A: 0.8422, T3: 125.0, T1: 2219.0, T2: 6882.0} + efficiencies: {H2: 2.0, H2O: 6.0, CH4: 2.0, CO: 1.5, CO2: 2.0, C2H6: 3.0, + AR: 0.7} +- equation: H + C2H5 <=> H2 + C2H4 # Reaction 77 + rate-constant: {A: 2.0e+12, b: 0.0, Ea: 0.0} +- equation: H + C2H6 <=> C2H5 + H2 # Reaction 78 + rate-constant: {A: 1.15e+08, b: 1.9, Ea: 7530.0} +- equation: H + HCCO <=> CH2(S) + CO # Reaction 79 + rate-constant: {A: 1.0e+14, b: 0.0, Ea: 0.0} +- equation: H + CH2CO <=> HCCO + H2 # Reaction 80 + rate-constant: {A: 5.0e+13, b: 0.0, Ea: 8000.0} +- equation: H + CH2CO <=> CH3 + CO # Reaction 81 + rate-constant: {A: 1.13e+13, b: 0.0, Ea: 3428.0} +- equation: H + HCCOH <=> H + CH2CO # Reaction 82 + rate-constant: {A: 1.0e+13, b: 0.0, Ea: 0.0} +- equation: H2 + CO (+M) <=> CH2O (+M) # Reaction 83 + type: falloff + low-P-rate-constant: {A: 5.07e+27, b: -3.42, Ea: 8.435e+04} + high-P-rate-constant: {A: 4.3e+07, b: 1.5, Ea: 7.96e+04} + Troe: {A: 0.932, T3: 197.0, T1: 1540.0, T2: 1.03e+04} + efficiencies: {H2: 2.0, H2O: 6.0, CH4: 2.0, CO: 1.5, CO2: 2.0, C2H6: 3.0, + AR: 0.7} +- equation: OH + H2 <=> H + H2O # Reaction 84 + rate-constant: {A: 2.16e+08, b: 1.51, Ea: 3430.0} +- equation: 2 OH (+M) <=> H2O2 (+M) # Reaction 85 + type: falloff + low-P-rate-constant: {A: 2.3e+18, b: -0.9, Ea: -1700.0} + high-P-rate-constant: {A: 7.4e+13, b: -0.37, Ea: 0.0} + Troe: {A: 0.7346, T3: 94.0, T1: 1756.0, T2: 5182.0} + efficiencies: {H2: 2.0, H2O: 6.0, CH4: 2.0, CO: 1.5, CO2: 2.0, C2H6: 3.0, + AR: 0.7} +- equation: 2 OH <=> O + H2O # Reaction 86 + rate-constant: {A: 3.57e+04, b: 2.4, Ea: -2110.0} +- equation: OH + HO2 <=> O2 + H2O # Reaction 87 + duplicate: true + rate-constant: {A: 1.45e+13, b: 0.0, Ea: -500.0} +- equation: OH + H2O2 <=> HO2 + H2O # Reaction 88 + duplicate: true + rate-constant: {A: 2.0e+12, b: 0.0, Ea: 427.0} +- equation: OH + H2O2 <=> HO2 + H2O # Reaction 89 + duplicate: true + rate-constant: {A: 1.7e+18, b: 0.0, Ea: 2.941e+04} +- equation: OH + C <=> H + CO # Reaction 90 + rate-constant: {A: 5.0e+13, b: 0.0, Ea: 0.0} +- equation: OH + CH <=> H + HCO # Reaction 91 + rate-constant: {A: 3.0e+13, b: 0.0, Ea: 0.0} +- equation: OH + CH2 <=> H + CH2O # Reaction 92 + rate-constant: {A: 2.0e+13, b: 0.0, Ea: 0.0} +- equation: OH + CH2 <=> CH + H2O # Reaction 93 + rate-constant: {A: 1.13e+07, b: 2.0, Ea: 3000.0} +- equation: OH + CH2(S) <=> H + CH2O # Reaction 94 + rate-constant: {A: 3.0e+13, b: 0.0, Ea: 0.0} +- equation: OH + CH3 (+M) <=> CH3OH (+M) # Reaction 95 + type: falloff + low-P-rate-constant: {A: 4.0e+36, b: -5.92, Ea: 3140.0} + high-P-rate-constant: {A: 2.79e+18, b: -1.43, Ea: 1330.0} + Troe: {A: 0.412, T3: 195.0, T1: 5900.0, T2: 6394.0} + efficiencies: {H2: 2.0, H2O: 6.0, CH4: 2.0, CO: 1.5, CO2: 2.0, C2H6: 3.0} +- equation: OH + CH3 <=> CH2 + H2O # Reaction 96 + rate-constant: {A: 5.6e+07, b: 1.6, Ea: 5420.0} +- equation: OH + CH3 <=> CH2(S) + H2O # Reaction 97 + rate-constant: {A: 6.44e+17, b: -1.34, Ea: 1417.0} +- equation: OH + CH4 <=> CH3 + H2O # Reaction 98 + rate-constant: {A: 1.0e+08, b: 1.6, Ea: 3120.0} +- equation: OH + CO <=> H + CO2 # Reaction 99 + rate-constant: {A: 4.76e+07, b: 1.228, Ea: 70.0} +- equation: OH + HCO <=> H2O + CO # Reaction 100 + rate-constant: {A: 5.0e+13, b: 0.0, Ea: 0.0} +- equation: OH + CH2O <=> HCO + H2O # Reaction 101 + rate-constant: {A: 3.43e+09, b: 1.18, Ea: -447.0} +- equation: OH + CH2OH <=> H2O + CH2O # Reaction 102 + rate-constant: {A: 5.0e+12, b: 0.0, Ea: 0.0} +- equation: OH + CH3O <=> H2O + CH2O # Reaction 103 + rate-constant: {A: 5.0e+12, b: 0.0, Ea: 0.0} +- equation: OH + CH3OH <=> CH2OH + H2O # Reaction 104 + rate-constant: {A: 1.44e+06, b: 2.0, Ea: -840.0} +- equation: OH + CH3OH <=> CH3O + H2O # Reaction 105 + rate-constant: {A: 6.3e+06, b: 2.0, Ea: 1500.0} +- equation: OH + C2H <=> H + HCCO # Reaction 106 + rate-constant: {A: 2.0e+13, b: 0.0, Ea: 0.0} +- equation: OH + C2H2 <=> H + CH2CO # Reaction 107 + rate-constant: {A: 2.18e-04, b: 4.5, Ea: -1000.0} +- equation: OH + C2H2 <=> H + HCCOH # Reaction 108 + rate-constant: {A: 5.04e+05, b: 2.3, Ea: 1.35e+04} +- equation: OH + C2H2 <=> C2H + H2O # Reaction 109 + rate-constant: {A: 3.37e+07, b: 2.0, Ea: 1.4e+04} +- equation: OH + C2H2 <=> CH3 + CO # Reaction 110 + rate-constant: {A: 4.83e-04, b: 4.0, Ea: -2000.0} +- equation: OH + C2H3 <=> H2O + C2H2 # Reaction 111 + rate-constant: {A: 5.0e+12, b: 0.0, Ea: 0.0} +- equation: OH + C2H4 <=> C2H3 + H2O # Reaction 112 + rate-constant: {A: 3.6e+06, b: 2.0, Ea: 2500.0} +- equation: OH + C2H6 <=> C2H5 + H2O # Reaction 113 + rate-constant: {A: 3.54e+06, b: 2.12, Ea: 870.0} +- equation: OH + CH2CO <=> HCCO + H2O # Reaction 114 + rate-constant: {A: 7.5e+12, b: 0.0, Ea: 2000.0} +- equation: 2 HO2 <=> O2 + H2O2 # Reaction 115 + duplicate: true + rate-constant: {A: 1.3e+11, b: 0.0, Ea: -1630.0} +- equation: 2 HO2 <=> O2 + H2O2 # Reaction 116 + duplicate: true + rate-constant: {A: 4.2e+14, b: 0.0, Ea: 1.2e+04} +- equation: HO2 + CH2 <=> OH + CH2O # Reaction 117 + rate-constant: {A: 2.0e+13, b: 0.0, Ea: 0.0} +- equation: HO2 + CH3 <=> O2 + CH4 # Reaction 118 + rate-constant: {A: 1.0e+12, b: 0.0, Ea: 0.0} +- equation: HO2 + CH3 <=> OH + CH3O # Reaction 119 + rate-constant: {A: 3.78e+13, b: 0.0, Ea: 0.0} +- equation: HO2 + CO <=> OH + CO2 # Reaction 120 + rate-constant: {A: 1.5e+14, b: 0.0, Ea: 2.36e+04} +- equation: HO2 + CH2O <=> HCO + H2O2 # Reaction 121 + rate-constant: {A: 5.6e+06, b: 2.0, Ea: 1.2e+04} +- equation: C + O2 <=> O + CO # Reaction 122 + rate-constant: {A: 5.8e+13, b: 0.0, Ea: 576.0} +- equation: C + CH2 <=> H + C2H # Reaction 123 + rate-constant: {A: 5.0e+13, b: 0.0, Ea: 0.0} +- equation: C + CH3 <=> H + C2H2 # Reaction 124 + rate-constant: {A: 5.0e+13, b: 0.0, Ea: 0.0} +- equation: CH + O2 <=> O + HCO # Reaction 125 + rate-constant: {A: 6.71e+13, b: 0.0, Ea: 0.0} +- equation: CH + H2 <=> H + CH2 # Reaction 126 + rate-constant: {A: 1.08e+14, b: 0.0, Ea: 3110.0} +- equation: CH + H2O <=> H + CH2O # Reaction 127 + rate-constant: {A: 5.71e+12, b: 0.0, Ea: -755.0} +- equation: CH + CH2 <=> H + C2H2 # Reaction 128 + rate-constant: {A: 4.0e+13, b: 0.0, Ea: 0.0} +- equation: CH + CH3 <=> H + C2H3 # Reaction 129 + rate-constant: {A: 3.0e+13, b: 0.0, Ea: 0.0} +- equation: CH + CH4 <=> H + C2H4 # Reaction 130 + rate-constant: {A: 6.0e+13, b: 0.0, Ea: 0.0} +- equation: CH + CO (+M) <=> HCCO (+M) # Reaction 131 + type: falloff + low-P-rate-constant: {A: 2.69e+28, b: -3.74, Ea: 1936.0} + high-P-rate-constant: {A: 5.0e+13, b: 0.0, Ea: 0.0} + Troe: {A: 0.5757, T3: 237.0, T1: 1652.0, T2: 5069.0} + efficiencies: {H2: 2.0, H2O: 6.0, CH4: 2.0, CO: 1.5, CO2: 2.0, C2H6: 3.0, + AR: 0.7} +- equation: CH + CO2 <=> HCO + CO # Reaction 132 + rate-constant: {A: 1.9e+14, b: 0.0, Ea: 1.5792e+04} +- equation: CH + CH2O <=> H + CH2CO # Reaction 133 + rate-constant: {A: 9.46e+13, b: 0.0, Ea: -515.0} +- equation: CH + HCCO <=> CO + C2H2 # Reaction 134 + rate-constant: {A: 5.0e+13, b: 0.0, Ea: 0.0} +- equation: CH2 + O2 => OH + H + CO # Reaction 135 + rate-constant: {A: 5.0e+12, b: 0.0, Ea: 1500.0} +- equation: CH2 + H2 <=> H + CH3 # Reaction 136 + rate-constant: {A: 5.0e+05, b: 2.0, Ea: 7230.0} +- equation: 2 CH2 <=> H2 + C2H2 # Reaction 137 + rate-constant: {A: 1.6e+15, b: 0.0, Ea: 1.1944e+04} +- equation: CH2 + CH3 <=> H + C2H4 # Reaction 138 + rate-constant: {A: 4.0e+13, b: 0.0, Ea: 0.0} +- equation: CH2 + CH4 <=> 2 CH3 # Reaction 139 + rate-constant: {A: 2.46e+06, b: 2.0, Ea: 8270.0} +- equation: CH2 + CO (+M) <=> CH2CO (+M) # Reaction 140 + type: falloff + low-P-rate-constant: {A: 2.69e+33, b: -5.11, Ea: 7095.0} + high-P-rate-constant: {A: 8.1e+11, b: 0.5, Ea: 4510.0} + Troe: {A: 0.5907, T3: 275.0, T1: 1226.0, T2: 5185.0} + efficiencies: {H2: 2.0, H2O: 6.0, CH4: 2.0, CO: 1.5, CO2: 2.0, C2H6: 3.0, + AR: 0.7} +- equation: CH2 + HCCO <=> C2H3 + CO # Reaction 141 + rate-constant: {A: 3.0e+13, b: 0.0, Ea: 0.0} +- equation: CH2(S) + N2 <=> CH2 + N2 # Reaction 142 + rate-constant: {A: 1.5e+13, b: 0.0, Ea: 600.0} +- equation: CH2(S) + AR <=> CH2 + AR # Reaction 143 + rate-constant: {A: 9.0e+12, b: 0.0, Ea: 600.0} +- equation: CH2(S) + O2 <=> H + OH + CO # Reaction 144 + rate-constant: {A: 2.8e+13, b: 0.0, Ea: 0.0} +- equation: CH2(S) + O2 <=> CO + H2O # Reaction 145 + rate-constant: {A: 1.2e+13, b: 0.0, Ea: 0.0} +- equation: CH2(S) + H2 <=> CH3 + H # Reaction 146 + rate-constant: {A: 7.0e+13, b: 0.0, Ea: 0.0} +- equation: CH2(S) + H2O (+M) <=> CH3OH (+M) # Reaction 147 + type: falloff + low-P-rate-constant: {A: 1.88e+38, b: -6.36, Ea: 5040.0} + high-P-rate-constant: {A: 4.82e+17, b: -1.16, Ea: 1145.0} + Troe: {A: 0.6027, T3: 208.0, T1: 3922.0, T2: 1.018e+04} + efficiencies: {H2: 2.0, H2O: 6.0, CH4: 2.0, CO: 1.5, CO2: 2.0, C2H6: 3.0} +- equation: CH2(S) + H2O <=> CH2 + H2O # Reaction 148 + rate-constant: {A: 3.0e+13, b: 0.0, Ea: 0.0} +- equation: CH2(S) + CH3 <=> H + C2H4 # Reaction 149 + rate-constant: {A: 1.2e+13, b: 0.0, Ea: -570.0} +- equation: CH2(S) + CH4 <=> 2 CH3 # Reaction 150 + rate-constant: {A: 1.6e+13, b: 0.0, Ea: -570.0} +- equation: CH2(S) + CO <=> CH2 + CO # Reaction 151 + rate-constant: {A: 9.0e+12, b: 0.0, Ea: 0.0} +- equation: CH2(S) + CO2 <=> CH2 + CO2 # Reaction 152 + rate-constant: {A: 7.0e+12, b: 0.0, Ea: 0.0} +- equation: CH2(S) + CO2 <=> CO + CH2O # Reaction 153 + rate-constant: {A: 1.4e+13, b: 0.0, Ea: 0.0} +- equation: CH2(S) + C2H6 <=> CH3 + C2H5 # Reaction 154 + rate-constant: {A: 4.0e+13, b: 0.0, Ea: -550.0} +- equation: CH3 + O2 <=> O + CH3O # Reaction 155 + rate-constant: {A: 3.56e+13, b: 0.0, Ea: 3.048e+04} +- equation: CH3 + O2 <=> OH + CH2O # Reaction 156 + rate-constant: {A: 2.31e+12, b: 0.0, Ea: 2.0315e+04} +- equation: CH3 + H2O2 <=> HO2 + CH4 # Reaction 157 + rate-constant: {A: 2.45e+04, b: 2.47, Ea: 5180.0} +- equation: 2 CH3 (+M) <=> C2H6 (+M) # Reaction 158 + type: falloff + low-P-rate-constant: {A: 3.4e+41, b: -7.03, Ea: 2762.0} + high-P-rate-constant: {A: 6.77e+16, b: -1.18, Ea: 654.0} + Troe: {A: 0.619, T3: 73.2, T1: 1180.0, T2: 9999.0} + efficiencies: {H2: 2.0, H2O: 6.0, CH4: 2.0, CO: 1.5, CO2: 2.0, C2H6: 3.0, + AR: 0.7} +- equation: 2 CH3 <=> H + C2H5 # Reaction 159 + rate-constant: {A: 6.84e+12, b: 0.1, Ea: 1.06e+04} +- equation: CH3 + HCO <=> CH4 + CO # Reaction 160 + rate-constant: {A: 2.648e+13, b: 0.0, Ea: 0.0} +- equation: CH3 + CH2O <=> HCO + CH4 # Reaction 161 + rate-constant: {A: 3320.0, b: 2.81, Ea: 5860.0} +- equation: CH3 + CH3OH <=> CH2OH + CH4 # Reaction 162 + rate-constant: {A: 3.0e+07, b: 1.5, Ea: 9940.0} +- equation: CH3 + CH3OH <=> CH3O + CH4 # Reaction 163 + rate-constant: {A: 1.0e+07, b: 1.5, Ea: 9940.0} +- equation: CH3 + C2H4 <=> C2H3 + CH4 # Reaction 164 + rate-constant: {A: 2.27e+05, b: 2.0, Ea: 9200.0} +- equation: CH3 + C2H6 <=> C2H5 + CH4 # Reaction 165 + rate-constant: {A: 6.14e+06, b: 1.74, Ea: 1.045e+04} +- equation: HCO + H2O <=> H + CO + H2O # Reaction 166 + rate-constant: {A: 1.5e+18, b: -1.0, Ea: 1.7e+04} +- equation: HCO + M <=> H + CO + M # Reaction 167 + type: three-body + rate-constant: {A: 1.87e+17, b: -1.0, Ea: 1.7e+04} + efficiencies: {H2: 2.0, H2O: 0.0, CH4: 2.0, CO: 1.5, CO2: 2.0, C2H6: 3.0} +- equation: HCO + O2 <=> HO2 + CO # Reaction 168 + rate-constant: {A: 1.345e+13, b: 0.0, Ea: 400.0} +- equation: CH2OH + O2 <=> HO2 + CH2O # Reaction 169 + rate-constant: {A: 1.8e+13, b: 0.0, Ea: 900.0} +- equation: CH3O + O2 <=> HO2 + CH2O # Reaction 170 + rate-constant: {A: 4.28e-13, b: 7.6, Ea: -3530.0} +- equation: C2H + O2 <=> HCO + CO # Reaction 171 + rate-constant: {A: 1.0e+13, b: 0.0, Ea: -755.0} +- equation: C2H + H2 <=> H + C2H2 # Reaction 172 + rate-constant: {A: 5.68e+10, b: 0.9, Ea: 1993.0} +- equation: C2H3 + O2 <=> HCO + CH2O # Reaction 173 + rate-constant: {A: 4.58e+16, b: -1.39, Ea: 1015.0} +- equation: C2H4 (+M) <=> H2 + C2H2 (+M) # Reaction 174 + type: falloff + low-P-rate-constant: {A: 1.58e+51, b: -9.3, Ea: 9.78e+04} + high-P-rate-constant: {A: 8.0e+12, b: 0.44, Ea: 8.677e+04} + Troe: {A: 0.7345, T3: 180.0, T1: 1035.0, T2: 5417.0} + efficiencies: {H2: 2.0, H2O: 6.0, CH4: 2.0, CO: 1.5, CO2: 2.0, C2H6: 3.0, + AR: 0.7} +- equation: C2H5 + O2 <=> HO2 + C2H4 # Reaction 175 + rate-constant: {A: 8.4e+11, b: 0.0, Ea: 3875.0} +- equation: HCCO + O2 <=> OH + 2 CO # Reaction 176 + rate-constant: {A: 3.2e+12, b: 0.0, Ea: 854.0} +- equation: 2 HCCO <=> 2 CO + C2H2 # Reaction 177 + rate-constant: {A: 1.0e+13, b: 0.0, Ea: 0.0} +- equation: O + CH3 => H + H2 + CO # Reaction 178 + rate-constant: {A: 3.37e+13, b: 0.0, Ea: 0.0} +- equation: O + C2H4 <=> H + CH2CHO # Reaction 179 + rate-constant: {A: 6.7e+06, b: 1.83, Ea: 220.0} +- equation: O + C2H5 <=> H + CH3CHO # Reaction 180 + rate-constant: {A: 1.096e+14, b: 0.0, Ea: 0.0} +- equation: OH + HO2 <=> O2 + H2O # Reaction 181 + duplicate: true + rate-constant: {A: 5.0e+15, b: 0.0, Ea: 1.733e+04} +- equation: OH + CH3 => H2 + CH2O # Reaction 182 + rate-constant: {A: 8.0e+09, b: 0.5, Ea: -1755.0} +- equation: CH + H2 (+M) <=> CH3 (+M) # Reaction 183 + type: falloff + low-P-rate-constant: {A: 4.82e+25, b: -2.8, Ea: 590.0} + high-P-rate-constant: {A: 1.97e+12, b: 0.43, Ea: -370.0} + Troe: {A: 0.578, T3: 122.0, T1: 2535.0, T2: 9365.0} + efficiencies: {H2: 2.0, H2O: 6.0, CH4: 2.0, CO: 1.5, CO2: 2.0, C2H6: 3.0, + AR: 0.7} +- equation: CH2 + O2 => 2 H + CO2 # Reaction 184 + rate-constant: {A: 5.8e+12, b: 0.0, Ea: 1500.0} +- equation: CH2 + O2 <=> O + CH2O # Reaction 185 + rate-constant: {A: 2.4e+12, b: 0.0, Ea: 1500.0} +- equation: CH2 + CH2 => 2 H + C2H2 # Reaction 186 + rate-constant: {A: 2.0e+14, b: 0.0, Ea: 1.0989e+04} +- equation: CH2(S) + H2O => H2 + CH2O # Reaction 187 + rate-constant: {A: 6.82e+10, b: 0.25, Ea: -935.0} +- equation: C2H3 + O2 <=> O + CH2CHO # Reaction 188 + rate-constant: {A: 3.03e+11, b: 0.29, Ea: 11.0} +- equation: C2H3 + O2 <=> HO2 + C2H2 # Reaction 189 + rate-constant: {A: 1.337e+06, b: 1.61, Ea: -384.0} +- equation: O + CH3CHO <=> OH + CH2CHO # Reaction 190 + rate-constant: {A: 2.92e+12, b: 0.0, Ea: 1808.0} +- equation: O + CH3CHO => OH + CH3 + CO # Reaction 191 + rate-constant: {A: 2.92e+12, b: 0.0, Ea: 1808.0} +- equation: O2 + CH3CHO => HO2 + CH3 + CO # Reaction 192 + rate-constant: {A: 3.01e+13, b: 0.0, Ea: 3.915e+04} +- equation: H + CH3CHO <=> CH2CHO + H2 # Reaction 193 + rate-constant: {A: 2.05e+09, b: 1.16, Ea: 2405.0} +- equation: H + CH3CHO => CH3 + H2 + CO # Reaction 194 + rate-constant: {A: 2.05e+09, b: 1.16, Ea: 2405.0} +- equation: OH + CH3CHO => CH3 + H2O + CO # Reaction 195 + rate-constant: {A: 2.343e+10, b: 0.73, Ea: -1113.0} +- equation: HO2 + CH3CHO => CH3 + H2O2 + CO # Reaction 196 + rate-constant: {A: 3.01e+12, b: 0.0, Ea: 1.1923e+04} +- equation: CH3 + CH3CHO => CH3 + CH4 + CO # Reaction 197 + rate-constant: {A: 2.72e+06, b: 1.77, Ea: 5920.0} +- equation: H + CH2CO (+M) <=> CH2CHO (+M) # Reaction 198 + type: falloff + low-P-rate-constant: {A: 1.012e+42, b: -7.63, Ea: 3854.0} + high-P-rate-constant: {A: 4.865e+11, b: 0.422, Ea: -1755.0} + Troe: {A: 0.465, T3: 201.0, T1: 1773.0, T2: 5333.0} + efficiencies: {H2: 2.0, H2O: 6.0, CH4: 2.0, CO: 1.5, CO2: 2.0, C2H6: 3.0, + AR: 0.7} +- equation: O + CH2CHO => H + CH2 + CO2 # Reaction 199 + rate-constant: {A: 1.5e+14, b: 0.0, Ea: 0.0} +- equation: O2 + CH2CHO => OH + CO + CH2O # Reaction 200 + rate-constant: {A: 1.81e+10, b: 0.0, Ea: 0.0} +- equation: O2 + CH2CHO => OH + 2 HCO # Reaction 201 + rate-constant: {A: 2.35e+10, b: 0.0, Ea: 0.0} +- equation: H + CH2CHO <=> CH3 + HCO # Reaction 202 + rate-constant: {A: 2.2e+13, b: 0.0, Ea: 0.0} +- equation: H + CH2CHO <=> CH2CO + H2 # Reaction 203 + rate-constant: {A: 1.1e+13, b: 0.0, Ea: 0.0} +- equation: OH + CH2CHO <=> H2O + CH2CO # Reaction 204 + rate-constant: {A: 1.2e+13, b: 0.0, Ea: 0.0} +- equation: OH + CH2CHO <=> HCO + CH2OH # Reaction 205 + rate-constant: {A: 3.01e+13, b: 0.0, Ea: 0.0} +- equation: CH3 + C2H5 (+M) <=> C3H8 (+M) # Reaction 206 + type: falloff + low-P-rate-constant: {A: 2.71e+74, b: -16.82, Ea: 1.3065e+04} + high-P-rate-constant: {A: 9.43e+12, b: 0.0, Ea: 0.0} + Troe: {A: 0.1527, T3: 291.0, T1: 2742.0, T2: 7748.0} + efficiencies: {H2: 2.0, H2O: 6.0, CH4: 2.0, CO: 1.5, CO2: 2.0, C2H6: 3.0, + AR: 0.7} +- equation: O + C3H8 <=> OH + C3H7 # Reaction 207 + rate-constant: {A: 1.93e+05, b: 2.68, Ea: 3716.0} +- equation: H + C3H8 <=> C3H7 + H2 # Reaction 208 + rate-constant: {A: 1.32e+06, b: 2.54, Ea: 6756.0} +- equation: OH + C3H8 <=> C3H7 + H2O # Reaction 209 + rate-constant: {A: 3.16e+07, b: 1.8, Ea: 934.0} +- equation: C3H7 + H2O2 <=> HO2 + C3H8 # Reaction 210 + rate-constant: {A: 378.0, b: 2.72, Ea: 1500.0} +- equation: CH3 + C3H8 <=> C3H7 + CH4 # Reaction 211 + rate-constant: {A: 0.903, b: 3.65, Ea: 7154.0} +- equation: CH3 + C2H4 (+M) <=> C3H7 (+M) # Reaction 212 + type: falloff + low-P-rate-constant: {A: 3.0e+63, b: -14.6, Ea: 1.817e+04} + high-P-rate-constant: {A: 2.55e+06, b: 1.6, Ea: 5700.0} + Troe: {A: 0.1894, T3: 277.0, T1: 8748.0, T2: 7891.0} + efficiencies: {H2: 2.0, H2O: 6.0, CH4: 2.0, CO: 1.5, CO2: 2.0, C2H6: 3.0, + AR: 0.7} +- equation: O + C3H7 <=> C2H5 + CH2O # Reaction 213 + rate-constant: {A: 9.64e+13, b: 0.0, Ea: 0.0} +- equation: H + C3H7 (+M) <=> C3H8 (+M) # Reaction 214 + type: falloff + low-P-rate-constant: {A: 4.42e+61, b: -13.545, Ea: 1.1357e+04} + high-P-rate-constant: {A: 3.613e+13, b: 0.0, Ea: 0.0} + Troe: {A: 0.315, T3: 369.0, T1: 3285.0, T2: 6667.0} + efficiencies: {H2: 2.0, H2O: 6.0, CH4: 2.0, CO: 1.5, CO2: 2.0, C2H6: 3.0, + AR: 0.7} +- equation: H + C3H7 <=> CH3 + C2H5 # Reaction 215 + rate-constant: {A: 4.06e+06, b: 2.19, Ea: 890.0} +- equation: OH + C3H7 <=> C2H5 + CH2OH # Reaction 216 + rate-constant: {A: 2.41e+13, b: 0.0, Ea: 0.0} +- equation: HO2 + C3H7 <=> O2 + C3H8 # Reaction 217 + rate-constant: {A: 2.55e+10, b: 0.255, Ea: -943.0} +- equation: HO2 + C3H7 => OH + C2H5 + CH2O # Reaction 218 + rate-constant: {A: 2.41e+13, b: 0.0, Ea: 0.0} +- equation: CH3 + C3H7 <=> 2 C2H5 # Reaction 219 + rate-constant: {A: 1.927e+13, b: -0.32, Ea: 0.0} diff --git a/examples/dfLowMachFoam/2DSandiaD_flareFGM/postProcess b/examples/dfLowMachFoam/2DSandiaD_flareFGM/postProcess new file mode 100755 index 00000000..2ae8e609 --- /dev/null +++ b/examples/dfLowMachFoam/2DSandiaD_flareFGM/postProcess @@ -0,0 +1,6 @@ +#!/bin/sh +cd ${0%/*} || exit 1 # Run from this directory + +reconstructPar -time 0.3 +postProcess -func sample -time 0.3 + diff --git a/examples/dfLowMachFoam/2DSandiaD_flareFGM/system/blockMeshDict b/examples/dfLowMachFoam/2DSandiaD_flareFGM/system/blockMeshDict new file mode 100644 index 00000000..8444f345 --- /dev/null +++ b/examples/dfLowMachFoam/2DSandiaD_flareFGM/system/blockMeshDict @@ -0,0 +1,176 @@ +/*--------------------------------*- C++ -*----------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | Website: https://openfoam.org + \\ / A nd | Version: 7 + \\/ M anipulation | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object blockMeshDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +convertToMeters 0.001; + +vertices +( + (0 0 -100) // 0 + + (3.6 -0.15717942211764708 -100) // 1 + (3.6 0.15717942211764708 -100) // 2 + + (3.85 -0.168094659764705905 -100) // 3 + (3.85 0.168094659764705905 -100) // 4 + + (9.1 -0.39731465035294123 -100) // 5 + (9.1 0.39731465035294123 -100) // 6 + + (0 0 0) // 7 + + (3.6 -0.15717942211764708 0) // 8 + (3.6 0.15717942211764708 0) // 9 + + (3.85 -0.168094659764705905 0) // 10 + (3.85 0.168094659764705905 0) // 11 + + (9.1 -0.39731465035294123 0) // 12 + (9.1 0.39731465035294123 0) // 13 + + + (150 -6.549142588235295 0) // 14 + (150 6.549142588235295 0) // 15 + + (0 0 500) // 16 + + (3.6 -0.15717942211764708 500) // 17 + (3.6 0.15717942211764708 500) // 18 + + (3.85 -0.168094659764705905 500) // 19 + (3.85 0.168094659764705905 500) // 20 + + (9.1 -0.39731465035294123 500) // 21 + (9.1 0.39731465035294123 500) // 22 + + (150 -6.549142588235295 500) // 23 + (150 6.549142588235295 500) // 24 +); + +blocks +( + hex ( 0 1 2 0 7 8 9 7) (5 1 20) simpleGrading (1 1 1) + hex ( 3 5 6 4 10 12 13 11) (5 1 20) simpleGrading (1 1 1) + + hex ( 7 8 9 7 16 17 18 16) (5 1 70) simpleGrading (1 1 2) + hex ( 8 10 11 9 17 19 20 18) (1 1 70) simpleGrading (1 1 2) + hex (10 12 13 11 19 21 22 20) (5 1 70) simpleGrading (1 1 2) + hex (12 14 15 13 21 23 24 22) (60 1 70) simpleGrading (3 1 2) +); + +boundary +( + inletCH4 + { + type patch; + faces + ( + (1 0 0 2) + ); + } + + wallOutside + { + type wall; + faces + ( + (14 15 24 23) + ); + } + + wallTube + { + type wall; + faces + ( + (1 2 9 8) + (10 11 9 8) + (4 3 10 11) + (5 6 13 12) + ); + } + + inletPilot + { + type patch; + faces + ( + (5 3 4 6) + ); + } + + inletAir + { + type patch; + faces + ( + (14 12 13 15) + ); + } + + outlet + { + type patch; + faces + ( + (16 17 18 16) + (17 19 20 18) + (19 21 22 20) + (21 22 24 23) + ); + } + + axis + { + type empty; + faces + ( + (0 7 7 0) + (7 16 16 7) + ); + } + + frontAndBack_pos + { + type wedge; + faces + ( + (2 0 7 9) + (6 4 11 13) + + (9 7 16 18) + (11 9 18 20) + (13 11 20 22) + (15 13 22 24) + ); + } + + frontAndBack_neg + { + type wedge; + faces + ( + (0 1 8 7) + (3 5 12 10) + + (7 8 17 16) + (8 10 19 17) + (10 12 21 19) + (12 14 23 21) + ); + } +); + +// ************************************************************************* // diff --git a/examples/dfLowMachFoam/2DSandiaD_flareFGM/system/controlDict b/examples/dfLowMachFoam/2DSandiaD_flareFGM/system/controlDict new file mode 100644 index 00000000..a4787e1c --- /dev/null +++ b/examples/dfLowMachFoam/2DSandiaD_flareFGM/system/controlDict @@ -0,0 +1,52 @@ +/*--------------------------------*- C++ -*----------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | Website: https://openfoam.org + \\ / A nd | Version: 7 + \\/ M anipulation | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2; + format ascii; + class dictionary; + location "system"; + object controlDict; +} + +application dfLowMachFoam; + +startFrom latestTime; + +startTime 0; + +stopAt endTime; + +endTime 0.3; + +deltaT 1e-05; + +writeControl runTime; + +writeInterval 0.3; + +purgeWrite 0; + +writeFormat binary; + +writePrecision 10; + +writeCompression off; + +timeFormat general; + +timePrecision 6; + +runTimeModifiable true; + +adjustTimeStep no; + +maxCo 0.1; + + +// ************************************************************************* // diff --git a/examples/dfLowMachFoam/2DSandiaD_flareFGM/system/decomposeParDict b/examples/dfLowMachFoam/2DSandiaD_flareFGM/system/decomposeParDict new file mode 100644 index 00000000..ad6a27c5 --- /dev/null +++ b/examples/dfLowMachFoam/2DSandiaD_flareFGM/system/decomposeParDict @@ -0,0 +1,46 @@ +/*--------------------------------*- C++ -*----------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | Website: https://openfoam.org + \\ / A nd | Version: 7 + \\/ M anipulation | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2; + format ascii; + class dictionary; + location "system"; + object decomposeParDict; +} + +numberOfSubdomains 8; + +method scotch; + +engineScotchCoeffs +{ + slidingPatchPairs ( ); + expandSliding false; +} + +simpleCoeffs +{ + n ( 1 1 4 ); + delta 0.001; +} + +hierarchicalCoeffs +{ + n ( 1 2 2 ); + delta 0.001; + order xyz; +} + +manualCoeffs +{ + dataFile ".././constant/cellDist"; +} + + +// ************************************************************************* // diff --git a/examples/dfLowMachFoam/2DSandiaD_flareFGM/system/fvSchemes b/examples/dfLowMachFoam/2DSandiaD_flareFGM/system/fvSchemes new file mode 100644 index 00000000..9fdf7a0e --- /dev/null +++ b/examples/dfLowMachFoam/2DSandiaD_flareFGM/system/fvSchemes @@ -0,0 +1,76 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2.3.0 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object fvSchemes; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +ddtSchemes +{ + default Euler; +} + +gradSchemes +{ + default Gauss linear; +} + +divSchemes +{ + default none; + + div(phi,U) Gauss linear; +// div(phi,U) Gauss linearUpwind grad(U); + div(phi,Ulinear) Gauss linearUpwind grad(U); + div(phi,scalarUW) Gauss limitedLinear 1; + div(phi,H) Gauss limitedLinear 1; + div(phi,Zvar) Gauss limitedLinear 1; + div(phi,Z) Gauss limitedLinear01 1; + div((muEff*dev2(T(grad(U))))) Gauss linear; + + div(phi,c) Gauss limitedLinear01 1; + div(phi,cvar) Gauss limitedLinear 1; + div(phi,Zcvar) Gauss limitedLinear 1; + div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear; + + div(phid,p) Gauss limitedLinear 1; + div(phi,epsilon) Gauss limitedLinear 1; + div(phi,k) Gauss limitedLinear 1; + div(phiv,p) Gauss limitedLinear 1; + div(phi,K) Gauss limitedLinear 1; +} + +laplacianSchemes +{ + default Gauss linear corrected; + laplacian(phiFilt) Gauss linear limited 0.5; +} + +interpolationSchemes +{ + default linear; +} + +snGradSchemes +{ + default corrected; +} + +fluxRequired +{ + default no; + p; +} + + +// ************************************************************************* // diff --git a/examples/dfLowMachFoam/2DSandiaD_flareFGM/system/fvSolution b/examples/dfLowMachFoam/2DSandiaD_flareFGM/system/fvSolution new file mode 100644 index 00000000..add1de74 --- /dev/null +++ b/examples/dfLowMachFoam/2DSandiaD_flareFGM/system/fvSolution @@ -0,0 +1,131 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2.3.0 | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object fvSolution; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +solvers +{ + "rho.*" + { + solver diagonal; + } + + p + { + solver GAMG; + tolerance 1e-09; + relTol 0.001; + smoother GaussSeidel; + nPreSweeps 0; + nPostSweeps 2; + cacheAgglomeration on; + agglomerator faceAreaPair; + nCellsInCoarsestLevel 10; + mergeLevels 1; + } + + pFinal + { + $p; + tolerance 1e-09; + relTol 0.001; + // minIter 1; + } + + U + { + solver PBiCG; + preconditioner DILU; + tolerance 1e-9; + relTol 0.0001; + } + + UFinal + { + $U; + tolerance 1e-9; + relTol 0.0001; + // minIter 1; + } + + "(k|epsilon)" + { + solver PBiCGStab; + preconditioner DILU; + tolerance 1e-9; + relTol 0.001; + } + +/* + "(k|epsilon)" + { + solver PBiCG; + preconditioner DILU; + tolerance 1e-09; + relTol 0.001; + } +*/ + + "(k|epsilon)Final" + { + $k; + tolerance 1e-09; + relTol 0.001; + // minIter 1; + } + + "(Z|H|Zvar|c|cvar|Zcvar).*" + { + solver PBiCG; + preconditioner DILU; + tolerance 1e-09; + relTol 0.001; + // minIter 1; + } + +} + +PIMPLE +{ + nOuterCorrectors 1; + nCorrectors 2; + nNonOrthogonalCorrectors 0; + momentumPredictor yes; + + // outerCorrectorResidualControl + // { + // "(U)" + // { + // tolerance 1e-04; + // relTol 0; + // } + // } +} + +/* +relaxationFactors +{ + fields + { + p 0.5; + } + equations + { + U 0.8; +// phiFilt 0.5; + } +} +*/ +// ************************************************************************* // diff --git a/examples/dfLowMachFoam/2DSandiaD_flareFGM/system/sample b/examples/dfLowMachFoam/2DSandiaD_flareFGM/system/sample new file mode 100644 index 00000000..3d5d75d9 --- /dev/null +++ b/examples/dfLowMachFoam/2DSandiaD_flareFGM/system/sample @@ -0,0 +1,38 @@ +/*--------------------------------*- C++ -*----------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | Website: https://openfoam.org + \\ / A nd | Version: 7 + \\/ M anipulation | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + format ascii; + class dictionary; + location "system"; + object sample; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +type sets; +libs ("libsampling.so"); + +interpolationScheme cellPoint; + +setFormat raw; + +sets +( + data + { + type lineUniform; + axis x; + start (0 0 0.1); + end (0.03 0 0.1); + nPoints 7; + } +); + +fields ( T ); + +// ************************************************************************* // diff --git a/examples/dfLowMachFoam/2DSandiaD_flareFGM/system/setFieldsDict b/examples/dfLowMachFoam/2DSandiaD_flareFGM/system/setFieldsDict new file mode 100644 index 00000000..d6f2e1a5 --- /dev/null +++ b/examples/dfLowMachFoam/2DSandiaD_flareFGM/system/setFieldsDict @@ -0,0 +1,41 @@ +/*--------------------------------*- C++ -*----------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | Website: https://openfoam.org + \\ / A nd | Version: 7 + \\/ M anipulation | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object setFieldsDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +defaultFieldValues +( + volScalarFieldValue T 300 + volScalarFieldValue N2 0.77 + volScalarFieldValue O2 0.23 + volScalarFieldValue CH4 0 +); + +regions +( + boxToCell + { + box (0 -10 -100) (0.0036 10 0); + fieldValues + ( + volScalarFieldValue CH4 0.1561 + volScalarFieldValue O2 0.1966 + volScalarFieldValue N2 0.6473 + ); + } +); + + +// ************************************************************************* // diff --git a/examples/dfLowMachFoam/oneD_freelyPropagation/CH4/pytorchIntegrator/constant/CanteraTorchProperties b/examples/dfLowMachFoam/oneD_freelyPropagation/CH4/pytorchIntegrator/constant/CanteraTorchProperties index 6dfb79a4..8873b201 100644 --- a/examples/dfLowMachFoam/oneD_freelyPropagation/CH4/pytorchIntegrator/constant/CanteraTorchProperties +++ b/examples/dfLowMachFoam/oneD_freelyPropagation/CH4/pytorchIntegrator/constant/CanteraTorchProperties @@ -44,6 +44,7 @@ loadbalancing { active true; log false; + algorithm allAverage;//headTail; } diff --git a/examples/dfLowMachFoam/oneD_freelyPropagation/H2/cvodeIntegrator/constant/CanteraTorchProperties b/examples/dfLowMachFoam/oneD_freelyPropagation/H2/cvodeIntegrator/constant/CanteraTorchProperties index 8e1a85d2..2b6e27ad 100644 --- a/examples/dfLowMachFoam/oneD_freelyPropagation/H2/cvodeIntegrator/constant/CanteraTorchProperties +++ b/examples/dfLowMachFoam/oneD_freelyPropagation/H2/cvodeIntegrator/constant/CanteraTorchProperties @@ -44,6 +44,7 @@ loadbalancing { active true; log false; + algorithm allAverage;//headTail; } diff --git a/examples/dfLowMachFoam/oneD_freelyPropagation/H2/libtorchIntegrator/constant/CanteraTorchProperties b/examples/dfLowMachFoam/oneD_freelyPropagation/H2/libtorchIntegrator/constant/CanteraTorchProperties index 0fe1354c..604b1e92 100644 --- a/examples/dfLowMachFoam/oneD_freelyPropagation/H2/libtorchIntegrator/constant/CanteraTorchProperties +++ b/examples/dfLowMachFoam/oneD_freelyPropagation/H2/libtorchIntegrator/constant/CanteraTorchProperties @@ -52,6 +52,7 @@ loadbalancing { active true; log false; + algorithm allAverage;//headTail; } diff --git a/examples/dfLowMachFoam/oneD_freelyPropagation/H2/pytorchIntegrator/constant/CanteraTorchProperties b/examples/dfLowMachFoam/oneD_freelyPropagation/H2/pytorchIntegrator/constant/CanteraTorchProperties index aa558072..cb52df76 100644 --- a/examples/dfLowMachFoam/oneD_freelyPropagation/H2/pytorchIntegrator/constant/CanteraTorchProperties +++ b/examples/dfLowMachFoam/oneD_freelyPropagation/H2/pytorchIntegrator/constant/CanteraTorchProperties @@ -44,6 +44,7 @@ loadbalancing { active true; log false; + algorithm allAverage;//headTail; } diff --git a/examples/dfLowMachFoam/threeD_reactingTGV/H2/cvodeIntegrator/constant/CanteraTorchProperties b/examples/dfLowMachFoam/threeD_reactingTGV/H2/cvodeIntegrator/constant/CanteraTorchProperties index 8e1a85d2..2b6e27ad 100644 --- a/examples/dfLowMachFoam/threeD_reactingTGV/H2/cvodeIntegrator/constant/CanteraTorchProperties +++ b/examples/dfLowMachFoam/threeD_reactingTGV/H2/cvodeIntegrator/constant/CanteraTorchProperties @@ -44,6 +44,7 @@ loadbalancing { active true; log false; + algorithm allAverage;//headTail; } diff --git a/examples/dfLowMachFoam/threeD_reactingTGV/H2/libtorchIntegrator/constant/CanteraTorchProperties b/examples/dfLowMachFoam/threeD_reactingTGV/H2/libtorchIntegrator/constant/CanteraTorchProperties index 0fe1354c..604b1e92 100644 --- a/examples/dfLowMachFoam/threeD_reactingTGV/H2/libtorchIntegrator/constant/CanteraTorchProperties +++ b/examples/dfLowMachFoam/threeD_reactingTGV/H2/libtorchIntegrator/constant/CanteraTorchProperties @@ -52,6 +52,7 @@ loadbalancing { active true; log false; + algorithm allAverage;//headTail; } diff --git a/examples/dfLowMachFoam/threeD_reactingTGV/H2/pytorchIntegrator/constant/CanteraTorchProperties b/examples/dfLowMachFoam/threeD_reactingTGV/H2/pytorchIntegrator/constant/CanteraTorchProperties index aa558072..cb52df76 100644 --- a/examples/dfLowMachFoam/threeD_reactingTGV/H2/pytorchIntegrator/constant/CanteraTorchProperties +++ b/examples/dfLowMachFoam/threeD_reactingTGV/H2/pytorchIntegrator/constant/CanteraTorchProperties @@ -44,6 +44,7 @@ loadbalancing { active true; log false; + algorithm allAverage;//headTail; } diff --git a/examples/dfLowMachFoam/twoD_HIT_flame/CH4/pytorchIntegrator/constant/CanteraTorchProperties b/examples/dfLowMachFoam/twoD_HIT_flame/CH4/pytorchIntegrator/constant/CanteraTorchProperties index 6dfb79a4..8873b201 100644 --- a/examples/dfLowMachFoam/twoD_HIT_flame/CH4/pytorchIntegrator/constant/CanteraTorchProperties +++ b/examples/dfLowMachFoam/twoD_HIT_flame/CH4/pytorchIntegrator/constant/CanteraTorchProperties @@ -44,6 +44,7 @@ loadbalancing { active true; log false; + algorithm allAverage;//headTail; } diff --git a/examples/dfLowMachFoam/twoD_SandiaD_EDC_Trans/constant/CanteraTorchProperties b/examples/dfLowMachFoam/twoD_SandiaD_EDC_Trans/constant/CanteraTorchProperties index 54cefa64..817b4304 100755 --- a/examples/dfLowMachFoam/twoD_SandiaD_EDC_Trans/constant/CanteraTorchProperties +++ b/examples/dfLowMachFoam/twoD_SandiaD_EDC_Trans/constant/CanteraTorchProperties @@ -44,6 +44,7 @@ loadbalancing { active true; log false; + algorithm allAverage;//headTail; } diff --git a/examples/dfLowMachFoam/twoD_reactingTGV/CH4/pytorchIntegrator/constant/CanteraTorchProperties b/examples/dfLowMachFoam/twoD_reactingTGV/CH4/pytorchIntegrator/constant/CanteraTorchProperties index 6dfb79a4..8873b201 100644 --- a/examples/dfLowMachFoam/twoD_reactingTGV/CH4/pytorchIntegrator/constant/CanteraTorchProperties +++ b/examples/dfLowMachFoam/twoD_reactingTGV/CH4/pytorchIntegrator/constant/CanteraTorchProperties @@ -44,6 +44,7 @@ loadbalancing { active true; log false; + algorithm allAverage;//headTail; } diff --git a/examples/dfLowMachFoam/twoD_tripleFlame/H2/cvodeIntegrator/constant/CanteraTorchProperties b/examples/dfLowMachFoam/twoD_tripleFlame/H2/cvodeIntegrator/constant/CanteraTorchProperties index 8e1a85d2..2b6e27ad 100644 --- a/examples/dfLowMachFoam/twoD_tripleFlame/H2/cvodeIntegrator/constant/CanteraTorchProperties +++ b/examples/dfLowMachFoam/twoD_tripleFlame/H2/cvodeIntegrator/constant/CanteraTorchProperties @@ -44,6 +44,7 @@ loadbalancing { active true; log false; + algorithm allAverage;//headTail; } diff --git a/examples/dfLowMachFoam/twoD_tripleFlame/H2/libtorchIntegrator/constant/CanteraTorchProperties b/examples/dfLowMachFoam/twoD_tripleFlame/H2/libtorchIntegrator/constant/CanteraTorchProperties index 0fe1354c..604b1e92 100644 --- a/examples/dfLowMachFoam/twoD_tripleFlame/H2/libtorchIntegrator/constant/CanteraTorchProperties +++ b/examples/dfLowMachFoam/twoD_tripleFlame/H2/libtorchIntegrator/constant/CanteraTorchProperties @@ -52,6 +52,7 @@ loadbalancing { active true; log false; + algorithm allAverage;//headTail; } diff --git a/examples/dfLowMachFoam/twoD_tripleFlame/H2/pytorchIntegrator/constant/CanteraTorchProperties b/examples/dfLowMachFoam/twoD_tripleFlame/H2/pytorchIntegrator/constant/CanteraTorchProperties index aa558072..cb52df76 100644 --- a/examples/dfLowMachFoam/twoD_tripleFlame/H2/pytorchIntegrator/constant/CanteraTorchProperties +++ b/examples/dfLowMachFoam/twoD_tripleFlame/H2/pytorchIntegrator/constant/CanteraTorchProperties @@ -44,6 +44,7 @@ loadbalancing { active true; log false; + algorithm allAverage;//headTail; } diff --git a/examples/dfSprayFoam/aachenBomb/constant/CanteraTorchProperties b/examples/dfSprayFoam/aachenBomb/constant/CanteraTorchProperties index ce9f5b7f..9ffa283c 100644 --- a/examples/dfSprayFoam/aachenBomb/constant/CanteraTorchProperties +++ b/examples/dfSprayFoam/aachenBomb/constant/CanteraTorchProperties @@ -44,6 +44,7 @@ loadbalancing { active true; log false; + algorithm allAverage;//headTail; } diff --git a/examples/dfSprayFoam/sydneySprayBurner/constant/CanteraTorchProperties b/examples/dfSprayFoam/sydneySprayBurner/constant/CanteraTorchProperties index 1059de47..5ef6c6c5 100644 --- a/examples/dfSprayFoam/sydneySprayBurner/constant/CanteraTorchProperties +++ b/examples/dfSprayFoam/sydneySprayBurner/constant/CanteraTorchProperties @@ -44,6 +44,7 @@ loadbalancing { active true; log false; + algorithm allAverage;//headTail; } diff --git a/install.sh b/install.sh index c700733a..17b3d209 100755 --- a/install.sh +++ b/install.sh @@ -17,5 +17,13 @@ print_finish() { echo "| deepflame (linked with libcantera) compiled successfully! Enjoy!! |" echo " = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =" } - +if [ $USE_LIBTORCH = true ]; then + cd "$DF_SRC/dfChemistryModel/DNNInferencer" + mkdir build + cd build + cmake .. + make + export LD_LIBRARY_PATH=$DF_SRC/dfChemistryModel/DNNInferencer/build:$LD_LIBRARY_PATH +fi +cd $DF_ROOT ./Allwmake -j && print_finish diff --git a/src/dfChemistryModel/DNNInferencer/CMakeLists.txt b/src/dfChemistryModel/DNNInferencer/CMakeLists.txt index d81d3c5c..9e9f5a13 100644 --- a/src/dfChemistryModel/DNNInferencer/CMakeLists.txt +++ b/src/dfChemistryModel/DNNInferencer/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.0) -set(CMAKE_PREFIX_PATH "~/libtorch") +set(CMAKE_PREFIX_PATH $ENV{LIBTORCH_ROOT}) project(DNNInferencer) find_package(Torch REQUIRED) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${TORCH_CXX_FLAGS}") @@ -8,3 +8,8 @@ add_library(DNNInferencer SHARED DNNInferencer.cpp) target_compile_features(DNNInferencer PUBLIC cxx_range_for) target_link_libraries(DNNInferencer ${TORCH_LIBRARIES}) set_property(TARGET DNNInferencer PROPERTY CXX_STANDARD 14) + +set(CMAKE_INSTALL_PREFIX $ENV{DF_ROOT}) +install (TARGETS ${PROJECT_NAME} + LIBRARY DESTINATION lib + ) diff --git a/src/dfChemistryModel/dfChemistryModel.C b/src/dfChemistryModel/dfChemistryModel.C index 3b086b86..99016118 100644 --- a/src/dfChemistryModel/dfChemistryModel.C +++ b/src/dfChemistryModel/dfChemistryModel.C @@ -135,7 +135,6 @@ Foam::dfChemistryModel::dfChemistryModel #endif #ifdef USE_LIBTORCH - torchModelName_ = this->lookupOrDefault("torchModel", word("")); torchModelName1_ = this->subDict("TorchSettings").lookupOrDefault("torchModel1", word("")); torchModelName2_ = this->subDict("TorchSettings").lookupOrDefault("torchModel2", word("")); torchModelName3_ = this->subDict("TorchSettings").lookupOrDefault("torchModel3", word("")); @@ -147,21 +146,27 @@ Foam::dfChemistryModel::dfChemistryModel // initialization the Inferencer (if use multi GPU) if(torchSwitch_) { - if(!(Pstream::myProcNo() % cores_)) // Now is a master + if (gpu_) { - torch::jit::script::Module torchModel1_ = torch::jit::load(torchModelName1_); - torch::jit::script::Module torchModel2_ = torch::jit::load(torchModelName2_); - torch::jit::script::Module torchModel3_ = torch::jit::load(torchModelName3_); - std::string device_; - if (gpu_) + if(!(Pstream::myProcNo() % cores_)) // Now is a master { + torch::jit::script::Module torchModel1_ = torch::jit::load(torchModelName1_); + torch::jit::script::Module torchModel2_ = torch::jit::load(torchModelName2_); + torch::jit::script::Module torchModel3_ = torch::jit::load(torchModelName3_); + std::string device_; int CUDANo = (Pstream::myProcNo() / cores_) % GPUsPerNode_; device_ = "cuda:" + std::to_string(CUDANo); + DNNInferencer DNNInferencer(torchModel1_, torchModel2_, torchModel3_, device_); + DNNInferencer_ = DNNInferencer; } - else - { - device_ = "cpu"; - } + } + else + { + torch::jit::script::Module torchModel1_ = torch::jit::load(torchModelName1_); + torch::jit::script::Module torchModel2_ = torch::jit::load(torchModelName2_); + torch::jit::script::Module torchModel3_ = torch::jit::load(torchModelName3_); + std::string device_; + device_ = "cpu"; DNNInferencer DNNInferencer(torchModel1_, torchModel2_, torchModel3_, device_); DNNInferencer_ = DNNInferencer; } @@ -180,7 +185,7 @@ Foam::dfChemistryModel::dfChemistryModel if (torchSwitch_) { labelList subRank; - for (size_t rank = 0; rank < Pstream::nProcs(); rank ++) + for (int rank = 0; rank < Pstream::nProcs(); rank ++) { if (rank % cores_) { @@ -306,24 +311,8 @@ Foam::scalar Foam::dfChemistryModel::solve ) { scalar result = 0; -#ifdef USE_LIBTORCH - if(torchSwitch_) - { - if (useDNN) - { - result = solve_DNN(deltaT); - } - else - { - result = solve_CVODE(deltaT); - useDNN = true; - } - } - else - { - result = solve_CVODE(deltaT); - } -#elif USE_PYTORCH + +#if defined USE_LIBTORCH || defined USE_PYTORCH if(torchSwitch_) { if (useDNN) @@ -394,7 +383,8 @@ void Foam::dfChemistryModel::correctThermo() T_[celli] = CanteraGas_->temperature(); - psi_[celli] = CanteraGas_->meanMolecularWeight()/CanteraGas_->RT(); // meanMolecularWeight() kg/kmol RT() Joules/kmol + // meanMolecularWeight() kg/kmol RT() Joules/kmol + psi_[celli] = CanteraGas_->meanMolecularWeight()/CanteraGas_->RT(); mu_[celli] = mixture_.CanteraTransport()->viscosity(); // Pa-s @@ -556,7 +546,8 @@ void Foam::dfChemistryModel::solveSingle CanteraGas_->setState_TPY(Ti, pi, yPre_.begin()); react.insert(mixture_.CanteraSolution()); - react.setEnergy(0); // keep T const before and after sim.advance. this will give you a little improvement + // keep T const before and after sim.advance. this will give you a little improvement + react.setEnergy(0); Cantera::ReactorNet sim; sim.addReactor(react); setNumerics(sim); @@ -678,9 +669,9 @@ Foam::dfChemistryModel::updateReactionRates { for(label j = 0; j < mixture_.nSpecies(); j++) { - this->RR_[j][solution.cellid] = solution.RRi[j]; + RR_[j][solution.cellid] = solution.RRi[j]; } - this->Qdot_[solution.cellid] = solution.Qdoti; + Qdot_[solution.cellid] = solution.Qdoti; cpuTimes_[solution.cellid] = solution.cpuTime; } @@ -733,7 +724,7 @@ Foam::scalar Foam::dfChemistryModel::solve_CVODE scalar t_solveBuffer(0); scalar t_unbalance(0); - if(!this->chemistry_) + if(!chemistry_) { return great; } @@ -792,893 +783,19 @@ Foam::scalar Foam::dfChemistryModel::solve_CVODE return updateReactionRates(incomingSolutions, List); } -#if defined USE_LIBTORCH || defined USE_PYTORCH -template -template -void Foam::dfChemistryModel::getGPUProblems -( - const DeltaTType &deltaT, - Foam::DynamicList& GPUproblemList, - Foam::DynamicList& CPUproblemList -) -{ - DynamicList problemList; //single core TODO:rename it - - // get cuda problemList, for all cell - // each get problem - forAll(T_, cellI) - { - scalar Ti = T_[cellI]; - scalar pi = p_[cellI]; - scalar rhoi = rho_[cellI]; - - // if T < 700, set RR=0 - if (T_[cellI] < 700) - { - Qdot_[cellI] = 0; - for (int i = 0; i < mixture_.nSpecies(); i++) - { - RR_[i][cellI] = 0.0; - } - continue; - } - - // set problems - GpuProblem problem(mixture_.nSpecies()); - ChemistryProblem ode_problem(mixture_.nSpecies()); - problem.cellid = cellI; - problem.Ti = Ti; - problem.pi = pi/101325; - for (int i = 0; i < mixture_.nSpecies(); i++) - { - problem.Y[i] = Y_[i][cellI]; - } - problem.rhoi = rhoi; - - // choose DNN module - if (((Qdot_[cellI] < 3e7) && (T_[cellI] < 2000) && ( T_[cellI] >= 700)) || (T_[cellI] < 700))//choose1 - { - // if use CVODE - ode_problem.Y = problem.Y; - ode_problem.Ti = Ti; - ode_problem.pi = pi; - ode_problem.rhoi = rhoi; - ode_problem.deltaT = deltaT[cellI]; - ode_problem.cpuTime = cpuTimes_[cellI]; - ode_problem.cellid = cellI; - if (!(Pstream::myProcNo() % cores_)) // submaster - { - ode_problem.local = false; - } - CPUproblemList.append(ode_problem); - - selectDNN_[cellI]=0; - continue; - - // if use DNN - // problem.DNNid = 0; - // GPUproblemList.append(problem); - // continue; - } - if(((Qdot_[cellI] >= 3e7) && (T_[cellI] < 2000)&&(T_[cellI] >= 700))||((Qdot_[cellI] > 7e8) && T_[cellI] > 2000)) //choose2 - { - problem.DNNid = 1; - GPUproblemList.append(problem); - - selectDNN_[cellI]=1; - continue; - } - if ((Qdot_[cellI] < 7e8) && (T_[cellI] >= 2000) && (Qdot_[cellI]!=0)) //choose3 - { - problem.DNNid = 2; - GPUproblemList.append(problem); - selectDNN_[cellI]=2; - continue; - } - - } - - return; -} - -template -void Foam::dfChemistryModel::getDNNinputs -( - const Foam::DynamicBuffer& problemBuffer, - std::vector