This code implements the One-Dimensional Turbulence (ODT) model for turbulent reacting or nonreacting flows. See also the Basic ODT implementation.
Detailed documentation is available here. More information on the theory and application of ODT is available here.
A publication detailing this code is provided in the following reference:
V.B. Stephens, D.O. Lignell, “One-dimensional turbulence (ODT): computationally efficient modeling and simulation of turbulent flows,” SoftwareX, 13:100641 (2020).
A short video overview summarizing downloading, building, running, and processing the code is shown here.
A Code Ocean module that provides a runable version of the installed code is also available.
- Cantera: open-source suite of tools for problems involving chemical kinetics, thermodynamics, and transport.
- Yaml: input file format. This installation is conveniently built into the ODT build process.
- Cmake 3.12 or higher
- (OPTIONAL) Doxygen: builds documentation.
Post-processing data produced by ODT and ODT is processed via Python 3 scripts. We recommend Python 3.2 or higher. Scripts may not function properly using Python 2.x. The following packages are required and can be installed via pip3:
- numpy
- scipy
- matplotlib
- glob
- yaml
- sys
- os
build
: build the codedata
: contains all data files output during a simulation- The code will generate a subfolder with a name corresponding to case name specified in the run script in the
run
folder.- This case subfolder will contain subfolders
input
,runtime
,data
, andpost
, which contain the input data files, runtime output, simulation data files, and post-processed data, respectively.
- This case subfolder will contain subfolders
- The code will generate a subfolder with a name corresponding to case name specified in the run script in the
doc
: contains documentation filesinput
: contains case input files- Other input files include a Cantera mechanism file in the
user_gas_mechanisms
folder and an optionalrestart.yaml
file.
- Other input files include a Cantera mechanism file in the
post
: contains post-processing scripts and files for given case types- Output is placed in
data/caseName/post
. These are mostly Python files. Some cases also include experimental data files for comparison and plotting.
- Output is placed in
run
: contains the code executableodt.x
and several run scripts- The user specifies inputDir as the path to the input file containing the case to run and specifies a case name for variable caseName. Files are created and copied into
data/caseName
, as noted above.
- The user specifies inputDir as the path to the input file containing the case to run and specifies a case name for variable caseName. Files are created and copied into
source
: contains source code (including header files) andCMakeLists.txt
files