propaceosVariables

This source allows the user to read in data from a PROPACEOS table and then compute energy, density, temperature and single group and multi-group emissivities. PROPACEOS tables can be obtained from Prism Computational Sciences (PROPACEOS link). Alternatively the PROPACEOS format can be used to create your own tables. Tables specify an equation of state (EOS) for energy, single group and multi-group emissivities 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 PROPACEOS tables use CGS units and eV for temperature. These units are converted to MKS by USim. This is important if one writes their own PROPACEOS tables. The ability to specify custom unit conversion factors is available as an optional input.

Before running any case using the PROPACEOS EOS tables, it is prudent to make basic sanity checks by running a modified version of the verifyEOSTable example with the specific PROPACEOS table that is intended for use.

Parameters

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

The operation(s) to be performed. The standard direct operation is “computeEOSTableFromTemperatureAndDensity” where “EOSTable” is computed from the PROPACEOS 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):

  • Zbar - the charge state
  • Eint - Total internal energy (\(J kg^{-1}\))
  • Eion - Ion internal energy (\(J kg^{-1}\))
  • Eele - Electron internal energy (\(J kg^{-1}\))
  • Pion - Ion pressure (\(Pa\))
  • Pele - Electron pressure (\(Pa\))
  • Ptot - Pion+Pele (\(Pa\))
  • IntRosseland - Integrated Rosseland Mean Opacity (\(m^{2} kg^{-1}\))
  • IntAbsPlanck - Integrated Planck Mean Opacity (\(m^{2} kg^{-1}\))
  • IntEmisPlank - Integrated Planck Mean Opacity (\(m^{2} kg^{-1}\))
  • Zeffective - effective Z for Bremstrahlung radiation
  • Rosseland - Rosseland mean opacity for frequency group (\(m^{2} kg^{-1}\))
  • AbsPlanck - absorption Planck mean opacity for frequency group (\(m^{2} kg^{-1}\))
  • EmisPlanck - emission Planck mean opacity for frequency group (\(m^{2} kg^{-1}\))
  • IonizationFraction - the ionization fraction

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

speciesMass (float, required)
Mass of the species as required to convert from number to mass density.
useParticleDensity (int, optional)
Whether to use the particle (true) or mass (false) density. Default is false.
element (string, optional)
Element name used for computing ionization fraction.
elementList (string vector, optional)
List of elements used in the table for computing Zeffective.
fixRanges (int vector, optional)
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 computeZavg>
  kind = equation3d
  onGrid = domain
  in =  [temperature, density]
  out = [zAvg, intEmisPlanck]

  <Equation thisGas>
    kind = propaceosVariables
    fixRanges = [1, 1]
    filename = Ar_Ni_1e^10_10group_NLTE_20110427.prp
    operations = ["computeZbarFromTemperatureAndDensity" \
                  "computeIntEmisPlanckFromTemperatureAndDensity"]
    speciesMass=MI
    elementList = [Ar]
  </Equation>
</Updater>