[Doc] Introduce some LaTeX macros in Sphinx and fix text subscripts

This commit is contained in:
Ray Speth 2024-01-02 14:31:01 -05:00 committed by Ray Speth
parent 7aa65e55a0
commit d36a07a2a3
18 changed files with 185 additions and 178 deletions

View File

@ -225,6 +225,15 @@ intersphinx_mapping = {
myst_enable_extensions = ["dollarmath", "amsmath", "deflist", "colon_fence"]
mathjax3_config = {
'tex': {
'macros': {
't': ['\\mathrm{#1}', 1],
'pxpy': ['\\frac{\\partial #1}{\\partial #2}', 2]
}
}
}
# Ensure that the primary domain is the Python domain, since we've added the
# MATLAB domain with sphinxcontrib.matlab
primary_domain = 'py'

View File

@ -165,7 +165,7 @@ example, using the {py:class}`ExtensibleReactor` class, the governing equations
reactor are written in the form:
$$
\mathrm{LHS}_i \frac{dy_i}{dt} = \mathrm{RHS}_i
\t{LHS}_i \frac{dy_i}{dt} = \t{RHS}_i
$$
where the {ct}`Reactor::eval` method or the `eval()` method of any class derived from

View File

@ -25,22 +25,22 @@ field.
## Falloff Reactions
A falloff reaction is one that has a rate that is first-order in the total concentration
of third-body colliders $\def\MM{[\mathrm{M}]} \MM$ at low pressure, like a
[three-body reaction](sec-three-body-reaction), but becomes zero-order in $\MM$ as $\MM$
increases. Dissociation/association reactions of polyatomic molecules often exhibit this
behavior.
of third-body colliders $[\t{M}]$ at low pressure, like a
[three-body reaction](sec-three-body-reaction), but becomes zero-order in $[\t{M}]$ as
$[\t{M}]$ increases. Dissociation/association reactions of polyatomic molecules often
exhibit this behavior.
The simplest expression for the rate coefficient for a falloff reaction is the Lindemann
form {cite:p}`lindemann1922`:
$$ k_f(T, \MM) = \frac{k_0 \MM}{1 + \frac{k_0 \MM}{k_\infty}} $$
$$ k_f(T, [\t{M}]) = \frac{k_0 [\t{M}]}{1 + \frac{k_0 [\t{M}]}{k_\infty}} $$
In the low-pressure limit, this approaches $k_0 \MM$, and in the high-pressure limit it
approaches $k_\infty$.
In the low-pressure limit, this approaches $k_0 [\t{M}]$, and in the high-pressure limit
it approaches $k_\infty$.
Defining the non-dimensional reduced pressure:
$$ P_r = \frac{k_0 \MM}{k_\infty} $$
$$ P_r = \frac{k_0 [\t{M}]}{k_\infty} $$
The rate constant may be written as
@ -67,15 +67,15 @@ A falloff reaction may be defined in the YAML format using the
A widely-used falloff function is the one proposed by {cite:t}`gilbert1983`:
\begin{gather*}
\log_{10} F(T, P_r) = \frac{\log_{10} F_{cent}(T)}{1 + f_1^2} \\
\log_{10} F(T, P_r) = \frac{\log_{10} F_\t{cent}(T)}{1 + f_1^2} \\
F_{cent}(T) = (1-A) \exp(-T/T_3) + A \exp (-T/T_1) + \exp(-T_2/T) \\
F_\t{cent}(T) = (1-A) \exp(-T/T_3) + A \exp (-T/T_1) + \exp(-T_2/T) \\
f_1 = (\log_{10} P_r + C) / (N - 0.14 (\log_{10} P_r + C)) \\
C = -0.4 - 0.67\; \log_{10} F_{cent} \\
C = -0.4 - 0.67\; \log_{10} F_\t{cent} \\
N = 0.75 - 1.27\; \log_{10} F_{cent}
N = 0.75 - 1.27\; \log_{10} F_\t{cent}
\end{gather*}
```{admonition} YAML Usage
@ -87,13 +87,13 @@ term of the falloff function is not used.
```
(sec-tsang-falloff)=
### Tsang's Approximation to $F_{cent}$
### Tsang's Approximation to $F_\t{cent}$
Wing Tsang presented approximations for the value of $F_{cent}$ for Troe falloff in
Wing Tsang presented approximations for the value of $F_\t{cent}$ for Troe falloff in
databases of reactions, for example, {cite:t}`tsang1991`. Tsang's approximations are
linear in temperature:
$$ F_{cent} = A + BT $$
$$ F_\t{cent} = A + BT $$
where $A$ and $B$ are constants. The remaining equations for $C$, $N$, $f_1$, and $F$
from the [Troe](sec-troe-falloff) falloff function are not affected.
@ -132,11 +132,11 @@ An SRI falloff function may be specified in the YAML format using the
For these reactions, the rate falls off as the pressure increases, due to collisional
stabilization of a reaction intermediate. Example:
$$ \mathrm{Si + SiH_4 (+M) \leftrightarrow Si_2H_2 + H_2 (+M)} $$
$$ \t{Si + SiH_4 (+M) \leftrightarrow Si_2H_2 + H_2 (+M)} $$
which competes with:
$$ \mathrm{Si + SiH_4 (+M) \leftrightarrow Si_2H_4 (+M)} $$
$$ \t{Si + SiH_4 (+M) \leftrightarrow Si_2H_4 (+M)} $$
Like falloff reactions, chemically-activated reactions are described by blending between
a low-pressure and a high-pressure rate expression. The difference is that the forward
@ -210,15 +210,15 @@ defining the rate, $\phi_n(x)$ is the Chebyshev polynomial of the first kind of
$n$ evaluated at $x$, and
$$
\tilde{T} \equiv \frac{2T^{-1} - T_\mathrm{min}^{-1} - T_\mathrm{max}^{-1}}
{T_\mathrm{max}^{-1} - T_\mathrm{min}^{-1}}
\tilde{T} \equiv \frac{2T^{-1} - T_\t{min}^{-1} - T_\t{max}^{-1}}
{T_\t{max}^{-1} - T_\t{min}^{-1}}
\tilde{P} \equiv \frac{2 \log P - \log P_\mathrm{min} - \log P_\mathrm{max}}
{\log P_\mathrm{max} - \log P_\mathrm{min}}
\tilde{P} \equiv \frac{2 \log P - \log P_\t{min} - \log P_\t{max}}
{\log P_\t{max} - \log P_\t{min}}
$$
are reduced temperatures and reduced pressures which map the ranges $(T_\mathrm{min},
T_\mathrm{max})$ and $(P_\mathrm{min}, P_\mathrm{max})$ to $(-1, 1)$.
are reduced temperatures and reduced pressures which map the ranges $(T_\t{min},
T_\t{max})$ and $(P_\t{min}, P_\t{max})$ to $(-1, 1)$.
A Chebyshev rate expression is specified in terms of the coefficient matrix $\alpha$ and
the temperature and pressure ranges.
@ -284,7 +284,7 @@ Blowers Masel reactions can be defined in the YAML format using the
Heterogeneous reactions on surfaces are represented by an extended Arrhenius- like rate
expression, which combines the modified Arrhenius rate expression with further
corrections dependent on the fractional surface coverages $\theta_{k}$ of one or more
corrections dependent on the fractional surface coverages $\theta_k$ of one or more
surface species. The forward rate constant for a reaction of this type is:
$$
@ -329,9 +329,9 @@ for all temperatures.
The sticking coefficient is related to the forward rate constant by the formula:
$$ k_f = \frac{\gamma}{\Gamma_\mathrm{tot}^m} \sqrt{\frac{RT}{2 \pi W}} $$
$$ k_f = \frac{\gamma}{\Gamma_\t{tot}^m} \sqrt{\frac{RT}{2 \pi W}} $$
where $\Gamma_\mathrm{tot}$ is the total molar site density, $m$ is the sum of all the
where $\Gamma_\t{tot}$ is the total molar site density, $m$ is the sum of all the
surface reactant stoichiometric coefficients, and $W$ is the molecular weight of the gas
phase species.

View File

@ -9,11 +9,11 @@ types.
The basic reaction type is a homogeneous reaction with a pressure-independent
rate coefficient and mass action kinetics. For example:
$$ \mathrm{A + B \rightleftharpoons C + D} $$
$$ \t{A + B \rightleftharpoons C + D} $$
The forward reaction rate is then calculated as:
$$ R_f = [\mathrm{A}] [\mathrm{B}] k_f $$
$$ R_f = [\t{A}] [\t{B}] k_f $$
where $k_f$ is the forward rate constant, calculated using one of the available rate
parameterizations such as the [modified Arrhenius](sec-arrhenius-rate) form.
@ -32,30 +32,30 @@ reaction type is [`three-body`](sec-yaml-three-body).
A three-body reaction is a gas-phase reaction of the form:
$$ \mathrm{A + B + M \rightleftharpoons AB + M} $$
$$ \t{A + B + M \rightleftharpoons AB + M} $$
Here $\mathrm{M}$ is an unspecified collision partner that carries away excess energy to
stabilize the $\mathrm{AB}$ molecule (forward direction) or supplies energy to break the
$\mathrm{AB}$ bond (reverse direction). In addition to the generic collision partner
$\mathrm{M}$, it is also possible to explicitly specify a colliding species. In both
Here $\t{M}$ is an unspecified collision partner that carries away excess energy to
stabilize the $\t{AB}$ molecule (forward direction) or supplies energy to break the
$\t{AB}$ bond (reverse direction). In addition to the generic collision partner
$\t{M}$, it is also possible to explicitly specify a colliding species. In both
cases, the reaction type can be automatically inferred by Cantera and does not need to
be explicitly specified by the user.
Different species may be more or less effective in acting as the collision partner. A
species that is much lighter than $\mathrm{A}$ and $\mathrm{B}$ may not be able to
species that is much lighter than $\t{A}$ and $\t{B}$ may not be able to
transfer much of its kinetic energy, and so would be inefficient as a collision partner.
On the other hand, a species with a transition from its ground state that is nearly
resonant with one in the $\mathrm{AB^*}$ activated complex may be much more effective at
resonant with one in the $\t{AB^*}$ activated complex may be much more effective at
exchanging energy than would otherwise be expected.
These effects can be accounted for by defining a collision efficiency $\epsilon$ for
each species, defined such that the forward reaction rate is
$$ R_f = [\mathrm{A}][\mathrm{B}][\mathrm{M}]k_f(T) $$
$$ R_f = [\t{A}][\t{B}][\t{M}] k_f(T) $$
where
$$ [\mathrm{M}] = \sum_{k} \epsilon_k C_k $$
$$ [\t{M}] = \sum_{k} \epsilon_k C_k $$
where $C_k$ is the concentration of species $k$. Since any constant collision efficiency
can be absorbed into the rate coefficient $k_f(T)$, the default collision efficiency is
@ -70,9 +70,9 @@ Sometimes, accounting for a particular third body's collision efficiency may req
alternate set of rate parameters entirely. In this case, two reactions are written:
$$
\mathrm{A + B + M \rightleftharpoons AB + M \quad (R1)}
\t{A + B + M \rightleftharpoons AB + M \quad (R1)}
\mathrm{A + B + C \rightleftharpoons AB + C \quad (R2)}
\t{A + B + C \rightleftharpoons AB + C \quad (R2)}
$$
where the third-body efficiency for C in the first reaction should be explicitly set to
@ -105,14 +105,14 @@ Explicit reaction orders different from the stoichiometric coefficients are some
used for non-elementary reactions. For example, consider the global reaction:
$$
\mathrm{C_8H_{18} + 12.5 O_2 \rightarrow 8 CO_2 + 9 H_2O}
\t{C_8H_{18} + 12.5 O_2 \rightarrow 8 CO_2 + 9 H_2O}
$$
the forward rate constant might be given as {cite:p}`westbrook1981`:
$$
k_f = 4.6 \times 10^{11} [\mathrm{C_8H_{18}}]^{0.25} [\mathrm{O_2}]^{1.5}
\exp\left(\frac{30.0\,\mathrm{kcal/mol}}{RT}\right)
k_f = 4.6 \times 10^{11} [\t{C_8H_{18}}]^{0.25} [\t{O_2}]^{1.5}
\exp\left(\frac{30.0\,\t{kcal/mol}}{RT}\right)
$$
Special care is required in this case since the units of the pre-exponential factor

View File

@ -11,30 +11,25 @@ in Section 7.2 of {cite:t}`kee2017` and are implemented by class {ct}`StFlow`.
*Continuity*:
$$ \frac{\partial\rho u}{\partial z} + 2 \rho V = 0 $$
$$ \pxpy{u}{z} + 2 \rho V = 0 $$
*Radial momentum*:
$$
\rho u \frac{\partial V}{\partial z} + \rho V^2 =
- \Lambda
+ \frac{\partial}{\partial z}\left(\mu \frac{\partial V}{\partial z}\right)
\rho u \pxpy{V}{z} + \rho V^2 = - \Lambda + \pxpy{}{z}\left(\mu \pxpy{V}{z}\right)
$$
*Energy*:
$$
\rho c_p u \frac{\partial T}{\partial z} =
\frac{\partial}{\partial z}\left(\lambda \frac{\partial T}{\partial z}\right)
- \sum_k j_k \frac{\partial h_k}{\partial z}
- \sum_k h_k W_k \dot{\omega}_k
\rho c_p u \pxpy{T}{z} = \pxpy{}{z}\left(\lambda \pxpy{T}{z}\right)
- \sum_k j_k \pxpy{h_k}{z} - \sum_k h_k W_k \dot{\omega}_k
$$
*Species*:
$$
\rho u \frac{\partial Y_k}{\partial z} = - \frac{\partial j_k}{\partial z}
+ W_k \dot{\omega}_k
\rho u \pxpy{Y_k}{z} = - \pxpy{j_k}{z} + W_k \dot{\omega}_k
$$
where the following variables are used:
@ -82,7 +77,7 @@ mixture-averaged or multicomponent formulation. If the mixture-averaged formulat
used, the calculation performed is:
$$
j_k^* = - \rho \frac{W_k}{\overline{W}} D_{km}^\prime \frac{\partial X_k}{\partial z}
j_k^* = - \rho \frac{W_k}{\overline{W}} D_{km}^\prime \pxpy{X_k}{z}
j_k = j_k^* - Y_k \sum_i j_i^*
$$
@ -97,8 +92,8 @@ guaranteed by the mixture-averaged formulation.
When using the multicomponent formulation, the mass fluxes are computed according to:
$$
j_k = \frac{\rho W_k}{\overline{W}^2} \sum_i W_i D_{ki} \frac{\partial X_i}{\partial z}
- \frac{D_k^T}{T} \frac{\partial T}{\partial z}
j_k = \frac{\rho W_k}{\overline{W}^2} \sum_i W_i D_{ki} \pxpy{X_i}{z}
- \frac{D_k^T}{T} \pxpy{T}{z}
$$
where $D_{ki}$ is the multicomponent diffusion coefficient and $D_k^T$ is the Soret
@ -118,74 +113,73 @@ freely-propagating flame, the mass flow rate is not an input but is determined
indirectly by holding the temperature fixed at an intermediate location within the
domain; see [](discretization) for details.
The following equations are solved at the point $z = z_0$:
The following equations are solved at the point $z = z_\t{in}$:
$$
T(z_0) &= T_0
T(z_\t{in}) &= T_0
V(z_0) &= V_0
V(z_\t{in}) &= V_0
\dot{m}_0 Y_{k,0} - j_k(z_0) - \rho(z_0) u(z_0) Y_k(z_0) &= 0
\dot{m}_0 Y_{k,\t{in}} - j_k(z_\t{in}) - \rho(z_\t{in}) u(z_\t{in}) Y_k(z_\t{in}) &= 0
$$
If the mass flow rate is specified, we also solve:
$$
\rho(z_0) u(z_0) = \dot{m}_0
\rho(z_\t{in}) u(z_\t{in}) = \dot{m}_0
$$
Otherwise, we solve:
$$ \Lambda(z_0) = 0 $$
$$ \Lambda(z_\t{in}) = 0 $$
These equations are implemented by class {ct}`Inlet1D`.
### Outlet boundary
For a boundary located at a point $z_0$ where there is an outflow, we
solve:
For a boundary located at a point $z_\t{out}$ where there is an outflow, we solve:
$$
\Lambda(z_0) = 0
\Lambda(z_\t{out}) = 0
\left.\frac{\partial T}{\partial z}\right|_{z_0} = 0
\left.\pxpy{T}{z}\right|_{z_\t{out}} = 0
\left.\frac{\partial Y_k}{\partial z}\right|_{z_0} = 0
\left.\pxpy{Y_k}{z}\right|_{z_\t{out}} = 0
V(z_0) = 0
V(z_\t{out}) = 0
$$
These equations are implemented by class {ct}`Outlet1D`.
### Symmetry boundary
For a symmetry boundary located at a point $z_0$, we solve:
For a symmetry boundary located at a point $z_\t{symm}$, we solve:
$$
\rho(z_0) u(z_0) = 0
\rho(z_\t{symm}) u(z_\t{symm}) = 0
\left.\frac{\partial V}{\partial z}\right|_{z_0} = 0
\left.\pxpy{V}{z}\right|_{z_\t{symm}} = 0
\left.\frac{\partial T}{\partial z}\right|_{z_0} = 0
\left.\pxpy{T}{z}\right|_{z_\t{symm}} = 0
j_k(z_0) = 0
j_k(z_\t{symm}) = 0
$$
These equations are implemented by class {ct}`Symm1D`.
### Reacting surface
For a surface boundary located at a point $z_0$ on which reactions may occur, the
temperature $T_0$ is specified. We solve:
For a surface boundary located at a point $z_\t{surf}$ on which reactions may
occur, the temperature $T_\t{surf}$ is specified. We solve:
$$
\rho(z_0) u(z_0) &= 0
\rho(z_\t{surf}) u(z_\t{surf}) &= 0
V(z_0) &= 0
V(z_\t{surf}) &= 0
T(z_0) &= T_0
T(z_\t{surf}) &= T_\t{surf}
j_k(z_0) + \dot{s}_k W_k &= 0
j_k(z_\t{surf}) + \dot{s}_k W_k &= 0
$$
where $\dot{s}_k$ is the molar production rate of the gas-phase species $k$ on the
@ -201,8 +195,7 @@ drift term to the diffusive fluxes of the mixture-average formulation according
{cite:t}`pedersen1993`,
$$
j_k^* = \rho \frac{W_k}{\overline{W}} D_{km}^\prime \frac{\partial X_k}{\partial z} +
s_k \mu_k E Y_k,
j_k^* = \rho \frac{W_k}{\overline{W}} D_{km}^\prime \pxpy{X_k}{z} + s_k \mu_k E Y_k,
$$
where $s_k$ is the sign of charge (1,-1, and 0 respectively for positive, negative, and
@ -219,7 +212,7 @@ $$
In addition, Gauss's law is solved simultaneously with the species and energy equations,
$$
\frac{\partial E}{\partial z} &= \frac{e}{\epsilon_0}\sum_k Z_k n_k ,
\pxpy{E}{z} &= \frac{e}{\epsilon_0}\sum_k Z_k n_k ,
n_k &= N_a \rho Y_k / W_k,

View File

@ -23,8 +23,8 @@ homogeneous phase reactions is $V \dot{\omega}_k$, and the total rate at which m
species $k$ changes is:
$$
\frac{dn_k}{dt} = V \dot{\omega}_k + \sum_{in} \dot{n}_{k, in}
- \sum_{out} \dot{n}_{k, out} + \dot{n}_{k, wall}
\frac{dn_k}{dt} = V \dot{\omega}_k + \sum_\t{in} \dot{n}_{k, \t{in}}
- \sum_\t{out} \dot{n}_{k, \t{out}} + \dot{n}_{k, \t{wall}}
$$ (const-pressure-mole-reactor-species)
Where the subscripts *in* and *out* refer to the sum of the corresponding property over
@ -35,8 +35,8 @@ all inlets and outlets respectively. A dot above a variable signifies a time der
Writing the first law for an open system gives:
$$
\frac{dU}{dt} = - p \frac{dV}{dt} + \dot{Q} +
\sum_{in} \dot{n}_{in} \hat{h}_{in} - \hat{h} \sum_{out} \dot{n}_{out}
\frac{dU}{dt} = - p \frac{dV}{dt} + \dot{Q} + \sum_\t{in} \dot{n}_\t{in} \hat{h}_\t{in}
- \hat{h} \sum_\t{out} \dot{n}_\t{out}
$$
where positive $\dot{Q}$ represents heat addition to the system and $h$ is the specific
@ -50,6 +50,6 @@ $$ \frac{dH}{dt} = \frac{dU}{dt} + p \frac{dV}{dt} + V \frac{dp}{dt} $$
Noting that $dp/dt = 0$ and substituting into the energy equation yields:
$$
\frac{dH}{dt} = \dot{Q} + \sum_{in} \dot{n}_{in} \hat{h}_{in}
- \hat{h} \sum_{out} \dot{n}_{out}
\frac{dH}{dt} = \dot{Q} + \sum_\t{in} \dot{n}_\t{in} \hat{h}_\t{in}
- \hat{h} \sum_\t{out} \dot{n}_\t{out}
$$ (const-pressure-mole-reactor-energy)

View File

@ -22,7 +22,8 @@ reactor's [inlets and outlets](sec-flow-device), and production of homogeneous p
species on [surfaces](sec-reactor-surface):
$$
\frac{dm}{dt} = \sum_{in} \dot{m}_{in} - \sum_{out} \dot{m}_{out} + \dot{m}_{wall}
\frac{dm}{dt} = \sum_\t{in} \dot{m}_\t{in} - \sum_\t{out} \dot{m}_\t{out} +
\dot{m}_\t{wall}
$$ (constpressurereactor-mass)
Where the subscripts *in* and *out* refer to the sum of the superscripted property over
@ -33,21 +34,21 @@ all inlets and outlets respectively. A dot above a variable signifies a time der
The rate at which species $k$ is generated through homogeneous phase reactions is $V
\dot{\omega}_k W_k$, and the total rate at which species $k$ is generated is:
$$ \dot{m}_{k,gen} = V \dot{\omega}_k W_k + \dot{m}_{k,wall} $$
$$ \dot{m}_{k,\t{gen}} = V \dot{\omega}_k W_k + \dot{m}_{k,\t{wall}} $$
The rate of change in the mass of each species is:
$$
\frac{d(mY_k)}{dt} = \sum_{in} \dot{m}_{in} Y_{k,in} - \sum_{out} \dot{m}_{out} Y_k +
\dot{m}_{k,gen}
\frac{d(mY_k)}{dt} = \sum_\t{in} \dot{m}_\t{in} Y_{k,\t{in}}
- \sum_\t{out} \dot{m}_\t{out} Y_k + \dot{m}_{k,\t{gen}}
$$
Expanding the derivative on the left hand side and substituting the equation for
$dm/dt$, the equation for each homogeneous phase species is:
$$
m \frac{dY_k}{dt} = \sum_{in} \dot{m}_{in} (Y_{k,in} - Y_k) +
\dot{m}_{k,gen} - Y_k \dot{m}_{wall}
m \frac{dY_k}{dt} = \sum_\t{in} \dot{m}_\t{in} (Y_{k,\t{in}} - Y_k)
+ \dot{m}_{k,\t{gen}} - Y_k \dot{m}_\t{wall}
$$ (constpressurereactor-species)
## Energy Equation
@ -55,8 +56,8 @@ $$ (constpressurereactor-species)
Writing the first law for an open system gives:
$$
\frac{dU}{dt} = - p \frac{dV}{dt} + \dot{Q} +
\sum_{in} \dot{m}_{in} h_{in} - h \sum_{out} \dot{m}_{out}
\frac{dU}{dt} = - p \frac{dV}{dt} + \dot{Q}
+ \sum_\t{in} \dot{m}_\t{in} h_\t{in} - h \sum_\t{out} \dot{m}_\t{out}
$$
where positive $\dot{Q}$ represents heat addition to the system and $h$ is the specific
@ -70,5 +71,6 @@ $$ \frac{dH}{dt} = \frac{dU}{dt} + p \frac{dV}{dt} + V \frac{dp}{dt} $$
Noting that $dp/dt = 0$ and substituting into the energy equation yields:
$$
\frac{dH}{dt} = \dot{Q} + \sum_{in} \dot{m}_{in} h_{in} - h \sum_{out} \dot{m}_{out}
\frac{dH}{dt} = \dot{Q} + \sum_\t{in} \dot{m}_\t{in} h_\t{in}
- h \sum_\t{out} \dot{m}_\t{out}
$$ (constpressurereactor-energy)

View File

@ -21,7 +21,8 @@ reactor's [inlets and outlets](sec-flow-device), and production of homogeneous p
species on [surfaces](sec-reactor-surface):
$$
\frac{dm}{dt} = \sum_{in} \dot{m}_{in} - \sum_{out} \dot{m}_{out} + \dot{m}_{wall}
\frac{dm}{dt} = \sum_\t{in} \dot{m}_\t{in} - \sum_\t{out} \dot{m}_\t{out}
+ \dot{m}_\t{wall}
$$ (mass)
Where the subscripts *in* and *out* refer to the sum of the corresponding property over
@ -46,22 +47,22 @@ The rate at which species $k$ is generated through homogeneous phase reactions i
$V \dot{\omega}_k W_k$, and the total rate at which species $k$ is generated is:
$$
\dot{m}_{k,gen} = V \dot{\omega}_k W_k + \dot{m}_{k,wall}
\dot{m}_{k,\t{gen}} = V \dot{\omega}_k W_k + \dot{m}_{k,\t{wall}}
$$
The rate of change in the mass of each species is:
$$
\frac{d(mY_k)}{dt} = \sum_{in} \dot{m}_{in} Y_{k,in} - \sum_{out} \dot{m}_{out} Y_k +
\dot{m}_{k,gen}
\frac{d(mY_k)}{dt} = \sum_\t{in} \dot{m}_\t{in} Y_{k,\t{in}}
- \sum_\t{out} \dot{m}_\t{out} Y_k + \dot{m}_{k,\t{gen}}
$$
Expanding the derivative on the left hand side and substituting the equation
for $dm/dt$, the equation for each homogeneous phase species is:
$$
m \frac{dY_k}{dt} = \sum_{in} \dot{m}_{in} (Y_{k,in} - Y_k) +
\dot{m}_{k,gen} - Y_k \dot{m}_{wall}
m \frac{dY_k}{dt} = \sum_\t{in} \dot{m}_\t{in} (Y_{k,\t{in}} - Y_k) +
\dot{m}_{k,\t{gen}} - Y_k \dot{m}_\t{wall}
$$ (species)
## Energy Equation
@ -71,7 +72,7 @@ system:
$$
\frac{dU}{dt} = - p \frac{dV}{dt} + \dot{Q} +
\sum_{in} \dot{m}_{in} h_{in} - h \sum_{out} \dot{m}_{out}
\sum_\t{in} \dot{m}_\t{in} h_\t{in} - h \sum_\t{out} \dot{m}_\t{out}
$$ (cv-energy)
Where $\dot{Q}$ is the net rate of heat addition to the system.

View File

@ -23,8 +23,8 @@ species $k$ is generated through homogeneous phase reactions is $V \dot{\omega}_
the total rate at which moles of species $k$ changes is:
$$
\frac{dn_k}{dt} = V \dot{\omega}_k + \sum_{in} \dot{n}_{k, in}
- \sum_{out} \dot{n}_{k, out} + \dot{n}_{k, wall}
\frac{dn_k}{dt} = V \dot{\omega}_k + \sum_\t{in} \dot{n}_{k, \t{in}}
- \sum_\t{out} \dot{n}_{k, \t{out}} + \dot{n}_{k, \t{wall}}
$$ (ig-const-pressure-mole-reactor-species)
Where the subscripts *in* and *out* refer to the sum of the corresponding property over
@ -35,8 +35,8 @@ all inlets and outlets respectively. A dot above a variable signifies a time der
Writing the first law for an open system gives:
$$
\frac{dU}{dt} = - p \frac{dV}{dt} + \dot{Q} +
\sum_{in} \dot{n}_{in} \hat{h}_{in} - \hat{h} \sum_{out} \dot{n}_{out}
\frac{dU}{dt} = - p \frac{dV}{dt} + \dot{Q} + \sum_\t{in} \dot{n}_\t{in} \hat{h}_\t{in}
- \hat{h} \sum_\t{out} \dot{n}_\t{out}
$$
where positive $\dot{Q}$ represents heat addition to the system and $h$ is the specific
@ -50,8 +50,8 @@ $$ \frac{dH}{dt} = \frac{dU}{dt} + p \frac{dV}{dt} + V \frac{dp}{dt} $$
Noting that $dp/dt = 0$ and substituting into the energy equation yields:
$$
\frac{dH}{dt} = \dot{Q} + \sum_{in} \dot{n}_{in} \hat{h}_{in}
- \hat{h} \sum_{out} \dot{n}_{out}
\frac{dH}{dt} = \dot{Q} + \sum_\t{in} \dot{n}_\t{in} \hat{h}_\t{in}
- \hat{h} \sum_\t{out} \dot{n}_\t{out}
$$
As for the [ideal gas mole reactor](ideal-gas-mole-reactor), we replace the total

View File

@ -21,7 +21,8 @@ reactor's [inlets and outlets](sec-flow-device), and production of homogeneous p
species on [surfaces](sec-reactor-surface):
$$
\frac{dm}{dt} = \sum_{in} \dot{m}_{in} - \sum_{out} \dot{m}_{out} + \dot{m}_{wall}
\frac{dm}{dt} = \sum_\t{in} \dot{m}_\t{in} - \sum_\t{out} \dot{m}_\t{out}
+ \dot{m}_\t{wall}
$$ (igcpr-mass)
Where the subscripts *in* and *out* refer to the sum of the corresponding property over
@ -32,21 +33,21 @@ all inlets and outlets respectively. A dot above a variable signifies a time der
The rate at which species $k$ is generated through homogeneous phase reactions is
$V \dot{\omega}_k W_k$, and the total rate at which species $k$ is generated is:
$$ \dot{m}_{k,gen} = V \dot{\omega}_k W_k + \dot{m}_{k,wall} $$
$$ \dot{m}_{k,\t{gen}} = V \dot{\omega}_k W_k + \dot{m}_{k,\t{wall}} $$
The rate of change in the mass of each species is:
$$
\frac{d(mY_k)}{dt} = \sum_{in} \dot{m}_{in} Y_{k,in} - \sum_{out} \dot{m}_{out} Y_k
+ \dot{m}_{k,gen}
\frac{d(mY_k)}{dt} = \sum_\t{in} \dot{m}_\t{in} Y_{k,\t{in}}
- \sum_\t{out} \dot{m}_\t{out} Y_k + \dot{m}_{k,gen}
$$
Expanding the derivative on the left hand side and substituting the equation
for $dm/dt$, the equation for each homogeneous phase species is:
$$
m \frac{dY_k}{dt} = \sum_{in} \dot{m}_{in} (Y_{k,in} - Y_k) + \dot{m}_{k,gen}
- Y_k \dot{m}_{wall}
m \frac{dY_k}{dt} = \sum_\t{in} \dot{m}_\t{in} (Y_{k,\t{in}} - Y_k)
+ \dot{m}_{k,\t{gen}} - Y_k \dot{m}_\t{wall}
$$ (igcpr-species)
## Energy Equation
@ -66,6 +67,6 @@ Substituting the corresponding derivatives into the constant pressure reactor en
equation {eq}`constpressurereactor-energy` yields an equation for the temperature:
$$
m c_p \frac{dT}{dt} = \dot{Q} - \sum_k h_k \dot{m}_{k,gen}
+ \sum_{in} \dot{m}_{in} \left(h_{in} - \sum_k h_k Y_{k,in} \right)
m c_p \frac{dT}{dt} = \dot{Q} - \sum_k h_k \dot{m}_{k,\t{gen}}
+ \sum_\t{in} \dot{m}_\t{in} \left(h_\t{in} - \sum_k h_k Y_{k,\t{in}} \right)
$$ (igcpr-energy)

View File

@ -35,8 +35,8 @@ species $k$ is generated through homogeneous phase reactions is $V \dot{\omega}_
the total rate at which moles of species $k$ changes is:
$$
\frac{dn_k}{dt} = V \dot{\omega}_k + \sum_{in} \dot{n}_{k, in}
- \sum_{out} \dot{n}_{k, out} + \dot{n}_{k, wall}
\frac{dn_k}{dt} = V \dot{\omega}_k + \sum_\t{in} \dot{n}_{k, \t{in}}
- \sum_\t{out} \dot{n}_{k, \t{out}} + \dot{n}_{k, \t{wall}}
$$ (ig-mole-reactor-species)
## Energy Equation

View File

@ -21,7 +21,8 @@ reactor's [inlets and outlets](sec-flow-device), and production of gas phase spe
[surfaces](sec-reactor-surface):
$$
\frac{dm}{dt} = \sum_{in} \dot{m}_{in} - \sum_{out} \dot{m}_{out} + \dot{m}_{wall}
\frac{dm}{dt} = \sum_\t{in} \dot{m}_\t{in} - \sum_\t{out} \dot{m}_\t{out}
+ \dot{m}_\t{wall}
$$ (igr-mass)
where the subscripts *in* and *out* refer to the sum of the corresponding property over
@ -45,21 +46,21 @@ $v_w(t)$ is the velocity of the wall as a function of time.
The rate at which species $k$ is generated through homogeneous phase reactions is
$V \dot{\omega}_k W_k$, and the total rate at which species $k$ is generated is:
$$ \dot{m}_{k,gen} = V \dot{\omega}_k W_k + \dot{m}_{k,wall} $$
$$ \dot{m}_{k,\t{gen}} = V \dot{\omega}_k W_k + \dot{m}_{k,\t{wall}} $$
The rate of change in the mass of each species is:
$$
\frac{d(mY_k)}{dt} = \sum_{in} \dot{m}_{in} Y_{k,in} - \sum_{out} \dot{m}_{out} Y_k +
\dot{m}_{k,gen}
\frac{d(mY_k)}{dt} = \sum_\t{in} \dot{m}_\t{in} Y_{k,\t{in}} - \sum_\t{out} \dot{m}_\t{out} Y_k +
\dot{m}_{k,\t{gen}}
$$
Expanding the derivative on the left hand side and substituting the equation
for $dm/dt$, the equation for each homogeneous phase species is:
$$
m \frac{dY_k}{dt} = \sum_{in} \dot{m}_{in} (Y_{k,in} - Y_k)+ \dot{m}_{k,gen}
- Y_k \dot{m}_{wall}
m \frac{dY_k}{dt} = \sum_\t{in} \dot{m}_\t{in} (Y_{k,\t{in}} - Y_k)+ \dot{m}_{k,\t{gen}}
- Y_k \dot{m}_\t{wall}
$$ (igr-species)
## Energy Equation
@ -80,8 +81,8 @@ Substituting this into the energy equation for the control volume reactor
{eq}`cv-energy` yields an equation for the temperature:
$$
m c_v \frac{dT}{dt} =& - p \frac{dV}{dt} + \dot{Q} + \sum_{in} \dot{m}_{in} \left( h_{in} - \sum_k u_k Y_{k,in} \right) \\
&- \frac{p V}{m} \sum_{out} \dot{m}_{out} - \sum_k \dot{m}_{k,gen} u_k
m c_v \frac{dT}{dt} =& - p \frac{dV}{dt} + \dot{Q} + \sum_\t{in} \dot{m}_\t{in} \left( h_\t{in} - \sum_k u_k Y_{k,\t{in}} \right) \\
&- \frac{p V}{m} \sum_\t{out} \dot{m}_\t{out} - \sum_k \dot{m}_{k,\t{gen}} u_k
$$ (igr-energy)
While this form of the energy equation is somewhat more complicated, it significantly

View File

@ -102,7 +102,7 @@ on outlet of the reactor. The mass flow rate of the pressure controller is equal
of the primary mass flow rate, plus a small correction dependent on the pressure
difference:
$$ \dot m = \dot m_{\text{primary}} + K_v f(P_1 - P_2) $$
$$ \dot m = \dot m_\t{primary} + K_v f(P_1 - P_2) $$
where $K_v$ is a proportionality constant and $f$ is a function of the pressure drop
that defaults to $f(P_1 - P_2) = P_1 - P_2$. If $\dot m < 0$, the mass flow rate will be
@ -130,7 +130,7 @@ integrated to determine any wall property. Since it is the wall, or piston, velo
that enters the energy equation, this means that it is the velocity, not the
acceleration or displacement, that is specified. The wall velocity is computed from
$$ v = K(P_{\mathrm{left}} - P_{\mathrm{right}}) + v_0(t) $$
$$ v = K(P_\t{left} - P_\t{right}) + v_0(t) $$
where $K$ is a non-negative constant, and $v_0(t)$ is a specified function of time. The
velocity is positive if the wall is moving to the right.
@ -144,8 +144,8 @@ for the reactor on the right). The heat flux $\dot{Q}_w$ through a wall $w$ conn
reactors *left* and *right* is computed as:
$$
\dot{Q}_w = U A (T_{\mathrm{left}} - T_{\mathrm{right}})
+ \epsilon\sigma A (T_{\mathrm{left}}^4 - T_{\mathrm{right}}^4) + A q_0(t)
\dot{Q}_w = U A (T_\t{left} - T_\t{right})
+ \epsilon\sigma A (T_\t{left}^4 - T_\t{right}^4) + A q_0(t)
$$
where $U$ is a user-specified heat transfer coefficient (W/m{sup}`2`-K), $A$ is the wall
@ -172,12 +172,12 @@ species $k$ on surface $w$ is $\dot{s}_{k,w}$ (in kmol/s/m{sup}`2`).
The total mass production rate for homogeneous phase species $k$ on all surfaces is:
$$ \dot{m}_{k,surf} = W_k \sum_w A_w \dot{s}_{k,w} $$
$$ \dot{m}_{k,\t{surf}} = W_k \sum_w A_w \dot{s}_{k,w} $$
where $W_k$ is the molecular weight of species $k$ and $A_w$ is the area of each
surface. The net mass flux from all reacting surfaces is then:
$$ \dot{m}_{surf} = \sum_k \dot{m}_{k,surf} $$
$$ \dot{m}_\t{surf} = \sum_k \dot{m}_{k,\t{surf}} $$
For each surface species $i$, the rate of change of the site fraction $\theta_{i,w}$ on
each surface $w$ is integrated with time:
@ -191,10 +191,10 @@ additional ODEs appended to the state vector for the corresponding reactor.
### Mole-based reactors
In the case of mole based reactors, $\dot{n}_{surf}$ is used instead, and is calculated
as:
In the case of mole based reactors, $\dot{n}_\t{surf}$ is used instead, and is
calculated as:
$$ \dot{n}_{k,surf} = A_{w}\sum_{w}\dot{s}_{w, k} $$
$$ \dot{n}_{k,\t{surf}} = A_{w}\sum_{w}\dot{s}_{w, k} $$
and the conservation equation for each surface species $i$ is

View File

@ -35,8 +35,8 @@ species $k$ is generated through homogeneous phase reactions is $V \dot{\omega}_
the total rate at which moles of species $k$ changes is:
$$
\frac{dn_k}{dt} = V \dot{\omega}_k + \sum_{in} \dot{n}_{k, in}
- \sum_{out} \dot{n}_{k, out} + \dot{n}_{k, wall}
\frac{dn_k}{dt} = V \dot{\omega}_k + \sum_\t{in} \dot{n}_{k, \t{in}}
- \sum_\t{out} \dot{n}_{k, \t{out}} + \dot{n}_{k, \t{wall}}
$$ (molereactor-species)
where the subscripts *in* and *out* refer to the sum of the corresponding property over
@ -48,8 +48,8 @@ The equation for the total internal energy is found by writing the first law for
system:
$$
\frac{dU}{dt} = - p \frac{dV}{dt} + \dot{Q} + \sum_{in} \dot{n}_{in} \hat{h}_{in}
- \hat{h} \sum_{out} \dot{n}_{out}
\frac{dU}{dt} = - p \frac{dV}{dt} + \dot{Q} + \sum_\t{in} \dot{n}_\t{in} \hat{h}_\t{in}
- \hat{h} \sum_\t{out} \dot{n}_\t{out}
$$ (molereactor-energy)
where $\dot{Q}$ is the net rate of heat addition to the system and $\hat{h}$ is the

View File

@ -42,18 +42,18 @@ While each of these functions is implemented explicitly in Cantera for computati
efficiency, $\hat{h}^\circ(T)$ and $\hat{s}^\circ(T)$ can be expressed in terms of
$\hat{c}^\circ_p(T)$ using the relations
$$ \hat{h}^\circ(T) = \hat{h}^\circ(T_\mathrm{ref}) +
\int_{T_\mathrm{ref}}^T \hat{c}^\circ_p(T) \; dT $$
$$ \hat{h}^\circ(T) = \hat{h}^\circ(T_\t{ref}) +
\int_{T_\t{ref}}^T \hat{c}^\circ_p(T) \; dT $$
and
$$ \hat{s}^\circ(T) = \hat{s}^\circ(T_\mathrm{ref}) +
\int_{T_\mathrm{ref}}^T \frac{\hat{c}^\circ_p(T)}{T} \; dT $$
$$ \hat{s}^\circ(T) = \hat{s}^\circ(T_\t{ref}) +
\int_{T_\t{ref}}^T \frac{\hat{c}^\circ_p(T)}{T} \; dT $$
respectively. This means that a parameterization of $\hat{c}_p^\circ(T)$ plus the
constants $\hat{h}^\circ(T_\mathrm{ref})$ and $\hat{s}^\circ(T_\mathrm{ref})$ at a
reference temperature $T_\mathrm{ref}$ is sufficient to define the standard state
properties for a species.
constants $\hat{h}^\circ(T_\t{ref})$ and $\hat{s}^\circ(T_\t{ref})$ at a reference
temperature $T_\t{ref}$ is sufficient to define the standard state properties for a
species.
The models described in this section can be used to provide standard state thermodynamic
data for each species in a phase. They are implemented by classes deriving from
@ -169,16 +169,16 @@ narrow temperature range. In such cases, the heat capacity can be approximated a
constant, and simple expressions can be used for the thermodynamic properties:
$$
\hat{c}_p^\circ(T) &= \hat{c}_p^\circ(T_\mathrm{ref})
\hat{c}_p^\circ(T) &= \hat{c}_p^\circ(T_\t{ref})
\hat{h}^\circ(T) &= \hat{h}^\circ\left(T_\mathrm{ref}\right) + \hat{c}_p^\circ \left(T-T_\mathrm{ref}\right)
\hat{h}^\circ(T) &= \hat{h}^\circ\left(T_\t{ref}\right) + \hat{c}_p^\circ \left(T-T_\t{ref}\right)
\hat{s}^\circ(T) &= \hat{s}^\circ(T_\mathrm{ref}) + \hat{c}_p^\circ \ln{\left(\frac{T}{T_\mathrm{ref}}\right)}
\hat{s}^\circ(T) &= \hat{s}^\circ(T_\t{ref}) + \hat{c}_p^\circ \ln{\left(\frac{T}{T_\t{ref}}\right)}
$$
The parameterization uses four constants: $T_\mathrm{ref}$,
$\hat{c}_p^\circ(T_\mathrm{ref})$, $\hat{h}^\circ(T_\mathrm{ref})$, and
$\hat{s}^\circ(T)$. The default value of $T_\mathrm{ref}$ is 298.15 K; the default value
The parameterization uses four constants: $T_\t{ref}$,
$\hat{c}_p^\circ(T_\t{ref})$, $\hat{h}^\circ(T_\t{ref})$, and
$\hat{s}^\circ(T)$. The default value of $T_\t{ref}$ is 298.15 K; the default value
for the other parameters is 0.0. This model is implemented by the C++ class
{ct}`ConstCpPoly`.

View File

@ -562,10 +562,10 @@ it is usually best not to specify units for $A$, in which case they will be comp
taking all of these factors into account.
```{note}
If $b \ne 0$, then the term $T^b$ should have units of $\mathrm{K}^b$, which would
If $b \ne 0$, then the term $T^b$ should have units of $\t{K}^b$, which would
change the units of $A$. This is not done, however, so the units associated with $A$
are really the units for $k_f$. One way to formally express this is to replace $T^b$
by the non-dimensional quantity $[T/(1\;\mathrm{K})]^b$.
by the non-dimensional quantity $[T/(1\;\t{K})]^b$.
```
The key `E` is used to specify $E_a$.
@ -611,13 +611,13 @@ negative-A: true
Explicit reaction orders different from the stoichiometric coefficients are sometimes
used for non-elementary reactions. For example, consider the global reaction:
$$ \mathrm{C_8H_{18} + 12.5 O_2 \rightarrow 8 CO_2 + 9 H_2O} $$
$$ \t{C_8H_{18} + 12.5 O_2 \rightarrow 8 CO_2 + 9 H_2O} $$
the forward rate constant might be given as {cite:p}`westbrook1981`:
$$
k_f = 4.6 \times 10^{11} [\mathrm{C_8H_{18}}]^{0.25} [\mathrm{O_2}]^{1.5}
\exp\left(\frac{30.0\,\mathrm{kcal/mol}}{RT}\right)
k_f = 4.6 \times 10^{11} [\t{C_8H_{18}}]^{0.25} [\t{O_2}]^{1.5}
\exp\left(\frac{30.0\,\t{kcal/mol}}{RT}\right)
$$
This reaction could be defined as:

View File

@ -39,17 +39,18 @@ As shown in the derivations of the governing equations, the equations implemente
the {ct}`IdealGasConstPressureReactor` class are:
$$
\frac{dm}{dt} = \sum_{in} \dot{m}_{in} - \sum_{out} \dot{m}_{out} + \dot{m}_{wall}
\frac{dm}{dt} = \sum_\t{in} \dot{m}_\t{in} - \sum_\t{out} \dot{m}_\t{out}
+ \dot{m}_\t{wall}
$$
$$
m c_p \frac{dT}{dt} = \dot{Q} - \sum_k h_k \dot{m}_{k,gen}
+ \sum_{in} \dot{m}_{in} \left(h_{in} - \sum_k h_k Y_{k,in} \right)
m c_p \frac{dT}{dt} = \dot{Q} - \sum_k h_k \dot{m}_{k,\t{gen}}
+ \sum_\t{in} \dot{m}_\t{in} \left(h_\t{in} - \sum_k h_k Y_{k,\t{in}} \right)
$$
$$
\frac{d(mY_k)}{dt} = \sum_{in} \dot{m}_{in} Y_{k,in} - \sum_{out} \dot{m}_{out} Y_k
+ \dot{m}_{k,gen}
\frac{d(mY_k)}{dt} = \sum_\t{in} \dot{m}_\t{in} Y_{k,\t{in}}
- \sum_\t{out} \dot{m}_\t{out} Y_k + \dot{m}_{k,gen}
$$
Each of these equations is written with an expression on the left-hand side (LHS)
@ -63,13 +64,13 @@ For example, to add a term for a large mass, say a rock, inside the reactor that
the thermal mass, the energy equation would become:
$$
\left(m c_p + m_{rock} c_{p,rock}\right) \frac{dT}{dt} = \dot{Q}
- \sum_k h_k \dot{m}_{k,gen}
+ \sum_{in} \dot{m}_{in} \left(h_{in} - \sum_k h_k Y_{k,in} \right)
\left(m c_p + m_\t{rock} c_{p,\t{rock}}\right) \frac{dT}{dt} = \dot{Q}
- \sum_k h_k \dot{m}_{k,\t{gen}}
+ \sum_\t{in} \dot{m}_\t{in} \left(h_\t{in} - \sum_k h_k Y_{k,\t{in}} \right)
$$
Here, the LHS coefficient has changed from $m c_p$ to
$m c_p + m_{\mathrm{rock}} c_{p,\mathrm{rock}}$. Since the rock does not change the
$m c_p + m_{\t{rock}} c_{p,\t{rock}}$. Since the rock does not change the
composition of the species in the reactor and does not change the mass flow rate of any
inlets or outlets, the other governing equations defining the ideal gas constant
pressure reactor can be left unmodified. To implement this change, we define a new class

View File

@ -65,18 +65,17 @@ three methods:
determines the step size by estimating the local error, which must satisfy tolerance
conditions. The step is redone with reduced step size whenever that error test fails.
SUNDIALS also periodically checks if the maximum step size is being used. The time
step must not be larger than a predefined maximum time step $\Delta t_{\mathrm{max}}$.
The new time $t_{\mathrm{new}}$ at the end of the single step is returned by this
function. This method produces the highest time resolution in the output data of the
methods implemented in Cantera.
step must not be larger than a predefined maximum time step $\Delta t_\t{max}$. The
new time $t_\t{new}$ at the end of the single step is returned by this function. This
method produces the highest time resolution in the output data of the methods
implemented in Cantera.
- `advance(t_new)`: This method computes the state of the system at the user-provided
time $t_{\mathrm{new}}$. $t_{\mathrm{new}}$ is the absolute time from the initial time
of the system. Although the user specifies the time when integration should stop,
SUNDIALS chooses the time step size as the network is integrated. Many internal
SUNDIALS time steps are usually required to reach $t_{\mathrm{new}}$. As such,
`advance(t_new)` preserves the accuracy of using `step()` but allows consistent
spacing in the output data.
time $t_\t{new}$. $t_\t{new}$ is the absolute time from the initial time of the
system. Although the user specifies the time when integration should stop, SUNDIALS
chooses the time step size as the network is integrated. Many internal SUNDIALS time
steps are usually required to reach $t_\t{new}$. As such, `advance(t_new)` preserves
the accuracy of using `step()` but allows consistent spacing in the output data.
- `advance_to_steady_state(max_steps, residual_threshold, atol, write_residuals)`
*Python interface only*: If the steady state solution of a reactor network is of