This source allows the user to read in data from a SESAME table and then compute pressure and the sound speed squared from density and the internal energy. SESAME tables can be obtained from Los Alamos National Laboratory (SESAME link). Alternatively the SESAME format can be used to create your own tables. Tables specify an equation of state (EOS) for energy and pressure as functions of temperature and density. Thus to solve for temperature, as an intermediate step, as a function of the internal energy an inverse operation must be applied. This operation holds the input temperature or density constant and assumes the EOS table data is a monotonic function of the dependent variables (density and temperature). If these assumptions do not hold, incorrect results may be produced.
In this updater, the sound speed squared is computed from a formula for the generalized sound speed:
A note on units. Units in USim are all MKS units. However, the SESAME tables use alternative units. These units are converted to MKS by USim. This is important if one writes their own SESAME tables. The ability to specify custom unit conversion factors is available as an optional input.
Before running any case using the SESAME EOS tables, it is prudent to make basic sanity checks by running a modified version of the verifyEOSTable example with the specific SESAME table that is intended for use.
filename
(string, required)materialID
(int, required)delta
(float, optional)soundSpeedSquaredFloor
(float, optional)useParticleDensity
(int, optional)speciesMass
(float, optional)fixRanges
(int vector, options)logInterpolation
(int vector, optional)densityConversionCoefficient
(float, optional)temperatureConversionCoefficient
(float, optional)conversionCoefficients
(float vector, optional)outputPeRhoInv
(int, optional)in
(string vector, required)
input variables
(nodalArray, 1-component each, 2 required)The input variables (exactly 2) must be the density and the internal energy, in that order. Inputs are of type nodalArray with one component each.
out
(string vector, required)
output variables
(nodalArray, 1-component each, 2 required and 3rd optional)The output variables are the pressure and the sound speed squared, in that order. If outputPeRhoInv is true, a third output variable that is the partial derivative of the pressure with respect to specific energy divided by the density \(\rho^{-1} \partial P / \partial \epsilon\). This output is required to compute the EOS system eigenvectors. Outputs are of type nodalArray with one component each.
<Updater computePressureAndSoundSpeedSquared>
kind=equation2d
onGrid=domain
in=[rho, intEnergy]
out=[pressure, soundSqr]
<Equation thisGas>
kind=sesameComputeVariables
filename=sesame.ses
materialID=58501
delta=1.e-5
</Equation>
</Updater>