471 lines
14 KiB
ReStructuredText
471 lines
14 KiB
ReStructuredText
.. highlight:: yaml
|
|
|
|
.. _sec-yaml-species:
|
|
|
|
*******
|
|
Species
|
|
*******
|
|
|
|
The fields of a ``species`` entry are:
|
|
|
|
``name``
|
|
String identifier used for the species. Required.
|
|
|
|
``composition``
|
|
Mapping that specifies the elemental composition of the species,
|
|
e.g., ``{C: 1, H: 4}``. Required.
|
|
|
|
``thermo``
|
|
Mapping containing the reference state thermodynamic model specification
|
|
and parameters. See :ref:`sec-yaml-species-thermo`.
|
|
|
|
``equation-of-state``
|
|
Mapping containing the equation of state model specification for the
|
|
species, any parameters for that model, and any parameters for interactions
|
|
with other species. :ref:`sec-yaml-species-eos`. If this field is absent,
|
|
the ``ideal-gas`` model is assumed.
|
|
|
|
``transport``
|
|
Mapping containing the species transport model specification and
|
|
parameters. See :ref:`sec-yaml-species-transport`.
|
|
|
|
``sites``
|
|
The number of sites occupied by a surface or edge species. Default is 1.
|
|
|
|
``ionic-radius``
|
|
Size of the species. Used in the Debye-Hückel model.
|
|
|
|
``electrolyte-species-type``
|
|
One of ``solvent``, ``charged-species``, ``weak-acid-associated``,
|
|
``strong-acid-associated``, ``polar-neutral``, or ``nonpolar-neutral``.
|
|
The types ``solvent``, ``charged-species``, and ``nonpolar-neutral`` can be
|
|
inferred automatically. Used in the Debye-Hückel model.
|
|
|
|
``weak-acid-charge``
|
|
Charge to use for species can break apart into charged species. Used in the
|
|
Debye-Hückel model.
|
|
|
|
|
|
.. _sec-yaml-species-thermo:
|
|
|
|
Species thermo models
|
|
=====================
|
|
|
|
Fields of a species ``thermo`` entry used by all models are:
|
|
|
|
``model``
|
|
String specifying the model to be used. Required. Supported model strings
|
|
are:
|
|
|
|
- :ref:`NASA7 <sec-yaml-nasa7>`
|
|
- :ref:`NASA9 <sec-yaml-nasa9>`
|
|
- :ref:`Shomate <sec-yaml-shomate>`
|
|
- :ref:`constant-cp <sec-yaml-constcp>`
|
|
- :ref:`piecewise-Gibbs <sec-yaml-piecewise-gibbs>`
|
|
|
|
``reference-pressure``
|
|
The reference pressure at which the given thermodynamic properties apply.
|
|
Defaults to 1 atm.
|
|
|
|
|
|
.. _sec-yaml-nasa7:
|
|
|
|
NASA 7-coefficient polynomials
|
|
------------------------------
|
|
|
|
The polynomial form `described here <https://cantera.org/science/science-species.html#the-nasa-7-coefficient-polynomial-parameterization>`__,
|
|
given for one or two temperature regions. Additional fields of a ``NASA7``
|
|
thermo entry are:
|
|
|
|
``temperature-ranges``
|
|
A list giving the temperature intervals on which the polynomials are valid.
|
|
For one temperature region, this list contains the minimum and maximum
|
|
temperatures for the polynomial. For two temperature regions, this list
|
|
contains the minimum, intermediate, and maximum temperatures.
|
|
|
|
``data``
|
|
A list with one item per temperature region, where that item is a 7 item
|
|
list of polynomial coefficients. The temperature regions are arranged in
|
|
ascending order. Note that this is different from the standard CHEMKIN
|
|
formulation that uses two temperature regions listed in descending order.
|
|
|
|
Example::
|
|
|
|
thermo:
|
|
model: NASA7
|
|
temperature-ranges: [300.0, 1000.0, 5000.0]
|
|
data:
|
|
- [3.298677, 0.0014082404, -3.963222e-06, 5.641515e-09,
|
|
-2.444854e-12, -1020.8999, 3.950372]
|
|
- [2.92664, 0.0014879768, -5.68476e-07, 1.0097038e-10,
|
|
-6.753351e-15, -922.7977, 5.980528]
|
|
|
|
|
|
.. _sec-yaml-nasa9:
|
|
|
|
NASA 9-coefficient polynomials
|
|
------------------------------
|
|
|
|
The polynomial form `described here <https://cantera.org/science/science-species.html#the-nasa-9-coefficient-polynomial-parameterization>`__,
|
|
given for any number of temperature regions. Additional fields of a ``NASA9``
|
|
thermo entry are:
|
|
|
|
``temperature-ranges``
|
|
A list giving the temperature intervals on which the polynomials are valid.
|
|
This list contains the minimum temperature, the intermediate temperatures
|
|
between each set pair of regions, and the maximum temperature.
|
|
|
|
``data``
|
|
A list with one item per temperature region, where that item is a 9 item
|
|
list of polynomial coefficients. The temperature regions are arranged in
|
|
ascending order.
|
|
|
|
Example::
|
|
|
|
thermo:
|
|
model: NASA9
|
|
temperature-ranges: [200.00, 1000.00, 6000.0, 20000]
|
|
reference-pressure: 1 bar
|
|
data:
|
|
- [2.210371497E+04, -3.818461820E+02, 6.082738360E+00, -8.530914410E-03,
|
|
1.384646189E-05, -9.625793620E-09, 2.519705809E-12, 7.108460860E+02,
|
|
-1.076003744E+01]
|
|
- [5.877124060E+05, -2.239249073E+03, 6.066949220E+00, -6.139685500E-04,
|
|
1.491806679E-07, -1.923105485E-11, 1.061954386E-15, 1.283210415E+04,
|
|
-1.586640027E+01]
|
|
- [8.310139160E+08, -6.420733540E+05, 2.020264635E+02, -3.065092046E-02,
|
|
2.486903333E-06, -9.705954110E-11, 1.437538881E-15, 4.938707040E+06,
|
|
-1.672099740E+03]
|
|
|
|
.. _sec-yaml-shomate:
|
|
|
|
Shomate polynomials
|
|
-------------------
|
|
|
|
The polynomial form `described here <https://cantera.org/science/science-species.html#the-shomate-parameterization>`__,
|
|
given for one or two temperature regions. Additional fields of a ``Shomate``
|
|
thermo entry are:
|
|
|
|
``temperature-ranges``
|
|
A list giving the temperature intervals on which the polynomials are valid.
|
|
For one temperature region, this list contains the minimum and maximum
|
|
temperatures for the polynomial. For two temperature regions, this list
|
|
contains the minimum, intermediate, and maximum temperatures.
|
|
|
|
``data``
|
|
A list with one item per temperature region, where that item is a 7 item
|
|
list of polynomial coefficients. The temperature regions are arranged in
|
|
ascending order.
|
|
|
|
Example::
|
|
|
|
thermo:
|
|
model: Shomate
|
|
temperature-ranges: [298, 1300, 6000]
|
|
data:
|
|
- [25.56759, 6.096130, 4.054656, -2.671301, 0.131021,
|
|
-118.0089, 227.3665]
|
|
- [35.15070, 1.300095, -0.205921, 0.013550, -3.282780,
|
|
-127.8375, 231.7120]
|
|
|
|
|
|
.. _sec-yaml-constcp:
|
|
|
|
Constant heat capacity
|
|
----------------------
|
|
|
|
The constant heat capacity model `described here <https://cantera.org/science/science-species.html#constant-heat-capacity>`__.
|
|
Additional fields of a ``constant-cp`` thermo entry are:
|
|
|
|
``T0``
|
|
The reference temperature. Defaults to 298.15 K.
|
|
|
|
``h0``
|
|
The molar enthalpy at the reference temperature. Defaults to 0.0.
|
|
|
|
``s0``
|
|
The molar entropy at the reference temperature. Defaults to 0.0.
|
|
|
|
``cp0``
|
|
The heat capacity at constant pressure. Defaults to 0.0.
|
|
|
|
Example::
|
|
|
|
thermo:
|
|
model: constant-cp
|
|
T0: 1000 K
|
|
h0: 9.22 kcal/mol
|
|
s0: -3.02 cal/mol/K
|
|
cp0: 5.95 cal/mol/K
|
|
|
|
.. _sec-yaml-piecewise-gibbs:
|
|
|
|
Piecewise Gibbs
|
|
---------------
|
|
|
|
A model based on piecewise interpolation of the Gibbs free energy as
|
|
`described here <https://cantera.org/documentation/dev/doxygen/html/d4/d9e/classCantera_1_1Mu0Poly.html#details>`__
|
|
Additional fields of a ``piecewise-Gibbs`` entry are:
|
|
|
|
``h0``
|
|
The molar enthalpy at the reference temperature of 298.15 K. Defaults to
|
|
0.0.
|
|
|
|
``dimensionless``
|
|
A boolean flag indicating whether the values of the Gibbs free energy are
|
|
given in a dimensionless form, i.e., divided by :math:`RT`. Defaults to
|
|
``false``.
|
|
|
|
``data``
|
|
A mapping of temperatures to values of the Gibbs free energy. The Gibbs free
|
|
energy can be either in molar units (if ``dimensionless`` is ``false``) or
|
|
nondimensionalized by the corresponding temperature (if ``dimensionless`` is
|
|
``true``). A value must be provided at :math:`T^\circ = 298.15` K.
|
|
|
|
Example::
|
|
|
|
thermo:
|
|
model: piecewise-Gibbs
|
|
h0: -230.015 kJ/mol
|
|
dimensionless: true
|
|
data: {298.15: -91.50963, 333.15: -85.0}
|
|
|
|
|
|
.. _sec-yaml-species-eos:
|
|
|
|
Species equation of state models
|
|
================================
|
|
|
|
``model``
|
|
String specifying the model to be used. Required. Supported model strings
|
|
are:
|
|
|
|
- :ref:`constant-volume <sec-yaml-eos-constant-volume>`
|
|
- :ref:`density-temperature-polynomial <sec-yaml-eos-density-temperature-polynomial>`
|
|
- :ref:`HKFT <sec-yaml-eos-hkft>`
|
|
- :ref:`ideal-gas <sec-yaml-eos-ideal-gas>`
|
|
- :ref:`ions-from-neutral-molecule <sec-yaml-eos-ions-from-neutral>`
|
|
- :ref:`liquid-water-IAPWS95 <sec-yaml-eos-liquid-water-iapws95>`
|
|
- :ref:`molar-volume-temperature-polynomial <sec-yaml-eos-molar-volume-temperature-polynomial>`
|
|
- :ref:`Redlich-Kwong <sec-yaml-eos-redlich-kwong>`
|
|
|
|
|
|
.. _sec-yaml-eos-constant-volume:
|
|
|
|
Constant volume
|
|
---------------
|
|
|
|
A constant volume model as
|
|
`described here <https://cantera.org/documentation/dev/doxygen/html/da/d33/classCantera_1_1PDSS__ConstVol.html#details>`__.
|
|
|
|
Any one of the following may be specified:
|
|
|
|
``molar-volume``
|
|
The molar volume of the species.
|
|
|
|
``molar-density``
|
|
The molar density of the species.
|
|
|
|
``density``
|
|
The mass density of the species.
|
|
|
|
Example::
|
|
|
|
equation-of-state:
|
|
model: constant-volume
|
|
molar-volume: 1.3 cm^3/mol
|
|
|
|
|
|
.. _sec-yaml-eos-density-temperature-polynomial:
|
|
|
|
Density temperature polynomial
|
|
------------------------------
|
|
|
|
A model in which the density varies with temperature as
|
|
`described here <https://cantera.org/documentation/dev/doxygen/html/d0/d2f/classCantera_1_1PDSS__SSVol.html#details>`__.
|
|
|
|
Additional fields:
|
|
|
|
``data``
|
|
Vector of 4 coefficients for a cubic polynomial in temperature
|
|
|
|
Example::
|
|
|
|
equation-of-state:
|
|
model: density-temperature-polynomial
|
|
units: {mass: g, length: cm}
|
|
data: [0.536504, -1.04279e-4, 3.84825e-9, -5.2853e-12]
|
|
|
|
|
|
.. _sec-yaml-eos-hkft:
|
|
|
|
HKFT
|
|
----
|
|
|
|
The Helgeson-Kirkham-Flowers-Tanger model as
|
|
`described here <https://cantera.org/documentation/dev/doxygen/html/d9/d18/classCantera_1_1PDSS__HKFT.html#details>`__.
|
|
|
|
Additional fields:
|
|
|
|
``h0``
|
|
Enthalpy of formation at the reference temperature and pressure
|
|
|
|
``s0``
|
|
Entropy of formation at the reference temperature and pressure
|
|
|
|
``a``
|
|
4-element vector containing the coefficients :math:`a_1, \ldots , a_4`
|
|
|
|
``c``
|
|
2-element vector containing the coefficients :math:`c_1` and :math:`c_2`
|
|
|
|
``omega``
|
|
The :math:`\omega` parameter at the reference temperature and pressure
|
|
|
|
Example::
|
|
|
|
equation-of-state:
|
|
model: HKFT
|
|
h0: -57433. cal/gmol
|
|
s0: 13.96 cal/gmol/K
|
|
a: [0.1839 cal/gmol/bar, -228.5 cal/gmol,
|
|
3.256 cal*K/gmol/bar, -27260. cal*K/gmol]
|
|
c: [18.18 cal/gmol/K, -29810. cal*K/gmol]
|
|
omega: 33060 cal/gmol
|
|
|
|
|
|
.. _sec-yaml-eos-ideal-gas:
|
|
|
|
Ideal gas
|
|
---------
|
|
|
|
A species using the ideal gas equation of state, as
|
|
`described here <https://cantera.org/documentation/dev/doxygen/html/df/d31/classCantera_1_1PDSS__IdealGas.html#details>`__.
|
|
This model is the default if no ``equation-of-state`` section is included.
|
|
|
|
|
|
.. _sec-yaml-eos-ions-from-neutral:
|
|
|
|
Ions from neutral molecule
|
|
--------------------------
|
|
|
|
A species equation of state model used with the ``ions-from-neutral-molecule``
|
|
phase model, as
|
|
`described here <https://cantera.org/documentation/dev/doxygen/html/d5/df4/classCantera_1_1PDSS__IonsFromNeutral.html#details>`__.
|
|
|
|
Additional fields:
|
|
|
|
``special-species``
|
|
Boolean indicating whether the species is the "special species" in the
|
|
phase. Default is ``false``.
|
|
|
|
``multipliers``
|
|
A dictionary mapping species to neutral species multiplier values.
|
|
|
|
Example::
|
|
|
|
equation-of-state:
|
|
model: ions-from-neutral-molecule
|
|
multipliers: {KCl(l): 1.2}
|
|
|
|
|
|
.. _sec-yaml-eos-liquid-water-iapws95:
|
|
|
|
Liquid Water IAPWS95
|
|
--------------------
|
|
|
|
A detailed equation of state for liquid water as
|
|
`described here <https://cantera.org/documentation/dev/doxygen/html/de/d64/classCantera_1_1PDSS__Water.html#details>`__.
|
|
|
|
|
|
.. _sec-yaml-eos-molar-volume-temperature-polynomial:
|
|
|
|
Molar volume temperature polynomial
|
|
-----------------------------------
|
|
|
|
A model in which the molar volume varies with temperature as
|
|
`described here <https://cantera.org/documentation/dev/doxygen/html/d0/d2f/classCantera_1_1PDSS__SSVol.html#details>`__.
|
|
|
|
Additional fields:
|
|
|
|
``data``
|
|
Vector of 4 coefficients for a cubic polynomial in temperature
|
|
|
|
|
|
.. _sec-yaml-eos-redlich-kwong:
|
|
|
|
Redlich-Kwong
|
|
-------------
|
|
|
|
A model where species follow the Redlich-Kwong equation of state as
|
|
`described here <https://cantera.org/documentation/dev/doxygen/html/d6/d29/classCantera_1_1RedlichKwongMFTP.html#details>`__.
|
|
|
|
Additional fields:
|
|
|
|
``a``
|
|
Pure-species ``a`` coefficient. Scalar or list of two values for a
|
|
temperature-dependent expression.
|
|
|
|
``b``
|
|
Pure-species ``b`` coefficient.
|
|
|
|
``binary-a``
|
|
Mapping where the keys are species and the values are the ``a``
|
|
coefficients for binary interactions between the two species.
|
|
|
|
|
|
.. _sec-yaml-species-transport:
|
|
|
|
Species transport models
|
|
========================
|
|
|
|
``model``
|
|
String specifying the model type. The only model that is specifically
|
|
handled is ``gas``.
|
|
|
|
Gas transport
|
|
-------------
|
|
|
|
Species transport properties are a rare exception to Cantera's use of SI units,
|
|
and use the units in which these properties are customarily reported. No
|
|
conversions are supported.
|
|
|
|
The additional fields of a ``gas`` transport entry are:
|
|
|
|
``geometry``
|
|
A string specifying the geometry of the molecule. One of ``atom``,
|
|
``linear``, or ``nonlinear``.
|
|
|
|
``diameter``
|
|
The Lennard-Jones collision diameter [Å]
|
|
|
|
``well-depth``
|
|
The Lennard-Jones well depth [K]
|
|
|
|
``dipole``
|
|
The permanent dipole moment [Debye]. Default 0.0.
|
|
|
|
``polarizability``
|
|
The dipole polarizability [Å^3]. Default 0.0.
|
|
|
|
``rotational-relaxation``
|
|
The rotational relaxation collision number at 298 K [-]. Default 0.0.
|
|
|
|
``acentric-factor``
|
|
Pitzer's acentric factor [-]. Default 0.0.
|
|
|
|
``dispersion-coefficient``
|
|
The dispersion coefficient, normalized by :math:`e^2` [Å^5]. Default 0.0.
|
|
|
|
``quadrupole-polarizability``
|
|
The quadrupole polarizability [Å^5]. Default 0.0.
|
|
|
|
Example::
|
|
|
|
transport:
|
|
model: gas
|
|
geometry: linear
|
|
well-depth: 107.4
|
|
diameter: 3.458
|
|
polarizability: 1.6
|
|
rotational-relaxation: 3.8
|