802 lines
25 KiB
ReStructuredText
802 lines
25 KiB
ReStructuredText
.. highlight:: yaml
|
|
|
|
*****************
|
|
Phase Definitions
|
|
*****************
|
|
|
|
A ``phase`` is a mapping that contains definitions for the elements, species,
|
|
and optionally reactions that can take place in that phase. The fields of a
|
|
``phase`` entry are:
|
|
|
|
``name``
|
|
String identifier used for the phase. Required.
|
|
|
|
``elements``
|
|
Specification for the elements present in the phase. This can be:
|
|
|
|
- Omitted, in which case the standard elements will be added as needed by
|
|
the species included in the phase.
|
|
- A list of element symbols, which can be either defined in the ``elements``
|
|
section of the file or taken from the standard elements.
|
|
- A list of single-key mappings of section names to lists of element
|
|
symbols. These sections can be in the same file as the phase definition,
|
|
or from another file if written as ``file-path/sectionname``. If a
|
|
relative path is specified, the directory containing the current file is
|
|
searched first, followed by the Cantera data path. Standard elements can
|
|
be included by referencing the fictitious section ``default``.
|
|
|
|
``species``
|
|
Specification for the species present in the phase. This can be:
|
|
|
|
- a list of species that appear in the ``species`` section of the file.
|
|
- The string ``all``, to indicate that all species in the ``species``
|
|
section should be included. This is the default if no ``species`` entry
|
|
is present.
|
|
- A list of single-key mappings of section names to either the string
|
|
``all`` or a list of species names. These sections can be in the same
|
|
file as the phase definition, or from another file if written as
|
|
``file-path/sectionname``. If a relative path is specified, the directory
|
|
containing the current file is searched first, followed by the Cantera
|
|
data path.
|
|
|
|
Species may be skipped depending on the setting of the
|
|
``skip-undeclared-elements`` option.
|
|
|
|
``skip-undeclared-elements``
|
|
If set to ``true``, do not add species that contain elements that are not
|
|
explicitly included in the phase. The default is ``false``, where the
|
|
presence of such species is considered an error.
|
|
|
|
``skip-undeclared-third-bodies``
|
|
If set to ``true``, ignore third body efficiencies for species that are not
|
|
defined in the phase. The default is ``false``, where the presence of
|
|
such third body specifications is considered an error.
|
|
|
|
``state``
|
|
A mapping specifying the thermodynamic state. See
|
|
:ref:`sec-yaml-setting-state`.
|
|
|
|
``thermo``
|
|
String specifying the phase thermodynamic model to be used. Supported model
|
|
strings are:
|
|
|
|
- :ref:`binary-solution-tabulated <sec-yaml-binary-solution-tabulated>`
|
|
- :ref:`compound-lattice <sec-yaml-compound-lattice>`
|
|
- :ref:`constant-density <sec-yaml-constant-density>`
|
|
- :ref:`Debye-Huckel <sec-yaml-Debye-Huckel>`
|
|
- :ref:`edge <sec-yaml-edge>`
|
|
- :ref:`fixed-chemical-potential <sec-yaml-fixed-chemical-potential>`
|
|
- :ref:`fixed-stoichiometry <sec-yaml-fixed-stoichiometry>`
|
|
- :ref:`HMW-electrolyte <sec-yaml-HMW-electrolyte>`
|
|
- :ref:`ideal-gas <sec-yaml-ideal-gas>`
|
|
- :ref:`ideal-gas-VPSS <sec-yaml-ideal-gas-VPSS>`
|
|
- :ref:`ideal-molal-solution <sec-yaml-ideal-molal-solution>`
|
|
- :ref:`ideal-condensed <sec-yaml-ideal-condensed>`
|
|
- :ref:`ideal-solution-VPSS <sec-yaml-ideal-solution-VPSS>`
|
|
- :ref:`ideal-surface <sec-yaml-ideal-surface>`
|
|
- :ref:`ions-from-neutral-molecule <sec-yaml-ions-from-neutral-molecule>`
|
|
- :ref:`lattice <sec-yaml-lattice>`
|
|
- :ref:`liquid-water-IAPWS95 <sec-yaml-liquid-water-IAPWS95>`
|
|
- :ref:`Margules <sec-yaml-Margules>`
|
|
- :ref:`Maskell-solid-solution <sec-yaml-Maskell-solid-solution>`
|
|
- :ref:`electron-cloud <sec-yaml-electron-cloud>`
|
|
- :ref:`pure-fluid <sec-yaml-pure-fluid>`
|
|
- :ref:`Redlich-Kister <sec-yaml-Redlich-Kister>`
|
|
- :ref:`Redlich-Kwong <sec-yaml-Redlich-Kwong>`
|
|
|
|
``kinetics``
|
|
String specifying the kinetics model to be used. Supported model strings
|
|
are:
|
|
|
|
- none
|
|
- `gas <https://cantera.org/documentation/dev/doxygen/html/de/dae/classCantera_1_1GasKinetics.html#details>`__
|
|
- `surface <https://cantera.org/documentation/dev/doxygen/html/d1/d72/classCantera_1_1InterfaceKinetics.html#details>`__
|
|
- `edge <https://cantera.org/documentation/dev/doxygen/html/d0/df0/classCantera_1_1EdgeKinetics.html#details>`__
|
|
|
|
``reactions``
|
|
Source of reactions to include in the phase, if a kinetics model has been
|
|
specified. This can be:
|
|
|
|
- The string ``all``, which indicates that all reactions from the
|
|
``reactions`` section of the file should be included. This is the default
|
|
if no ``reactions`` entry is present.
|
|
- The string ``declared-species``, which indicates that all reactions from
|
|
the ``reactions`` section involving only species present in the phase
|
|
should be included.
|
|
- The string ``none``, which indicates that no reactions should be added.
|
|
This can be used if reactions will be added programmatically after
|
|
the phase is constructed.
|
|
- A list of sections from which to include reactions. These sections can be
|
|
in the same file as the phase definition, or from another file if written
|
|
as ``file-path/sectionname``. If a relative path is specified, the
|
|
directory containing the current file is searched first, followed by the
|
|
Cantera data path.
|
|
- A list of single-key mappings of section names to rules for adding
|
|
reactions, where for each section name, that rule is either ``all`` or
|
|
``declared-species`` and is applied as described above.
|
|
|
|
``transport``
|
|
String specifying the transport model to be used. Supported model strings
|
|
are:
|
|
|
|
- none
|
|
- `high-pressure <https://cantera.org/documentation/dev/doxygen/html/d9/d63/classCantera_1_1HighPressureGasTransport.html#details>`__
|
|
- `ionized-gas <https://cantera.org/documentation/dev/doxygen/html/d4/d65/classCantera_1_1IonGasTransport.html#details>`__
|
|
- `mixture-averaged <https://cantera.org/documentation/dev/doxygen/html/d9/d17/classCantera_1_1MixTransport.html#details>`__
|
|
- `mixture-averaged-CK <https://cantera.org/documentation/dev/doxygen/html/d9/d17/classCantera_1_1MixTransport.html#details>`__
|
|
- `multicomponent <https://cantera.org/documentation/dev/doxygen/html/df/d7c/classCantera_1_1MultiTransport.html#details>`__
|
|
- `multicomponent-CK <https://cantera.org/documentation/dev/doxygen/html/df/d7c/classCantera_1_1MultiTransport.html#details>`__
|
|
- `unity-Lewis-number <https://cantera.org/documentation/dev/doxygen/html/d3/dd6/classCantera_1_1UnityLewisTransport.html#details>`__
|
|
- `water <https://cantera.org/documentation/dev/doxygen/html/df/d1f/classCantera_1_1WaterTransport.html#details>`__
|
|
|
|
|
|
|
|
.. _sec-yaml-setting-state:
|
|
|
|
Setting the state
|
|
=================
|
|
|
|
The state of a ``phase`` can be set using two properties to set the
|
|
thermodynamic state, plus the composition.
|
|
|
|
The composition can be set using one of the following fields, depending on the
|
|
phase type. The composition is specified as a mapping of species names to
|
|
values. Where necessary, the values will be automatically normalized.
|
|
|
|
- ``mass-fractions`` or ``Y``
|
|
- ``mole-fractions`` or ``X``
|
|
- ``coverages``
|
|
- ``molalities`` or ``M``
|
|
|
|
The thermodynamic state can be set using the following property pairs, with some
|
|
exceptions for phases where setting that property pair is not implemented. All
|
|
properties are on a per unit mass basis where relevant:
|
|
|
|
- ``T`` and ``P``
|
|
- ``T`` and ``D``
|
|
- ``T`` and ``V``
|
|
- ``H`` and ``P``
|
|
- ``U`` and ``V``
|
|
- ``S`` and ``V``
|
|
- ``S`` and ``P``
|
|
- ``S`` and ``T``
|
|
- ``P`` and ``V``
|
|
- ``U`` and ``P``
|
|
- ``V`` and ``H``
|
|
- ``T`` and ``H``
|
|
- ``S`` and ``H``
|
|
- ``D`` and ``P``
|
|
|
|
The following synonyms are also implemented for use in any of the pairs:
|
|
|
|
- ``temperature``, ``T``
|
|
- ``pressure``, ``P``
|
|
- ``enthalpy``, ``H``
|
|
- ``entropy``, ``S``
|
|
- ``int-energy``, ``internal-energy``, ``U``
|
|
- ``specific-volume``, ``V``
|
|
- ``density``, ``D``
|
|
|
|
|
|
.. _sec-phase-thermo-models:
|
|
|
|
Phase thermodynamic models
|
|
==========================
|
|
|
|
.. _sec-yaml-binary-solution-tabulated:
|
|
|
|
``binary-solution-tabulated``
|
|
-----------------------------
|
|
|
|
A phase implementing tabulated standard state thermodynamics for one species in
|
|
a binary solution, as `described here <https://cantera.org/documentation/dev/doxygen/html/de/ddf/classCantera_1_1BinarySolutionTabulatedThermo.html#details>`__.
|
|
|
|
Includes the fields of :ref:`sec-yaml-ideal-molal-solution`, plus:
|
|
|
|
``tabulated-species``
|
|
The name of the species to which the tabulated enthalpy and entropy is
|
|
added.
|
|
|
|
``tabulated-thermo``
|
|
A mapping containing three lists of equal lengths:
|
|
|
|
``mole-fractions``
|
|
A list of mole fraction values for the tabulated species.
|
|
|
|
``enthalpy``
|
|
The extra molar enthalpy to be added to the tabulated species at these
|
|
mole fractions.
|
|
|
|
``entropy``
|
|
The extra molar entropy to be added to the tabulated species at these
|
|
mole fractions.
|
|
|
|
|
|
.. _sec-yaml-compound-lattice:
|
|
|
|
``compound-lattice``
|
|
--------------------
|
|
|
|
A phase that is comprised of a fixed additive combination of other lattice
|
|
phases, as `described here <https://cantera.org/documentation/dev/doxygen/html/de/de1/classCantera_1_1LatticeSolidPhase.html#details>`__.
|
|
|
|
Additional fields:
|
|
|
|
``composition``
|
|
A mapping of component phase names to their relative stoichiometries.
|
|
|
|
Example::
|
|
|
|
thermo: compound-lattice
|
|
composition: {Li7Si3(s): 1.0, Li7Si3-interstitial: 1.0}
|
|
|
|
|
|
.. _sec-yaml-constant-density:
|
|
|
|
``constant-density``
|
|
--------------------
|
|
|
|
An incompressible phase with constant density, as
|
|
`described here <https://cantera.org/documentation/dev/doxygen/html/d9/de4/classCantera_1_1ConstDensityThermo.html#details>`__.
|
|
|
|
Additional fields:
|
|
|
|
``density``
|
|
The density of the phase
|
|
|
|
Example::
|
|
|
|
thermo: constant-density
|
|
density: 0.7 g/cm^3
|
|
|
|
|
|
.. _sec-yaml-Debye-Huckel:
|
|
|
|
``Debye-Huckel``
|
|
----------------
|
|
|
|
The Debye-Hückel model as
|
|
`described here <https://cantera.org/documentation/dev/doxygen/html/d8/d9a/classCantera_1_1DebyeHuckel.html#details>`__.
|
|
|
|
Additional parameters for this model are contained in the ``activity-data``
|
|
field:
|
|
|
|
``activity-data``
|
|
The activity data field contains the following fields:
|
|
|
|
``model``
|
|
One of ``dilute-limit``, ``B-dot-with-variable-a``,
|
|
``B-dot-with-common-a``, ``beta_ij``, or ``Pitzer-with-beta_ij``
|
|
|
|
``A_Debye``
|
|
The value of the Debye "A" parameter, or the string ``variable`` to use
|
|
a calculation based on the water equation of state.
|
|
|
|
``B_Debye``
|
|
The Debye "B" parameter
|
|
|
|
``max-ionic-strength``
|
|
The maximum ionic strength
|
|
|
|
``use-Helgeson-fixed-form``
|
|
Boolean, ``true`` or ``false``
|
|
|
|
``default-ionic-radius``
|
|
Ionic radius to use for species where the ionic radius has not been
|
|
specified.
|
|
|
|
``B-dot``
|
|
The value of B-dot.
|
|
|
|
``beta``
|
|
List of mappings providing values of :math:`\beta_{ij}` for different
|
|
species pairs. Each mapping contains a ``species`` key that contains a
|
|
list of two species names, and a ``beta`` key that contains the
|
|
corresponding value of :math:`\beta_{ij}`.
|
|
|
|
Example::
|
|
|
|
thermo: Debye-Huckel
|
|
activity-data:
|
|
model: beta_ij
|
|
max-ionic-strength: 3.0
|
|
use-Helgeson-fixed-form: true
|
|
default-ionic-radius: 3.042843 angstrom
|
|
beta:
|
|
- species: [H+, Cl-]
|
|
beta: 0.27
|
|
- species: [Na+, Cl-]
|
|
beta: 0.15
|
|
- species: [Na+, OH-]
|
|
beta: 0.06
|
|
|
|
|
|
.. _sec-yaml-edge:
|
|
|
|
``edge``
|
|
--------
|
|
|
|
A one-dimensional edge between two surfaces, as
|
|
`described here <https://cantera.org/documentation/dev/doxygen/html/d9/d17/classCantera_1_1EdgePhase.html#details>`__.
|
|
|
|
Additional fields:
|
|
|
|
``site-density``
|
|
The molar density of sites per unit length along the edge
|
|
|
|
Example::
|
|
|
|
thermo: edge
|
|
site-density: 5.0e-17 mol/cm
|
|
|
|
|
|
.. _sec-yaml-fixed-chemical-potential:
|
|
|
|
``fixed-chemical-potential``
|
|
----------------------------
|
|
|
|
A phase defined by a fixed value of the chemical potential, as
|
|
`described here <https://cantera.org/documentation/dev/doxygen/html/d6/db0/classCantera_1_1FixedChemPotSSTP.html#details>`__.
|
|
|
|
Additional fields:
|
|
|
|
``chemical-potential``
|
|
The molar chemical potential of the phase
|
|
|
|
Example::
|
|
|
|
thermo: fixed-chemical-potential
|
|
chemical-potential: -2.3e7 J/kmol
|
|
|
|
|
|
.. _sec-yaml-fixed-stoichiometry:
|
|
|
|
``fixed-stoichiometry``
|
|
-----------------------
|
|
|
|
A phase with fixed composition, as
|
|
`described here <https://cantera.org/documentation/dev/doxygen/html/d3/d50/classCantera_1_1StoichSubstance.html#details>`__.
|
|
|
|
|
|
.. _sec-yaml-HMW-electrolyte:
|
|
|
|
``HMW-electrolyte``
|
|
-------------------
|
|
|
|
A dilute or concentrated liquid electrolyte phase that obeys the Pitzer
|
|
formulation for nonideality, as
|
|
`described here <https://cantera.org/documentation/dev/doxygen/html/de/d1d/classCantera_1_1HMWSoln.html#details>`__.
|
|
|
|
Additional parameters for this model are contained in the ``activity-data``
|
|
field:
|
|
|
|
``activity-data``
|
|
The activity data field contains the following fields:
|
|
|
|
``temperature-model``
|
|
The form of the Pitzer temperature model. One of ``constant``,
|
|
``linear`` or ``complex``.
|
|
|
|
``A_Debye``
|
|
The value of the Debye "A" parameter, or the string ``variable`` to use
|
|
a calculation based on the water equation of state.
|
|
|
|
``max-ionic-strength``
|
|
The maximum ionic strength
|
|
|
|
``interactions``
|
|
A list of mappings, where each mapping describes a binary or ternary
|
|
interaction among species. Fields of this mapping include:
|
|
|
|
``species``
|
|
A list of one to three species names
|
|
|
|
``beta0``
|
|
The :math:`\beta^{(0)}` parameters for an cation/anion interaction.
|
|
1, 2, or 5 values depending on the value of ``temperature-model``.
|
|
|
|
``beta1``
|
|
The :math:`\beta^{(1)}` parameters for an cation/anion interaction.
|
|
1, 2, or 5 values depending on the value of ``temperature-model``.
|
|
|
|
``beta2``
|
|
The :math:`\beta^{(2)}` parameters for an cation/anion interaction.
|
|
1, 2, or 5 values depending on the value of ``temperature-model``.
|
|
|
|
``Cphi``
|
|
The :math:`C^\phi` parameters for an cation/anion interaction.
|
|
1, 2, or 5 values depending on the value of ``temperature-model``.
|
|
|
|
``alpha1``
|
|
The :math:`\alpha^{(1)}` parameter for an cation/anion interaction.
|
|
|
|
``alpha2``
|
|
The :math:`\alpha^{(2)}` parameter for an cation/anion interaction.
|
|
|
|
``theta``
|
|
The :math:`\theta` parameters for a like-charged binary interaction.
|
|
1, 2, or 5 values depending on the value of ``temperature-model``.
|
|
|
|
``lambda``
|
|
The :math:`\lambda` parameters for binary interactions involving at
|
|
least one neutral species. 1, 2, or 5 values depending on the value
|
|
of ``temperature-model``.
|
|
|
|
``psi``
|
|
The :math:`\Psi` parameters for ternary interactions involving three
|
|
charged species. 1, 2, or 5 values depending on the value of
|
|
``temperature-model``.
|
|
|
|
``zeta``
|
|
The :math:`\zeta` parameters for ternary interactions involving one
|
|
neutral species. 1, 2, or 5 values depending on the value of
|
|
``temperature-model``.
|
|
|
|
``mu``
|
|
The :math:`\mu` parameters for a neutral species self-interaction.
|
|
1, 2, or 5 values depending on the value of ``temperature-model``.
|
|
|
|
``cropping-coefficients``
|
|
|
|
``ln_gamma_k_min``
|
|
Default -5.0.
|
|
|
|
``ln_gamma_k_max``
|
|
Default 15.0.
|
|
|
|
``ln_gamma_o_min``
|
|
Default -6.0.
|
|
|
|
``ln_gamma_o_max``
|
|
Default 3.0.
|
|
|
|
Example::
|
|
|
|
thermo: HMW-electrolyte
|
|
activity-data:
|
|
temperature-model: complex
|
|
A_Debye: 1.175930 kg^0.5/gmol^0.5
|
|
interactions:
|
|
- species: [Na+, Cl-]
|
|
beta0: [0.0765, 0.008946, -3.3158E-6, -777.03, -4.4706]
|
|
beta1: [0.2664, 6.1608E-5, 1.0715E-6, 0.0, 0.0]
|
|
beta2: [0.0, 0.0, 0.0, 0.0, 0.0]
|
|
Cphi: [0.00127, -4.655E-5, 0.0, 33.317, 0.09421]
|
|
alpha1: 2.0
|
|
- species: [H+, Cl-]
|
|
beta0: [0.1775]
|
|
beta1: [0.2945]
|
|
beta2: [0.0]
|
|
Cphi: [0.0008]
|
|
alpha1: 2.0
|
|
- species: [Na+, OH-]
|
|
beta0: 0.0864
|
|
beta1: 0.253
|
|
beta2: 0.0
|
|
Cphi: 0.0044
|
|
alpha1: 2.0
|
|
alpha2: 0.0
|
|
- {species: [Cl-, OH-], theta: -0.05}
|
|
- {species: [Na+, Cl-, OH-], psi: -0.006}
|
|
- {species: [Na+, H+], theta: 0.036}
|
|
- {species: [Cl-, Na+, H+], psi: [-0.004]}
|
|
|
|
|
|
.. _sec-yaml-ideal-gas:
|
|
|
|
``ideal-gas``
|
|
-------------
|
|
|
|
The ideal gas model as
|
|
`described here <https://cantera.org/documentation/dev/doxygen/html/d7/dfa/classCantera_1_1IdealGasPhase.html#details>`__.
|
|
|
|
.. _sec-yaml-ideal-gas-VPSS:
|
|
|
|
``ideal-gas-VPSS``
|
|
------------------
|
|
|
|
The ideal gas model, using variable pressure standard state methods as
|
|
`described here <https://cantera.org/documentation/dev/doxygen/html/dc/ddb/classCantera_1_1IdealSolnGasVPSS.html#details>`__.
|
|
|
|
|
|
.. _sec-yaml-ideal-molal-solution:
|
|
|
|
``ideal-molal-solution``
|
|
------------------------
|
|
|
|
A phase based on the mixing-rule assumption that all molality-based activity
|
|
coefficients are equal to one, as
|
|
`described here <https://cantera.org/documentation/dev/doxygen/html/da/d5c/classCantera_1_1IdealMolalSoln.html#details>`__.
|
|
|
|
Additional fields:
|
|
|
|
``standard-concentration-basis``
|
|
A string specifying the basis for the standard concentration. One of
|
|
``unity``, ``species-molar-volume``, or ``solvent-molar-volume``.
|
|
|
|
``cutoff``
|
|
Parameters for cutoff treatments of activity coefficients
|
|
|
|
``model``
|
|
``poly`` or ``polyExp``
|
|
|
|
``gamma_o``
|
|
gamma_o value for the cutoff process at the zero solvent point
|
|
|
|
``gamma_k``
|
|
gamma_k minimum for the cutoff process at the zero solvent point
|
|
|
|
``X_o``
|
|
value of the solute mole fraction that centers the cutoff polynomials
|
|
for the cutoff = 1 process
|
|
|
|
``c_0``
|
|
Parameter in the polyExp cutoff treatment having to do with rate of
|
|
exponential decay
|
|
|
|
``slope_f``
|
|
Parameter in the ``polyExp`` cutoff treatment
|
|
|
|
``slope_g``
|
|
Parameter in the ``polyExp`` cutoff treatment
|
|
|
|
Example::
|
|
|
|
thermo: ideal-molal-solution
|
|
standard-concentration-basis: solvent-molar-volume
|
|
cutoff:
|
|
model: polyexp
|
|
gamma_o: 0.0001
|
|
gamma_k: 10.0
|
|
X_o: 0.2
|
|
c_0: 0.05
|
|
slope_f: 0.6
|
|
slope_g: 0.0
|
|
|
|
|
|
.. _sec-yaml-ideal-condensed:
|
|
|
|
``ideal-condensed``
|
|
-------------------
|
|
|
|
A condensed phase ideal solution as
|
|
`described here <https://cantera.org/documentation/dev/doxygen/html/d3/d4c/classCantera_1_1IdealSolidSolnPhase.html#details>`__.
|
|
|
|
Additional fields:
|
|
|
|
``standard-concentration-basis``
|
|
A string specifying the basis for the standard concentration. One of
|
|
``unity``, ``species-molar-volume``, or ``solvent-molar-volume``.
|
|
|
|
|
|
.. _sec-yaml-ideal-solution-VPSS:
|
|
|
|
``ideal-solution-VPSS``
|
|
-----------------------
|
|
|
|
An ideal solution model using variable pressure standard state methods as
|
|
`described here <https://cantera.org/documentation/dev/doxygen/html/dc/ddb/classCantera_1_1IdealSolnGasVPSS.html#details>`__.
|
|
|
|
Additional fields:
|
|
|
|
``standard-concentration-basis``
|
|
A string specifying the basis for the standard concentration. One of
|
|
``unity``, ``species-molar-volume``, or ``solvent-molar-volume``.
|
|
|
|
|
|
.. _sec-yaml-ideal-surface:
|
|
|
|
``ideal-surface``
|
|
-----------------
|
|
|
|
An ideal surface phase, as
|
|
`described here <https://cantera.org/documentation/dev/doxygen/html/d2/d95/classCantera_1_1SurfPhase.html#details>`__.
|
|
|
|
Additional fields:
|
|
|
|
``site-density``
|
|
The molar density of surface sites
|
|
|
|
|
|
.. _sec-yaml-ions-from-neutral-molecule:
|
|
|
|
``ions-from-neutral-molecule``
|
|
------------------------------
|
|
|
|
A model that handles the specification of the chemical potentials for ionic
|
|
species, given a specification of the chemical potentials for the same phase
|
|
expressed in terms of combinations of the ionic species that represent neutral
|
|
molecules, as
|
|
`described here <https://cantera.org/documentation/dev/doxygen/html/d7/d4a/classCantera_1_1IonsFromNeutralVPSSTP.html#details>`__.
|
|
|
|
Additional fields:
|
|
|
|
``neutral-phase``
|
|
The ``name`` of the phase definition for the phase containing the neutral
|
|
molecules.
|
|
|
|
Example::
|
|
|
|
- name: KCl-ions
|
|
thermo: ions-from-neutral-molecule
|
|
neutral-phase: KCl-neutral
|
|
species: [K+, Cl-]
|
|
- name: KCl-neutral
|
|
species: [KCl(l)]
|
|
thermo: Margules
|
|
|
|
|
|
.. _sec-yaml-lattice:
|
|
|
|
``lattice``
|
|
-----------
|
|
|
|
A simple thermodynamic model for a bulk phase, assuming a lattice of solid
|
|
atoms, as
|
|
`described here <https://cantera.org/documentation/dev/doxygen/html/d1/da0/classCantera_1_1LatticePhase.html#details>`__.
|
|
|
|
Additional fields:
|
|
|
|
``site-density``
|
|
The molar density of lattice sites
|
|
|
|
|
|
.. _sec-yaml-liquid-water-IAPWS95:
|
|
|
|
``liquid-water-IAPWS95``
|
|
------------------------
|
|
|
|
An equation of state for liquid water, as
|
|
`described here <https://cantera.org/documentation/dev/doxygen/html/dc/d86/classCantera_1_1WaterSSTP.html#details>`__.
|
|
|
|
|
|
.. _sec-yaml-Margules:
|
|
|
|
``Margules``
|
|
------------
|
|
|
|
A phase employing the Margules approximation for the excess Gibbs free energy, as
|
|
`described here <https://cantera.org/documentation/dev/doxygen/html/d7/dfe/classCantera_1_1MargulesVPSSTP.html#details>`__.
|
|
|
|
Additional fields:
|
|
|
|
``interactions``
|
|
A list of mappings, where each mapping has the following fields:
|
|
|
|
``species``
|
|
A list of two species names
|
|
|
|
``excess-enthalpy``
|
|
A list of two values specifying the first and second excess enthalpy
|
|
coefficients for the interaction of the specified species. Defaults to
|
|
[0, 0].
|
|
|
|
``excess-entropy``
|
|
A list of two values specifying the first and second excess entropy
|
|
coefficients for the interaction of the specified species. Defaults to
|
|
[0, 0].
|
|
|
|
``excess-volume-enthalpy``
|
|
A list of two values specifying the first and second enthalpy
|
|
coefficients for the excess volume interaction of the specified species.
|
|
Defaults to [0, 0].
|
|
|
|
``excess-volume-entropy``
|
|
A list of two values specifying the first and second entropy
|
|
coefficients for the excess volume interaction of the specified species.
|
|
Defaults to [0, 0].
|
|
|
|
Example::
|
|
|
|
thermo: Margules
|
|
interactions:
|
|
- species: [KCl(l), LiCl(l)]
|
|
excess-enthalpy: [-17570, -377]
|
|
excess-entropy: [-7.627, 4.958]
|
|
|
|
|
|
.. _sec-yaml-Maskell-solid-solution:
|
|
|
|
``Maskell-solid-solution``
|
|
--------------------------
|
|
|
|
A condensed phase non-ideal solution with two species, as
|
|
`described here <https://cantera.org/documentation/dev/doxygen/html/dd/d3a/classCantera_1_1MaskellSolidSolnPhase.html#details>`__.
|
|
|
|
Additional fields:
|
|
|
|
``excess-enthalpy``
|
|
The molar excess enthalpy
|
|
|
|
``product-species``
|
|
String specifying the "product" species
|
|
|
|
Example::
|
|
|
|
thermo: Maskell-solid-solution
|
|
excess-enthalpy: 5 J/mol
|
|
product-species: H(s)
|
|
|
|
|
|
.. _sec-yaml-electron-cloud:
|
|
|
|
``electron-cloud``
|
|
------------------
|
|
|
|
A phase representing an electron cloud, such as conduction electrons in a metal,
|
|
as `described here <https://cantera.org/documentation/dev/doxygen/html/d9/d13/classCantera_1_1MetalPhase.html#details>`__.
|
|
|
|
Additional fields:
|
|
|
|
``density``
|
|
The density of the bulk metal
|
|
|
|
|
|
.. _sec-yaml-pure-fluid:
|
|
|
|
``pure-fluid``
|
|
--------------
|
|
|
|
A phase representing a pure fluid equation of state for one of several species,
|
|
as `described here <https://cantera.org/documentation/dev/doxygen/html/d1/d29/classCantera_1_1PureFluidPhase.html#details>`__.
|
|
|
|
Additional fields:
|
|
|
|
``pure-fluid-name``
|
|
Name of the pure fluid model to use:
|
|
- ``carbondioxide``
|
|
- ``heptane``
|
|
- ``hfc134a``
|
|
- ``hydrogen``
|
|
- ``methane``
|
|
- ``nitrogen``
|
|
- ``oxygen``
|
|
- ``water``
|
|
|
|
|
|
.. _sec-yaml-Redlich-Kister:
|
|
|
|
``Redlich-Kister``
|
|
------------------
|
|
|
|
A phase employing the Redlich-Kister approximation for the excess Gibbs free
|
|
energy, as
|
|
`described here <https://cantera.org/documentation/dev/doxygen/html/d0/d23/classCantera_1_1RedlichKisterVPSSTP.html#details>`__.
|
|
|
|
Additional fields:
|
|
|
|
``interactions``
|
|
A list of mappings, where each mapping has the following fields:
|
|
|
|
``species``
|
|
A list of two species names
|
|
|
|
``excess-enthalpy``
|
|
A list of polynomial coefficients for the excess enthalpy of the
|
|
specified binary interaction
|
|
|
|
``excess-entropy``
|
|
A list of polynomial coefficients for the excess entropy of the
|
|
specified binary interaction
|
|
|
|
Example::
|
|
|
|
thermo: Redlich-Kister
|
|
interactions:
|
|
- species: [Li(C6), V(C6)]
|
|
excess-enthalpy: [-3.268e+06, 3.955e+06, -4.573e+06, 6.147e+06, -3.339e+06,
|
|
1.117e+07, 2.997e+05, -4.866e+07, 1.362e+05, 1.373e+08,
|
|
-2.129e+07, -1.722e+08, 3.956e+07, 9.302e+07, -3.280e+07]
|
|
excess-entropy: [0.0]
|
|
|
|
|
|
.. _sec-yaml-Redlich-Kwong:
|
|
|
|
``Redlich-Kwong``
|
|
-----------------
|
|
|
|
A multi-species Redlich-Kwong phase as
|
|
`described here <https://cantera.org/documentation/dev/doxygen/html/d6/d29/classCantera_1_1RedlichKwongMFTP.html#details>`__.
|
|
|
|
The parameters for each species are contained in the corresponding species
|
|
entries.
|