rmgpy.thermo.ThermoData¶
- class rmgpy.thermo.ThermoData(Tdata=None, Cpdata=None, H298=None, S298=None, Cp0=None, CpInf=None, Tmin=None, Tmax=None, E0=None, label='', comment='')¶
A heat capacity model based on a set of discrete heat capacity data points. The attributes are:
Attribute
Description
Tdata
An array of temperatures at which the heat capacity is known
Cpdata
An array of heat capacities at the given temperatures
H298
The standard enthalpy of formation at 298 K
S298
The standard entropy at 298 K
Tmin
The minimum temperature at which the model is valid, or zero if unknown or undefined
Tmax
The maximum temperature 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)
- Cp0¶
The heat capacity at zero temperature.
- CpInf¶
The heat capacity at infinite temperature.
- Cpdata¶
An array of heat capacities at the given temperatures.
- E0¶
The ground state energy (J/mol) at zero Kelvin, including zero point energy, or
Noneif not yet specified.
- H298¶
The standard enthalpy of formation at 298 K.
- S298¶
The standard entropy of formation at 298 K.
- Tdata¶
An array of temperatures at which the heat capacity is known.
- Tmax¶
The maximum temperature at which the model is valid, or
Noneif not defined.
- Tmin¶
The minimum temperature at which the model is valid, or
Noneif not defined.
- as_dict()¶
A helper function for dumping objects as dictionaries for YAML files
- Returns:
A dictionary representation of the object
- Return type:
dict
- 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_all_zeros(self) bool¶
Check whether a ThermoData object has all zero values
e.g.:
ThermoData( Tdata=([300, 400, 500, 600, 800, 1000, 1500], "K"), Cpdata=([0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], "J/(mol*K)"), H298=(0.0, "kJ/mol"), S298=(0.0, "J/(mol*K)"), )
- Returns:
Whether all values are zeroes or not.
- Return type:
bool
- is_identical_to(self, HeatCapacityModel other) bool¶
Returns
Trueif self and other report very similar thermo values for heat capacity, enthalpy, entropy, and free energy over a wide range of temperatures, orFalseotherwise.
- is_similar_to(self, HeatCapacityModel other) bool¶
Returns
Trueif self and other report similar thermo values for heat capacity, enthalpy, entropy, and free energy over a wide range of temperatures, orFalseotherwise.
- is_temperature_valid(self, double T) bool¶
Return
Trueif the temperature T in K is within the valid temperature range of the thermodynamic data, orFalseif not. If the minimum and maximum temperature are not defined,Trueis returned.
- label¶
unicode
- Type:
label
- make_object(data, 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
- to_nasa(self, double Tmin, double Tmax, double Tint, bool fixedTint=False, bool weighting=True, int continuity=3) NASA¶
Convert the object to a
NASAobject. You must specify the minimum and maximum temperatures of the fit Tmin and Tmax in K, as well as the intermediate temperature Tint in K to use as the bridge between the two fitted polynomials. The remaining parameters can be used to modify the fitting algorithm used:fixedTint -
Falseto allow Tint to vary in order to improve the fit, orTrueto keep it fixedweighting -
Trueto weight the fit by \(T^{-1}\) to emphasize good fit at lower temperatures, orFalseto not use weightingcontinuity - The number of continuity constraints to enforce at Tint:
0: no constraints on continuity of \(C_\mathrm{p}(T)\) at Tint
1: constrain \(C_\mathrm{p}(T)\) to be continous at Tint
2: constrain \(C_\mathrm{p}(T)\) and \(\frac{d C_\mathrm{p}}{dT}\) to be continuous at Tint
3: constrain \(C_\mathrm{p}(T)\), \(\frac{d C_\mathrm{p}}{dT}\), and \(\frac{d^2 C_\mathrm{p}}{dT^2}\) to be continuous at Tint
4: constrain \(C_\mathrm{p}(T)\), \(\frac{d C_\mathrm{p}}{dT}\), \(\frac{d^2 C_\mathrm{p}}{dT^2}\), and \(\frac{d^3 C_\mathrm{p}}{dT^3}\) to be continuous at Tint
5: constrain \(C_\mathrm{p}(T)\), \(\frac{d C_\mathrm{p}}{dT}\), \(\frac{d^2 C_\mathrm{p}}{dT^2}\), \(\frac{d^3 C_\mathrm{p}}{dT^3}\), and \(\frac{d^4 C_\mathrm{p}}{dT^4}\) to be continuous at Tint
Note that values of continuity of 5 or higher effectively constrain all the coefficients to be equal and should be equivalent to fitting only one polynomial (rather than two).
Returns the fitted
NASAobject containing the two fittedNASAPolynomialobjects.