# sesameVariables¶

This source allows the user to read in data from a SESAME table and then compute energy, pressure, density, temperature and conductivity. 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, pressure, conductivities and opacity as a function of temperature and density. To solve for temperature or density as a function of the EOS table value 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.

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.

## Parameters¶

filename (string, required)
Name of file that contains the SESAME formatted table.
operations (string vector, required)

The operation(s) to be performed. The standard direct operation is “computeEOSTableFromTemperatureAndDensity” where “EOSTable” is computed from the SESAME tables and should be replaced by one of the following values (the first word of each option should be used, the remainder offers a brief description and the default units after conversion):

• 301energy - ($$J kg^{-1}$$)
• 301freeenergy - ($$J kg^{-1}$$)
• 301pressure - ($$Pa$$)
• 303energy - ($$J kg^{-1}$$)
• 303freeenergy - ($$J kg^{-1}$$)
• 303pressure - ($$Pa$$)
• 304energy - ($$J kg^{-1}$$)
• 304freeenergy - ($$J kg^{-1}$$)
• 304pressure - ($$Pa$$)
• 305energy - ($$J kg^{-1}$$)
• 305freeenergy - ($$J kg^{-1}$$)
• 305pressure - ($$Pa$$)
• 306energy - ($$J kg^{-1}$$)
• 306freeenergy - ($$J kg^{-1}$$)
• 306pressure - ($$Pa$$)
• 601 - Mean Ion Charge (free electrons per atom)
• 602 - Electrical Conductivity ($$s^{-1}$$)
• 603 - Thermal Conductivity ($$m^{-1} s^{-1}$$)
• 604 - Thermoelectric Coefficient ($$m^{-1} s^{-1}$$)
• 605 - Electron Conductive Opacity ($$m^{2} kg^{-1}$$)

Tables 301, and 303-306, which are decomposed into energy, freeenergy and pressure above are described as follows:

• 301 - Total EOS (304+305+306)
• 303 - Ion EOS Plus Cold Curve (305+306)
• 304 - Electron EOS
• 305 - Ion EOS (Including Zero Point)
• 306 - Cold Curve (No Zero Point)

To compute an inverse operation, simply permute the string to be “computeTemperatureFromEOSTableAndDensity” or “computeDensityFromTemperatureAndEOSTable”. The input is not case sensitive.

materialID (int, required)
Identifying material ID in the SESAME table.
useParticleDensity (int, optional)
Whether to use the particle (true) or mass (false) density. Default is false.
speciesMass (float, optional)
Mass of the species (in $$kg$$) is required to convert if useParticleDensity=true.
fixRanges (int vector, options)
Whether the variables should be allowed to go beyond the table ranges or not. fixRanges = [1] means that the first variable cannot go beyond the table ranges and if it does, it’s value is set to the maximum (or minimum) of the table value. The default is false.
logInterpolation (int vector, optional)
Whether to use logarithmic interpolation when evaluating EOS table values. The default is false.
densityConversionCoefficient (float, optional)
Custom density unit conversion factor. Conversion to MKS mass density ($$kg m^{-3}$$) is the default. The default conversion factor is divided by the custom conversion factor. Thus if using alternative units, set the unit conversion factor to to the MKS value that corresponds to unity in the alternative units.
temperatureConversionCoefficient (float, optional)
Custom temperature unit conversion factor. Conversion to MKS temperature ($$K$$) is the default. The default conversion factor is divided by the custom conversion factor. Thus if using alternative units, set the unit conversion factor to to the MKS value that corresponds to unity in the alternative units.
conversionCoefficients (float vector, optional)
Custom unit conversion factors for EOS table values. Conversion to MKS units is the default. The default conversion factor is divided by the custom conversion factor. Thus if using alternative units, set the unit conversion factor to to the MKS value that corresponds to unity in the alternative units.

## Parent Updater Data¶

in (string vector, required)

input variables (nodalArray, 1-component each, 2 required)

The specific input variables and order depend on the operations input option. For direct EOS evaluation, the input variables should be in = [temperature, density]. The order is critical where temperature must be the first input and density must be the second input. For inverse operations, the temperature, if an input, must be the first input and the density, if an input, must be the second input. The EOS input should be placed in the correspondingly empty input location. Inputs are of type nodalArray with one component each.

out (string vector, required)

output variables (nodalArray, 1-component each, required)

The number of out variables should be the same as the number of entries into the list of operations. The result of each operation will be placed into the corresponding output variable, respectively. Outputs are of type nodalArray with one component each.

## Example¶

<Updater computeEOS>
kind=equation2d
onGrid=domain
in=[temperature, density]
out=[energy, pressure]
<Equation thisGas>
kind=sesameVariables
filename=sesame.ses
materialID=58501
operations=["compute301EnergyFromDensityAndTemperature", \
"compute301PressureFromDensityAndTemperature"]
</Equation>
</Updater>