antioch-0.4.0
|
This class stores the NASA polynomial fit to the thermodynamics quantities and . More...
#include <ascii_parser.h>
Public Member Functions | |
NASA9CurveFit (const std::vector< CoeffType > &coeffs, const std::vector< CoeffType > &temps) | |
Accepts a vector temperatures to specify the temp. intervals. More... | |
NASA9CurveFit (const std::vector< CoeffType > &coeffs) | |
Assumes the coefficients correspond to the default temperature intervals. More... | |
~NASA9CurveFit () | |
template<typename StateType > | |
const StateType | cp_over_R (const TempCache< StateType > &cache) const |
template<typename StateType > | |
StateType | h_over_RT (const TempCache< StateType > &cache) const |
template<typename StateType > | |
StateType | s_over_R (const TempCache< StateType > &cache) const |
template<typename StateType > | |
StateType | h_RT_minus_s_R (const TempCache< StateType > &cache) const |
template<typename StateType > | |
StateType | dh_RT_minus_s_R_dT (const TempCache< StateType > &cache) const |
unsigned int | n_intervals () const |
The number of intervals for this NASA9 curve fit. More... | |
template<typename StateType > | |
Antioch::rebind< StateType, unsigned int >::type | interval (const StateType &T) const |
The interval the input temperature lies in. More... | |
template<typename StateType > | |
Antioch::rebind< StateType, unsigned int >::type | interval (const StateType &T) const |
const CoeffType * | coefficients (const unsigned int interval) const |
The ordering/packing of the coefficients will depend on the subclass. More... | |
Protected Member Functions | |
NASA9CurveFit () | |
void | init_nasa9_temps (const std::vector< CoeffType > &coeffs, unsigned n_coeffs) |
void | check_coeff_size () const |
void | check_temp_coeff_size_consistency () const |
Protected Attributes | |
unsigned int | _n_coeffs |
The number of coefficients in each interval. More... | |
std::vector< CoeffType > | _coefficients |
The coefficient data. More... | |
std::vector< CoeffType > | _temp |
The temperatures. More... | |
This class stores the NASA polynomial fit to the thermodynamics quantities and .
This formulation requires nine coefficients, from to .
The default temperature intervals are [200–1,000], [1,000–6,000], [6,000–20,000] K.
The equations are:
Definition at line 68 of file ascii_parser.h.
|
inline |
Accepts a vector temperatures to specify the temp. intervals.
Definition at line 157 of file nasa9_curve_fit.h.
References Antioch::NASACurveFitBase< CoeffType >::_n_coeffs, Antioch::NASACurveFitBase< CoeffType >::check_coeff_size(), and Antioch::NASACurveFitBase< CoeffType >::check_temp_coeff_size_consistency().
|
inline |
Assumes the coefficients correspond to the default temperature intervals.
If there are not enough coefficients for the third interval, then this only builds up through the second interval.
Definition at line 169 of file nasa9_curve_fit.h.
References Antioch::NASACurveFitBase< CoeffType >::_n_coeffs, Antioch::NASACurveFitBase< CoeffType >::check_coeff_size(), Antioch::NASACurveFitBase< CoeffType >::check_temp_coeff_size_consistency(), and Antioch::NASA9CurveFit< CoeffType >::init_nasa9_temps().
|
inline |
Definition at line 82 of file nasa9_curve_fit.h.
|
inlineprotected |
Definition at line 146 of file nasa9_curve_fit.h.
|
inlineprotectedinherited |
Definition at line 143 of file nasa_curve_fit_base.h.
References antioch_error_msg.
Referenced by Antioch::CEACurveFit< CoeffType >::CEACurveFit(), Antioch::NASA7CurveFit< CoeffType >::NASA7CurveFit(), and Antioch::NASA9CurveFit< CoeffType >::NASA9CurveFit().
|
inlineprotectedinherited |
Definition at line 161 of file nasa_curve_fit_base.h.
References antioch_error_msg.
Referenced by Antioch::CEACurveFit< CoeffType >::CEACurveFit(), Antioch::NASA7CurveFit< CoeffType >::NASA7CurveFit(), and Antioch::NASA9CurveFit< CoeffType >::NASA9CurveFit().
|
inlineinherited |
The ordering/packing of the coefficients will depend on the subclass.
Definition at line 133 of file nasa_curve_fit_base.h.
References antioch_assert_less, and antioch_assert_less_equal.
Referenced by AntiochTesting::NASA7XMLParsingTest< long double >::check_curve_fits(), and AntiochTesting::NASA9XMLParsingTest< long double >::test_supplied_species().
|
inline |
Definition at line 199 of file nasa9_curve_fit.h.
References Antioch::if_else(), Antioch::max(), Antioch::min(), Antioch::TempCache< StateType >::T, Antioch::TempCache< StateType >::T2, Antioch::TempCache< StateType >::T3, Antioch::TempCache< StateType >::T4, and Antioch::zero_clone().
Referenced by AntiochTesting::NASA9CurveFitTest< long double >::test_cp().
|
inline |
Definition at line 317 of file nasa9_curve_fit.h.
References Antioch::if_else(), Antioch::TempCache< StateType >::lnT, Antioch::max(), Antioch::min(), Antioch::TempCache< StateType >::T, Antioch::TempCache< StateType >::T2, Antioch::TempCache< StateType >::T3, and Antioch::zero_clone().
|
inline |
Definition at line 229 of file nasa9_curve_fit.h.
References Antioch::if_else(), Antioch::TempCache< StateType >::lnT, Antioch::max(), Antioch::min(), Antioch::TempCache< StateType >::T, Antioch::TempCache< StateType >::T2, Antioch::TempCache< StateType >::T3, Antioch::TempCache< StateType >::T4, and Antioch::zero_clone().
Referenced by AntiochTesting::NASA9CurveFitTest< long double >::test_h().
|
inline |
Definition at line 286 of file nasa9_curve_fit.h.
References Antioch::if_else(), Antioch::TempCache< StateType >::lnT, Antioch::max(), Antioch::min(), Antioch::TempCache< StateType >::T, Antioch::TempCache< StateType >::T2, Antioch::TempCache< StateType >::T3, Antioch::TempCache< StateType >::T4, and Antioch::zero_clone().
|
inlineprotected |
Definition at line 182 of file nasa9_curve_fit.h.
Referenced by Antioch::CEACurveFit< CoeffType >::CEACurveFit(), and Antioch::NASA9CurveFit< CoeffType >::NASA9CurveFit().
|
inherited |
The interval the input temperature lies in.
|
inlineinherited |
Definition at line 113 of file nasa_curve_fit_base.h.
References Antioch::constant_clone(), Antioch::if_else(), and Antioch::zero_clone().
|
inlineinherited |
The number of intervals for this NASA9 curve fit.
Definition at line 106 of file nasa_curve_fit_base.h.
Referenced by AntiochTesting::NASA7XMLParsingTest< long double >::check_curve_fits(), and AntiochTesting::NASA9XMLParsingTest< long double >::test_supplied_species().
|
inline |
Definition at line 257 of file nasa9_curve_fit.h.
References Antioch::if_else(), Antioch::TempCache< StateType >::lnT, Antioch::max(), Antioch::min(), Antioch::TempCache< StateType >::T, Antioch::TempCache< StateType >::T2, Antioch::TempCache< StateType >::T3, Antioch::TempCache< StateType >::T4, and Antioch::zero_clone().
Referenced by AntiochTesting::NASA9CurveFitTest< long double >::test_s().
|
protectedinherited |
The coefficient data.
The coeffcients are packed in linear ordering. That is, a0-a9 for the first interval, a0-a9 for the second interval, and so on.
Definition at line 85 of file nasa_curve_fit_base.h.
Referenced by Antioch::CEACurveFit< CoeffType >::CEACurveFit().
|
protectedinherited |
The number of coefficients in each interval.
Definition at line 77 of file nasa_curve_fit_base.h.
Referenced by Antioch::CEACurveFit< CoeffType >::CEACurveFit(), Antioch::NASA7CurveFit< CoeffType >::NASA7CurveFit(), and Antioch::NASA9CurveFit< CoeffType >::NASA9CurveFit().
|
protectedinherited |
The temperatures.
The temperature defining the intervals
Definition at line 91 of file nasa_curve_fit_base.h.
Referenced by Antioch::CEACurveFit< CoeffType >::CEACurveFit(), and Antioch::NASA7CurveFit< CoeffType >::NASA7CurveFit().