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:

  1. \(\rho\): mass density
  2. \(\rho\,u_{\hat{\mathbf{i}}} = \rho \mathbf{u} \cdot \hat{\mathbf{i}}\): momentum density in the \(\hat{\mathbf{i}}\) direction
  3. \(\rho\,u_{\hat{\mathbf{j}}} = \rho \mathbf{u} \cdot \hat{\mathbf{j}}\): momentum density in the \(\hat{\mathbf{j}}\) direction
  4. \(\rho\,u_{\hat{\mathbf{k}}} = \rho \mathbf{u} \cdot \hat{\mathbf{k}}\): momentum density in the \(\hat{\mathbf{k}}\) direction
  5. \(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:

  1. \(\rho\): mass density
  2. \(\rho\,u_{\hat{\mathbf{i}}} = \rho \mathbf{u} \cdot \hat{\mathbf{i}}\): momentum density in the \(\hat{\mathbf{i}}\) direction
  3. \(\rho\,u_{\hat{\mathbf{j}}} = \rho \mathbf{u} \cdot \hat{\mathbf{j}}\): momentum density in the \(\hat{\mathbf{j}}\) direction
  4. \(\rho\,u_{\hat{\mathbf{k}}} = \rho \mathbf{u} \cdot \hat{\mathbf{k}}\): momentum density in the \(\hat{\mathbf{k}}\) direction
  5. \(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:

  1. \(\rho\): mass density
  2. \(\rho\,u_{\hat{\mathbf{i}}} = \rho \mathbf{u} \cdot \hat{\mathbf{i}}\): momentum density in the \(\hat{\mathbf{i}}\) direction
  3. \(\rho\,u_{\hat{\mathbf{j}}} = \rho \mathbf{u} \cdot \hat{\mathbf{j}}\): momentum density in the \(\hat{\mathbf{j}}\) direction
  4. \(\rho\,u_{\hat{\mathbf{k}}} = \rho \mathbf{u} \cdot \hat{\mathbf{k}}\): momentum density in the \(\hat{\mathbf{k}}\) direction
  5. \(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
  6. \(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:

  1. \(\rho\): mass density
  2. \(\rho\,u_{\hat{\mathbf{i}}} = \rho \mathbf{u} \cdot \hat{\mathbf{i}}\): momentum density in the \(\hat{\mathbf{i}}\) direction
  3. \(\rho\,u_{\hat{\mathbf{j}}} = \rho \mathbf{u} \cdot \hat{\mathbf{j}}\): momentum density in the \(\hat{\mathbf{j}}\) direction
  4. \(\rho\,u_{\hat{\mathbf{k}}} = \rho \mathbf{u} \cdot \hat{\mathbf{k}}\): momentum density in the \(\hat{\mathbf{k}}\) direction
  5. \(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
  6. \(E_\mathrm{electron} = \frac{P_\mathrm{electron}}{\gamma_\mathrm{electron} -1}\): electron internal energy density
  7. \(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:

  1. \(\mathcal{S} \left(\rho \right) = -r^{-1} \rho\,u_{\hat{\mathbf{i}}}\): mass source
  2. \(\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
  3. \(\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
  4. \(\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
  5. \(\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:

  1. \(\mathcal{S} \left(\rho \right) = -2 r^{-1} \rho\,u_{\hat{\mathbf{i}}}\): mass source
  2. \(\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
  3. \(\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
  4. \(\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
  5. \(\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:

  1. \(\mathcal{S} \left(\rho \right) = -r^{-1} \rho\,u_{\hat{\mathbf{i}}}\): mass source
  2. \(\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
  3. \(\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
  4. \(\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
  5. \(\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:

  1. \(\mathcal{S} \left(\rho \right) = -2 r^{-1} \rho\,u_{\hat{\mathbf{i}}}\): mass source
  2. \(\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
  3. \(\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
  4. \(\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
  5. \(\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:

  1. \(\mathcal{S} \left(\rho \right) = -r^{-1} \rho\,u_{\hat{\mathbf{i}}}\): mass source
  2. \(\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
  3. \(\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
  4. \(\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
  5. \(\mathcal{S}\left( E \right) = -r^{-1}u_{\hat{\mathbf{i}}}\,\left(E+P\right)\): total energy source
  6. \(\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:

  1. \(\mathcal{S} \left(\rho \right) = -2 r^{-1} \rho\,u_{\hat{\mathbf{i}}}\): mass source
  2. \(\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
  3. \(\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
  4. \(\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
  5. \(\mathcal{S}\left( E \right) = -2r^{-1}u_{\hat{\mathbf{i}}}\,\left(E+P\right)\): total energy source
  6. \(\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:

  1. \(\mathcal{S} \left(\rho \right) = -r^{-1} \rho\,u_{\hat{\mathbf{i}}}\): mass source
  2. \(\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
  3. \(\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
  4. \(\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
  5. \(\mathcal{S}\left( E \right) = -r^{-1}u_{\hat{\mathbf{i}}}\,\left(E+P\right)\): total energy source
  6. \(\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
  7. \(\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:

  1. \(\mathcal{S} \left(\rho \right) = -2 r^{-1} \rho\,u_{\hat{\mathbf{i}}}\): mass source
  2. \(\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
  3. \(\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
  4. \(\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
  5. \(\mathcal{S}\left( E \right) = -2r^{-1}u_{\hat{\mathbf{i}}}\,\left(E+P\right)\): total energy source
  6. \(\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
  7. \(\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>