eulerSym
The eulerSym source computes additional (source) terms associated with
curvilinear (cylindrical and spherical) coordinate systems for
inviscid compressible hydrodynamics. The
eulerSym source is combined with (e.g.)
classicMusclUpdater (1d, 2d, 3d) and one of eulerEqn,
eulerTwoTemp, eulerThreeTemp or
realGasEosEqn. Note that formulation of the
cylindrical source term assumes axisymmetry and so can be used in
1- and 2-dimensions, while the formulation of spherical
coordinates assumes spherical symmetry and so can only be used in one-dimension.
Parameters
symmetryType
(string, required)
- The curvilinear cordinate system to be used. Available options are
cylindrical or spherical
model
(string, required)
Determines the equation that the source term will be computed
for. Available options are:
eulerEqn
Compute curvilinear source terms associated with
eulerEqn.
realGasEosEqn
Compute curvilinear source terms associated with
realGasEosEqn.
eulerTwoTemp
Compute curvilinear source terms associated with
eulerTwoTemp.
eulerThreeTemp
Compute curvilinear source terms associated with
eulerThreeTemp.
gasGamma
(float, required if model=eulerEqn)
- Specifies the adiabatic index (ratio of specific heats), \(\gamma\).
Parent Updater Data
in
(string vector, required)
The number and form of the input variables for eulerSym depends on
the choice of the parameter model.
model = eulerEqn
(1 input variable)
Vector of Conserved Quantities
(nodalArray, 5-components, required)
The vector of conserved quantities, \(\mathbf{q}\) has 5
entries:
- \(\rho\): mass density
- \(\rho\,u_{\hat{\mathbf{i}}} = \rho \mathbf{u} \cdot \hat{\mathbf{i}}\): momentum density in the \(\hat{\mathbf{i}}\) direction
- \(\rho\,u_{\hat{\mathbf{j}}} = \rho \mathbf{u} \cdot \hat{\mathbf{j}}\): momentum density in the \(\hat{\mathbf{j}}\) direction
- \(\rho\,u_{\hat{\mathbf{k}}} = \rho \mathbf{u} \cdot \hat{\mathbf{k}}\): momentum density in the \(\hat{\mathbf{k}}\) direction
- \(E = \frac{P}{\gamma -1} + \tfrac{1}{2}\rho|\mathbf{u}|^2\): total energy density
model = realGasEosEqn
(2 input variables)
Vector of Conserved Quantities
(nodalArray, 5-components, required)
The vector of conserved quantities, \(\mathbf{q}\) has 5
entries:
- \(\rho\): mass density
- \(\rho\,u_{\hat{\mathbf{i}}} = \rho \mathbf{u} \cdot \hat{\mathbf{i}}\): momentum density in the \(\hat{\mathbf{i}}\) direction
- \(\rho\,u_{\hat{\mathbf{j}}} = \rho \mathbf{u} \cdot \hat{\mathbf{j}}\): momentum density in the \(\hat{\mathbf{j}}\) direction
- \(\rho\,u_{\hat{\mathbf{k}}} = \rho \mathbf{u} \cdot \hat{\mathbf{k}}\): momentum density in the \(\hat{\mathbf{k}}\) direction
- \(E = \frac{P}{\gamma -1} + \tfrac{1}{2}\rho|\mathbf{u}|^2\): total energy density
Gas Pressure
(nodalArray, 1-component, required)
- The gas pressure, \(P\).
model = eulerTwoTemp
(3 input variables)
Vector of Conserved Quantities
(nodalArray, 6-components, required)
The vector of conserved quantities, \(\mathbf{q}\) has 6
entries:
- \(\rho\): mass density
- \(\rho\,u_{\hat{\mathbf{i}}} = \rho \mathbf{u} \cdot \hat{\mathbf{i}}\): momentum density in the \(\hat{\mathbf{i}}\) direction
- \(\rho\,u_{\hat{\mathbf{j}}} = \rho \mathbf{u} \cdot \hat{\mathbf{j}}\): momentum density in the \(\hat{\mathbf{j}}\) direction
- \(\rho\,u_{\hat{\mathbf{k}}} = \rho \mathbf{u} \cdot \hat{\mathbf{k}}\): momentum density in the \(\hat{\mathbf{k}}\) direction
- \(E = \frac{P_\mathrm{heavy}}{\gamma_\mathrm{heavy} -1} + \frac{P_\mathrm{electron}}{\gamma_\mathrm{electron} -1} + \tfrac{1}{2}\rho|\mathbf{u}|^2\): total energy density
- \(E_\mathrm{electron} = \frac{P_\mathrm{electron}}{\gamma_\mathrm{electron} -1}\): electron internal energy density
Total Gas Pressure
(nodalArray, 1-component, required)
- The total gas pressure, \(P_\mathrm{heavy} +
P_\mathrm{electron}\).
Electron Pressure
(nodalArray, 1-component, required)
- The electron pressure, \(P_\mathrm{electron}\).
model = eulerThreeTemp
(3 input variables)
Vector of Conserved Quantities
(nodalArray, 7-components, required)
The vector of conserved quantities, \(\mathbf{q}\) has 7
entries:
- \(\rho\): mass density
- \(\rho\,u_{\hat{\mathbf{i}}} = \rho \mathbf{u} \cdot \hat{\mathbf{i}}\): momentum density in the \(\hat{\mathbf{i}}\) direction
- \(\rho\,u_{\hat{\mathbf{j}}} = \rho \mathbf{u} \cdot \hat{\mathbf{j}}\): momentum density in the \(\hat{\mathbf{j}}\) direction
- \(\rho\,u_{\hat{\mathbf{k}}} = \rho \mathbf{u} \cdot \hat{\mathbf{k}}\): momentum density in the \(\hat{\mathbf{k}}\) direction
- \(E = \frac{P_\mathrm{heavy}}{\gamma_\mathrm{heavy} -1} + \frac{P_\mathrm{electron}}{\gamma_\mathrm{electron} -1} + \tfrac{1}{2}\rho|\mathbf{u}|^2\): total energy density
- \(E_\mathrm{electron} = \frac{P_\mathrm{electron}}{\gamma_\mathrm{electron} -1}\): electron internal energy density
- \(E_\mathrm{vibr}\): vibrational energy density
Total Gas Pressure
(nodalArray, 1-component, required)
- The total gas pressure, \(P_\mathrm{heavy} +
P_\mathrm{electron}\).
Electron Pressure
(nodalArray, 1-component, required)
- The electron pressure, \(P_\mathrm{electron}\).
out
(string vector, required)
The form of the output variables for eulerSym depends on
the choice of the parameter model and symmetryType:
model = eulerEqn
Vector of Source terms
(nodalArray, 5-components)
When symmetryType = cylindrical, the output source vector has components:
- \(\mathcal{S} \left(\rho \right) = -r^{-1} \rho\,u_{\hat{\mathbf{i}}}\): mass source
- \(\mathcal{S}\left( \rho\,u_{\hat{\mathbf{i}}} \right) = -r^{-1} \left( \rho\,u_{\hat{\mathbf{i}}}^{2}+\rho\,u_{\hat{\mathbf{j}}}^{2} \right)\): \(\hat{\mathbf{i}}\) momentum source
- \(\mathcal{S}\left( \rho\,u_{\hat{\mathbf{j}}} \right) = -2r^{-1}\rho\,u_{\hat{\mathbf{i}}}\,u_{\hat{\mathbf{j}}}\): \(\hat{\mathbf{j}}\) momentum source
- \(\mathcal{S}\left( \rho\,u_{\hat{\mathbf{k}}} \right) = -r^{-1}\rho\,u_{\hat{\mathbf{i}}}\,u_{\hat{\mathbf{k}}}\): \(\hat{\mathbf{k}}\) momentum source
- \(\mathcal{S}\left( E \right) = -r^{-1}u_{\hat{\mathbf{i}}}\,\left(E+P\right)\): total energy source
When symmetryType = spherical, the output source vector has components:
- \(\mathcal{S} \left(\rho \right) = -2 r^{-1} \rho\,u_{\hat{\mathbf{i}}}\): mass source
- \(\mathcal{S}\left( \rho\,u_{\hat{\mathbf{i}}} \right) = -2r^{-1}\rho\,u_{\hat{\mathbf{i}}}^{2}+\rho\,u_{\hat{\mathbf{j}}}^{2}\): \(\hat{\mathbf{i}}\) momentum source
- \(\mathcal{S}\left( \rho\,u_{\hat{\mathbf{j}}} \right) = -3r^{-1}\rho\,u_{\hat{\mathbf{i}}}\,u_{\hat{\mathbf{j}}}\): \(\hat{\mathbf{j}}\) momentum source
- \(\mathcal{S}\left( \rho\,u_{\hat{\mathbf{k}}} \right) = -3r^{-1}\rho\,u_{\hat{\mathbf{i}}}\,u_{\hat{\mathbf{k}}}\): \(\hat{\mathbf{k}}\) momentum source
- \(\mathcal{S}\left( E \right) = -2r^{-1}u_{\hat{\mathbf{i}}}\,\left(E+P\right)\): total energy source
model = realGasEosEqn
Vector of Source terms
(nodalArray, 5-components)
When symmetryType = cylindrical, the output source vector has components:
- \(\mathcal{S} \left(\rho \right) = -r^{-1} \rho\,u_{\hat{\mathbf{i}}}\): mass source
- \(\mathcal{S}\left( \rho\,u_{\hat{\mathbf{i}}} \right) = -r^{-1}\rho\,u_{\hat{\mathbf{i}}}^{2}+\rho\,u_{\hat{\mathbf{j}}}^{2}\): \(\hat{\mathbf{i}}\) momentum source
- \(\mathcal{S}\left( \rho\,u_{\hat{\mathbf{j}}} \right) = -2r^{-1}\rho\,u_{\hat{\mathbf{i}}}\,u_{\hat{\mathbf{j}}}\): \(\hat{\mathbf{j}}\) momentum source
- \(\mathcal{S}\left( \rho\,u_{\hat{\mathbf{k}}} \right) = -r^{-1}\rho\,u_{\hat{\mathbf{i}}}\,u_{\hat{\mathbf{k}}}\): \(\hat{\mathbf{k}}\) momentum source
- \(\mathcal{S}\left( E \right) = -r^{-1}u_{\hat{\mathbf{i}}}\,\left(E+P\right)\): total energy source
When symmetryType = spherical, the output source vector has components:
- \(\mathcal{S} \left(\rho \right) = -2 r^{-1} \rho\,u_{\hat{\mathbf{i}}}\): mass source
- \(\mathcal{S}\left( \rho\,u_{\hat{\mathbf{i}}} \right) = -2r^{-1}\rho\,u_{\hat{\mathbf{i}}}^{2}+\rho\,u_{\hat{\mathbf{j}}}^{2}\): \(\hat{\mathbf{i}}\) momentum source
- \(\mathcal{S}\left( \rho\,u_{\hat{\mathbf{j}}} \right) = -3r^{-1}\rho\,u_{\hat{\mathbf{i}}}\,u_{\hat{\mathbf{j}}}\): \(\hat{\mathbf{j}}\) momentum source
- \(\mathcal{S}\left( \rho\,u_{\hat{\mathbf{k}}} \right) = -3r^{-1}\rho\,u_{\hat{\mathbf{i}}}\,u_{\hat{\mathbf{k}}}\): \(\hat{\mathbf{k}}\) momentum source
- \(\mathcal{S}\left( E \right) = -2r^{-1}u_{\hat{\mathbf{i}}}\,\left(E+P\right)\): total energy source
model = eulerTwoTemp
Vector of Source terms
(nodalArray, 6-components)
When symmetryType = cylindrical, the output source vector has components:
- \(\mathcal{S} \left(\rho \right) = -r^{-1} \rho\,u_{\hat{\mathbf{i}}}\): mass source
- \(\mathcal{S}\left( \rho\,u_{\hat{\mathbf{i}}} \right) = -r^{-1}\rho\,u_{\hat{\mathbf{i}}}^{2}+\rho\,u_{\hat{\mathbf{j}}}^{2}\): \(\hat{\mathbf{i}}\) momentum source
- \(\mathcal{S}\left( \rho\,u_{\hat{\mathbf{j}}} \right) = -2r^{-1}\rho\,u_{\hat{\mathbf{i}}}\,u_{\hat{\mathbf{j}}}\): \(\hat{\mathbf{j}}\) momentum source
- \(\mathcal{S}\left( \rho\,u_{\hat{\mathbf{k}}} \right) = -r^{-1}\rho\,u_{\hat{\mathbf{i}}}\,u_{\hat{\mathbf{k}}}\): \(\hat{\mathbf{k}}\) momentum source
- \(\mathcal{S}\left( E \right) = -r^{-1}u_{\hat{\mathbf{i}}}\,\left(E+P\right)\): total energy source
- \(\mathcal{S}\left( E_\mathrm{electron} \right) = -r^{-1}u_{\hat{\mathbf{i}}}\,\left(E_\mathrm{electron}+P_\mathrm{electron}\right)\): electron internal energy source
When symmetryType = spherical, the output source vector has components:
- \(\mathcal{S} \left(\rho \right) = -2 r^{-1} \rho\,u_{\hat{\mathbf{i}}}\): mass source
- \(\mathcal{S}\left( \rho\,u_{\hat{\mathbf{i}}} \right) = -2r^{-1}\rho\,u_{\hat{\mathbf{i}}}^{2}+\rho\,u_{\hat{\mathbf{j}}}^{2}\): \(\hat{\mathbf{i}}\) momentum source
- \(\mathcal{S}\left( \rho\,u_{\hat{\mathbf{j}}} \right) = -3r^{-1}\rho\,u_{\hat{\mathbf{i}}}\,u_{\hat{\mathbf{j}}}\): \(\hat{\mathbf{j}}\) momentum source
- \(\mathcal{S}\left( \rho\,u_{\hat{\mathbf{k}}} \right) = -3r^{-1}\rho\,u_{\hat{\mathbf{i}}}\,u_{\hat{\mathbf{k}}}\): \(\hat{\mathbf{k}}\) momentum source
- \(\mathcal{S}\left( E \right) = -2r^{-1}u_{\hat{\mathbf{i}}}\,\left(E+P\right)\): total energy source
- \(\mathcal{S}\left( E_\mathrm{electron} \right) = -2r^{-1}u_{\hat{\mathbf{i}}}\,\left(E_\mathrm{electron}+P_\mathrm{electron}\right)\): electron internal energy source
model = eulerThreeTemp
Vector of Source terms
(nodalArray, 7-components)
When symmetryType = cylindrical, the output source vector has components:
- \(\mathcal{S} \left(\rho \right) = -r^{-1} \rho\,u_{\hat{\mathbf{i}}}\): mass source
- \(\mathcal{S}\left( \rho\,u_{\hat{\mathbf{i}}} \right) = -r^{-1}\rho\,u_{\hat{\mathbf{i}}}^{2}+\rho\,u_{\hat{\mathbf{j}}}^{2}\): \(\hat{\mathbf{i}}\) momentum source
- \(\mathcal{S}\left( \rho\,u_{\hat{\mathbf{j}}} \right) = -2r^{-1}\rho\,u_{\hat{\mathbf{i}}}\,u_{\hat{\mathbf{j}}}\): \(\hat{\mathbf{j}}\) momentum source
- \(\mathcal{S}\left( \rho\,u_{\hat{\mathbf{k}}} \right) = -r^{-1}\rho\,u_{\hat{\mathbf{i}}}\,u_{\hat{\mathbf{k}}}\): \(\hat{\mathbf{k}}\) momentum source
- \(\mathcal{S}\left( E \right) = -r^{-1}u_{\hat{\mathbf{i}}}\,\left(E+P\right)\): total energy source
- \(\mathcal{S}\left( E_\mathrm{electron} \right) = -r^{-1}u_{\hat{\mathbf{i}}}\,\left(E_\mathrm{electron}+P_\mathrm{electron}\right)\): electron internal energy source
- \(\mathcal{S}\left( E_\mathrm{vibr} \right) = -r^{-1}u_{\hat{\mathbf{i}}}\,E_\mathrm{vibr}\): vibrational energy source
When symmetryType = spherical, the output source vector has components:
- \(\mathcal{S} \left(\rho \right) = -2 r^{-1} \rho\,u_{\hat{\mathbf{i}}}\): mass source
- \(\mathcal{S}\left( \rho\,u_{\hat{\mathbf{i}}} \right) = -2r^{-1}\rho\,u_{\hat{\mathbf{i}}}^{2}+\rho\,u_{\hat{\mathbf{j}}}^{2}\): \(\hat{\mathbf{i}}\) momentum source
- \(\mathcal{S}\left( \rho\,u_{\hat{\mathbf{j}}} \right) = -3r^{-1}\rho\,u_{\hat{\mathbf{i}}}\,u_{\hat{\mathbf{j}}}\): \(\hat{\mathbf{j}}\) momentum source
- \(\mathcal{S}\left( \rho\,u_{\hat{\mathbf{k}}} \right) = -3r^{-1}\rho\,u_{\hat{\mathbf{i}}}\,u_{\hat{\mathbf{k}}}\): \(\hat{\mathbf{k}}\) momentum source
- \(\mathcal{S}\left( E \right) = -2r^{-1}u_{\hat{\mathbf{i}}}\,\left(E+P\right)\): total energy source
- \(\mathcal{S}\left( E_\mathrm{electron} \right) = -2r^{-1}u_{\hat{\mathbf{i}}}\,\left(E_\mathrm{electron}+P_\mathrm{electron}\right)\): electron internal energy source
- \(\mathcal{S}\left( E_\mathrm{vibr} \right) = -2r^{-1}u_{\hat{\mathbf{i}}}\,E_\mathrm{vibr}\): vibrational energy source
Example
The following block demonstrates eulerSym used in combination
with classicMusclUpdater (1d, 2d, 3d) and eulerEqn to
compute \(\nabla\cdot\left[ \mathcal{F} \left( \mathbf{w} \right)
\right] - \mathcal{S} \left( \mathbf{w}, x, y, z, t \right)\):
<Updater hyper>
kind = classicMuscl1d
onGrid = domain
timeIntegrationScheme = none
variableForm = conservative
preservePositivity = true
in = [q]
out = [qnew]
cfl = 0.5
limiter = [minmod]
numericalFlux = hllcEulerFlux
equations = [euler]
sources = [geometricSrc]
<Equation euler>
kind = eulerEqn
gasGamma = GAMMA # gas constant
</Equation>
<Source geometricSrc>
kind = eulerSym
symmetryType = spherical
model = eulerEqn
gasGamma = GAMMA
</Source>
</Updater>