Python wrapper for batch simulations (e.g. Cantera).
Sphinx documentation includes:
- A brief summary (see Overview),
- Typical batch simulation descriptions (see Batch Jobs), and
- Jupyter Notebooks with illustrated examples.
The software was developed with the following objectives in mind. It should:
- provide a low-level interface to essential
cantera
capabilities - create a flexible framework for generic simulations
- provide a command line interface
- be easily scriptable (using YAML configuration files)
- enforce units (via
pint
) - enable parallel execution of (single-threaded) simulations (via
multiprocessing
) - enable simple re-import of simulation results into native Cantera objects
Although core functions of this software are continuously tested, there may be remaining bugs, non-working features, or other issues that could prevent a user from using this software to their specification. If you find problems, please report them in the issue tracker.
The simplest approach is to install ctwrap
via pip
, i.e.
$ pip install ctwrap
Note that
ctwrap
itself does not depend on a Cantera installation (only simulation modules do). It is recommended to install Cantera before ctwrap in a separate step.
A parallel batch job for adiabatic flame calculations uses the freeflame
module (modified from Cantera's adiabatic_flame.py
example). Based on the YAML configuration given as a reference, a variation of 12 equivalence ratio values is run as:
$ ctwrap run freeflame freeflame.yaml --parallel --strategy sequence
Results are written to a single file freeflame.h5
.