rmgpy.thermo.NASAPolynomial

class rmgpy.thermo.NASAPolynomial(coeffs=None, Tmin=None, Tmax=None, E0=None, label='', comment='')

A heat capacity model based on the NASA polynomial. Both the seven-coefficient and nine-coefficient variations are supported. The attributes are:

Attribute

Description

coeffs

The seven or nine NASA polynomial coefficients

Tmin

The minimum temperature in K at which the model is valid, or zero if unknown or undefined

Tmax

The maximum temperature in K at which the model is valid, or zero if unknown or undefined

E0

The energy at zero Kelvin (including zero point energy)

comment

Information about the model (e.g. its source)

The NASA polynomial is another representation of the heat capacity, enthalpy, and entropy using seven or nine coefficients \(\mathbf{a} = \left[a_{-2}\ a_{-1}\ a_0\ a_1\ a_2\ a_3\ a_4\ a_5\ a_6 \right]\). The relevant thermodynamic parameters are evaluated via the expressions

\[\frac{C_\mathrm{p}(T)}{R} = a_{-2} T^{-2} + a_{-1} T^{-1} + a_0 + a_1 T + a_2 T^2 + a_3 T^3 + a_4 T^4\]
\[\frac{H(T)}{RT} = - a_{-2} T^{-2} + a_{-1} T^{-1} \ln T + a_0 + \frac{1}{2} a_1 T + \frac{1}{3} a_2 T^2 + \frac{1}{4} a_3 T^3 + \frac{1}{5} a_4 T^4 + \frac{a_5}{T}\]
\[\frac{S(T)}{R} = -\frac{1}{2} a_{-2} T^{-2} - a_{-1} T^{-1} + a_0 \ln T + a_1 T + \frac{1}{2} a_2 T^2 + \frac{1}{3} a_3 T^3 + \frac{1}{4} a_4 T^4 + a_6\]

In the seven-coefficient version, \(a_{-2} = a_{-1} = 0\).

As simple polynomial expressions, the NASA polynomial is faster to evaluate when compared to the Wilhoit model; however, it does not have the nice physical behavior of the Wilhoit representation. Often multiple NASA polynomials are used to accurately represent the thermodynamics of a system over a wide temperature range; the NASA class is available for this purpose.

Cp0

The heat capacity at zero temperature.

CpInf

The heat capacity at infinite temperature.

E0

The ground state energy (J/mol) at zero Kelvin, including zero point energy, or None if not yet specified.

Tmax

The maximum temperature at which the model is valid, or None if not defined.

Tmin

The minimum temperature at which the model is valid, or None if not defined.

as_dict(self) dict
c0

‘double’

Type:

c0

c1

‘double’

Type:

c1

c2

‘double’

Type:

c2

c3

‘double’

Type:

c3

c4

‘double’

Type:

c4

c5

‘double’

Type:

c5

c6

‘double’

Type:

c6

change_base_enthalpy(self, double deltaH)

Add deltaH in J/mol to the base enthalpy of formation H298.

change_base_entropy(self, double deltaS)

Add deltaS in J/molK to the base entropy of formation S298.

cm1

‘double’

Type:

cm1

cm2

‘double’

Type:

cm2

coeffs

The set of seven or nine NASA polynomial coefficients.

comment

unicode

Type:

comment

discrepancy(self, HeatCapacityModel other) double

Return some measure of how dissimilar self is from other.

The measure is arbitrary, but hopefully useful for sorting purposes. Discrepancy of 0 means they are identical

get_enthalpy(self, double T) double

Return the enthalpy in J/mol at the specified temperature T in K.

get_entropy(self, double T) double

Return the entropy in J/mol*K at the specified temperature T in K.

get_free_energy(self, double T) double

Return the Gibbs free energy in J/mol at the specified temperature T in K.

get_heat_capacity(self, double T) double

Return the constant-pressure heat capacity in J/mol*K at the specified temperature T in K.

is_identical_to(self, HeatCapacityModel other) bool

Returns True if self and other report very similar thermo values for heat capacity, enthalpy, entropy, and free energy over a wide range of temperatures, or False otherwise.

is_similar_to(self, HeatCapacityModel other) bool

Returns True if self and other report similar thermo values for heat capacity, enthalpy, entropy, and free energy over a wide range of temperatures, or False otherwise.

is_temperature_valid(self, double T) bool

Return True if the temperature T in K is within the valid temperature range of the thermodynamic data, or False if not. If the minimum and maximum temperature are not defined, True is returned.

label

unicode

Type:

label

make_object(self, dict data, dict class_dict)

A helper function for constructing objects from a dictionary (used when loading YAML files)

Parameters:
  • data (dict) – The dictionary representation of the object

  • class_dict (dict) – A mapping of class names to the classes themselves

Returns:

None