- speciesGas species
C++ Type:MooseEnum
Controllable:No
Description:Gas species
NASA7IdealGasFluidProperties
Ideal gas with temperature-dependent heat capacity, enthalpy, and entropy from NASA 7-coefficient polynomials
This class implements an ideal gas whose heat capacity, enthalpy, and entropy depend on temperature through the NASA 7-coefficient polynomials (McBride et al., 1993) of a built-in species. The species is selected with "species": H, O, HO, CH, CO, CO, or N. The data are those of GRI-Mech 3.0 (Smith et al., 1999) as distributed with Cantera 3.2.0 (Goodwin et al., 2025); the polynomials, the data, and their temperature ranges are described with the NASA 7-coefficient polynomial utilities.
[FluidProperties]
[steam]
type = NASA7IdealGasFluidProperties
species = H2O
[]
[]
Properties
The equation of state is that of an ideal gas:
where is pressure, is specific volume, is temperature, is the universal gas constant, and is the molar mass of the species. With the dimensionless standard-state heat capacity , enthalpy , and entropy from the polynomials, the specific enthalpy, internal energy, entropy, and heat capacities are
where Pa is the reference pressure of the data. The ratio of specific heats is , and the sound speed is .
The enthalpy includes the enthalpy of formation of the species, and the entropy is the absolute entropy. The enthalpies of different species therefore share a common reference, so a mixture energy balance accounts for the heat of reaction when the composition changes by reaction.
The derivatives of the properties are computed by forward-mode automatic differentiation of the expressions above, so they are exact.
This class provides the properties from pressure and temperature, from temperature and specific volume, from specific volume and internal energy, and from pressure and enthalpy, as well as the pressure from enthalpy and entropy and the internal energy from pressure and density and from specific volume and enthalpy. It does not provide viscosity or thermal conductivity, so it cannot yet be used in flow models that need them, such as the gas-mixture flow channels of the thermal hydraulics module. Mixtures of these gases are described by IdealGasMixtureFluidProperties.
Comparison with IdealGasFluidProperties
Both classes describe ideal gases, but they differ as follows:
| IdealGasFluidProperties | NASA7IdealGasFluidProperties | |
|---|---|---|
| Gas | Any gas, given by its ratio of specific heats and molar mass | One of the built-in species |
| Specific heats | Constant | Functions of temperature |
| Internal energy | plus a user-supplied reference value | Includes the enthalpy of formation |
| Entropy | Relative to an arbitrary reference | Absolute |
| Temperature from internal energy or enthalpy | Explicit | Newton iteration |
| Temperature range | Unlimited | That of the data, with a solution warning outside it |
| Viscosity and thermal conductivity | Constant, user-supplied | Not provided |
| Density from pressure and entropy, critical-point properties | Provided | Not provided |
Temperature from internal energy or enthalpy
The properties from specific volume and internal energy, and those from enthalpy, require the temperature at which the internal energy or the enthalpy takes a given value. The temperature is found with the 1D Newton solver of the fluid properties utilities, whose relative tolerance and maximum number of iterations are set with "tolerance" and "max_newton_its". Two choices make this inversion robust:
The iteration starts at the upper end of the temperature range of the data, so this class has no initial-guess parameters. The internal energy and the enthalpy are convex functions of temperature over nearly all of that range, because the heat capacity increases with temperature, so the iterates approach the solution from above. An iteration started below the solution can overshoot far beyond the range, where the extrapolated polynomials eventually make the energy decrease with temperature and produce a second, spurious solution. For the built-in species, the solution is found up to at least 1.7 times the upper end of the range.
The internal energy and the enthalpy include the enthalpy of formation, so they can be zero: the internal energy of N, for example, vanishes near 417 K. The Newton solver tests convergence relative to the target value, which close to zero would demand accuracy below roundoff. The equation is therefore offset by a constant that makes both of its sides close to (or ), which turns the test into one on the relative error in temperature.
At the midpoint temperature of the data, where the two polynomials do not match exactly, the same internal energy or enthalpy is also reached slightly above the midpoint temperature, by less than K for the built-in species. The inversion may return either temperature.
Temperature range
The polynomials are fitted from 200 K to 3500 K, except for N, whose fit extends from 300 K to 5000 K. Outside its range, the polynomials of a species are still evaluated, and each such evaluation is counted as a solution warning, which appears in the solution invalidity summary. For example, N at room temperature lies slightly below its range. A non-positive or not-a-number temperature is flagged as an invalid solution.
Input Parameters
- allow_imperfect_jacobiansFalsetrue to allow unimplemented property derivative terms to be set to zero for the AD API
Default:False
C++ Type:bool
Controllable:No
Description:true to allow unimplemented property derivative terms to be set to zero for the AD API
- control_tagsAdds user-defined labels for accessing object parameters via control logic.
C++ Type:std::vector<std::string>
Controllable:No
Description:Adds user-defined labels for accessing object parameters via control logic.
- enableTrueSet the enabled status of the MooseObject.
Default:True
C++ Type:bool
Controllable:Yes
Description:Set the enabled status of the MooseObject.
- fp_typesingle-phase-fpType of the fluid property object
Default:single-phase-fp
C++ Type:FPType
Controllable:No
Description:Type of the fluid property object
Advanced Parameters
- max_newton_its100Maximum number of Newton iterations for variable set conversions
Default:100
C++ Type:unsigned int
Controllable:No
Description:Maximum number of Newton iterations for variable set conversions
- tolerance1e-08Tolerance for 2D Newton variable set conversion
Default:1e-08
C++ Type:Real
Unit:(no unit assumed)
Range:tolerance > 0
Controllable:No
Description:Tolerance for 2D Newton variable set conversion
- verbose_newtonFalseWhether to output Newton inversion iterations to console
Default:False
C++ Type:bool
Controllable:No
Description:Whether to output Newton inversion iterations to console
Variable Set Conversions Newton Solve Parameters
- prop_getter_suffixAn optional suffix parameter that can be appended to any attempt to retrieve/get material properties. The suffix will be prepended with a '_' character.
C++ Type:MaterialPropertyName
Unit:(no unit assumed)
Controllable:No
Description:An optional suffix parameter that can be appended to any attempt to retrieve/get material properties. The suffix will be prepended with a '_' character.
- use_interpolated_stateFalseFor the old and older state use projected material properties interpolated at the quadrature points. To set up projection use the ProjectedStatefulMaterialStorageAction.
Default:False
C++ Type:bool
Controllable:No
Description:For the old and older state use projected material properties interpolated at the quadrature points. To set up projection use the ProjectedStatefulMaterialStorageAction.
Material Property Retrieval Parameters
References
- David G. Goodwin, Harry K. Moffat, Ingmar Schoegl, Raymond L. Speth, and Bryan W. Weber.
Cantera: an object-oriented software toolkit for chemical kinetics, thermodynamics, and transport processes.
2025.
Version 3.2.0.
URL: https://www.cantera.org.[Export]
- Bonnie J. McBride, Sanford Gordon, and Martin A. Reno.
Coefficients for calculating thermodynamic and transport properties of individual species.
Technical Report NASA TM-4513, NASA Lewis Research Center, 1993.[Export]
- Gregory P. Smith, David M. Golden, Michael Frenklach, Nigel W. Moriarty, Boris Eiteneer, Mikhail Goldenberg, C. Thomas Bowman, Ronald K. Hanson, Soonho Song, William C. Gardiner, Jr., Vitali V. Lissianski, and Zhiwei Qin.
GRI-Mech 3.0.
1999.
URL: http://combustion.berkeley.edu/gri-mech/.[Export]