Utilities for the Fluid Properties Module

Newton method solver

The fluid properties module includes a 1D and a 2D Newton method solver.

1D solver

The 1D Newton method solver is used to solve the problem:

  • Find such that , with , known constants and a function.

should compute both its return value and the derivatives of its value with regards to both its variables using references.

The routine will error if a NaN is encountered or if the maximum number of iterations is exceeded.

2D solver

The 2D Newton method solver is used to solve the problem:

with , known constants, , functions and , the real-valued variables to solve for.

The functions should compute both their return value and the derivatives of their value with regards to both variables using references.

The routine will not error if a NaN is encountered or if the maximum number of iterations is exceeded. Instead, a converged boolean will be set to false, and the routine will return the last valid estimates of and . It is the responsibility of the user to handle this unconverged output.

Brent's method solver

Brent's method may be used to find roots of a general function. It was adapted from Numerical Recipes in C++.

More information may be found here.

NASA 7-coefficient polynomials

The NASA7 utilities, as used in NASA7IdealGasFluidProperties, evaluate the standard-state thermodynamic properties of ideal-gas species from NASA 7-coefficient polynomials (McBride et al., 1993). Each species has two sets of coefficients , one for temperatures and one for :

where , , and are the molar isobaric heat capacity, enthalpy, and entropy at the reference pressure of the data, and is the universal gas constant. The enthalpy includes the enthalpy of formation, so the enthalpies of different species share a common reference and reaction enthalpies follow from their differences. The entropy is the absolute (third-law) entropy. The utilities return these dimensionless forms, so they do not depend on the value of , and they accept automatic differentiation types.

The built-in species are H, O, HO, CH, CO, CO, and N, with the GRI-Mech 3.0 data (Smith et al., 1999) as distributed with Cantera 3.2.0 (Goodwin et al., 2025) in gri30.yaml. The reference pressure is 101325 Pa, and K. The fits cover 200 K to 3500 K, except for N, which covers 300 K to 5000 K. The utilities do not check these ranges. The molar masses are those Cantera computes from its atomic weights.

At the low-temperature polynomial applies, as in Cantera. The two polynomials of a species do not match exactly at : for the built-in species, the mismatch is below relative in , J/mol in , and J/(mol K) in .

References

  1. 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]
  2. 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]
  3. 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]