CFD solver for turbulent non-premixed flames based on the Steady Laminar Flamelets method
If you use flameletSMOKE for your publications, we kindly ask you to cite the following paper:
Cuoci, A., Frassoldati, A., Faravelli, T., Ranzi, E., OpenSMOKE++: An object-oriented framework for the numerical modeling of reactive systems with detailed kinetic mechanisms (2015) Computer Physics Communications, 192, pp. 237-264, DOI: 10.1016/j.cpc.2015.02.014
- Eigen (http://eigen.tuxfamily.org/index.php?title=Main_Page)
- RapidXML (http://rapidxml.sourceforge.net/)
- Boost C++ (http://www.boost.org/)
- Intel MKL (https://software.intel.com/en-us/intel-mkl)
In order to generate the lookup tables, the OpenSMOKE++Suite
framework is required (alberto.cuoci@polimi.it).
The flameletSMOKE solver is available for OpenFOAM versions 2.2, 2.3, 2.4, 4.x and dev We strongly recommend to use OpenSMOKE-4.x or OpenSMOKE-dev. Please note that since April 2017 OpenFOAM versions lower than 4.x are not longer supported.
Two different options are available to compile the code:
-
Minimalist + Intel MKL (recommended): the Intel MKL libraries are used to carry out the most CPU expensive operations
-
Minimalist: the most expensive CPU operations are carried out by the internal functions and classes directly available in flameletSMOKE
-
Instructions to compile the Minimalist+MKL version (recommended)
- Open the
mybashrc.minimalist.mkl
and adjust the paths to the Intel MKL library - Type:
source mybashrc.minimalist.mkl
- Compile the flameletSMOKE library: from the
libs/thermophysicalModels/basic
folder typewmake
- Compile the steady-state solver: from the
solvers/flameletSimpleSMOKE
folder typewmake
- Compile the unsteady solvers:
- from the
solver/flameletPimpleSMOKE
folder typewmake
- from the
solver/flameletPisoSMOKE
folder typewmake
(available only for OpenFOAM 2.2, 2.3, and 2.4)
- Instructions to compile the Minimalist version
- Open the
mybashrc.minimalist
and adjust the paths to the compulsory external libraries - Type:
source mybashrc.minimalist
- Compile the flameletSMOKE library: from the
libs/thermophysicalModels/basic
folder typewmake
- Compile the steady-state solver: from the
solvers/flameletSimpleSMOKE
folder typewmake
- Compile the unsteady solvers:
- from the
solver/flameletPimpleSMOKE
folder typewmake
- from the
solver/flameletPisoSMOKE
folder typewmake
(available only for OpenFOAM 2.2, 2.3, and 2.4)
- from the
The cases
folder contains simple test cases (Sandia CO/H2/N2 turbulent jet flame).
-
The first operation to carry out is the generation of the lookup-table using the
OpenSMOKE++Suite
framework. This can be done in 2 steps: i. generation of a database of steady state, non-adiabatic laminar flamelets: from thecases/lookUpTableGeneration/Sandia_COH2N2/flamelets
folder, after modifying the paths in theinput.dic
file, typeRun.sh
. In theOutput
folder the generated flamelets are available as XML files. ii. generation of the look-up table from the flamelets generated in 1a: from thecases/lookUpTableGeneration/Sandia_COH2N2/library
folder, after modifying the paths in theinput.dic
file, typeRun.sh
. In theOutputXML
folder the generated look-up tables are available as XML files. -
Unsteady simulation: open the
cases/flameletPimpleSMOKE/Sandia_COH2N2
folder, build the mesh using theblockMesh
utility, and run the case using theflameletPimpleSMOKE
solver. Even if you are interested in steady state conditions, we strongly suggest to always start with unsteady calculations to create a reasonable first-guess solution for the application of the steady state solver. -
Steady state simuation: open the
cases/flameletSimpleSMOKE/Sandia_COH2N2
folder, build the mesh using theblockMesh
utility, and run the case using theflameletSimpleSMOKE
solver.