11 #ifndef CT_ADSORBATE_H
12 #define CT_ADSORBATE_H
47 Adsorbate(
size_t n, doublereal tlow, doublereal thigh, doublereal pref,
48 const doublereal* coeffs)
51 m_nFreqs = int(coeffs[0]);
54 std::copy(coeffs+2, coeffs + 2 + m_nFreqs,
m_freq.begin());
63 Adsorbate(
double tlow,
double thigh,
double pref,
const double* coeffs)
66 m_nFreqs = int(coeffs[0]);
69 std::copy(coeffs+2, coeffs + 2 + m_nFreqs,
m_freq.begin());
75 m_nFreqs = b.m_nFreqs;
81 duplMyselfAsSpeciesThermoInterpType()
const {
93 doublereal* s_R)
const {
94 h_RT[
m_index] = _energy_RT(temp);
96 - (temp-0.01)*_energy_RT(temp-0.01))/0.01;
101 doublereal& tlow, doublereal& thigh,
103 doublereal*
const coeffs)
const {
109 coeffs[0] =
static_cast<double>(m_nFreqs);
111 for (
size_t i = 2; i < m_nFreqs+2; i++) {
122 doublereal _energy_RT(
double T)
const {
123 doublereal x, hnu_kt, hnu, sum = 0.0;
125 for (
size_t i = 0; i < m_nFreqs; i++) {
129 sum += hnu_kt * x/(1.0 - x);
134 doublereal _free_energy_RT(
double T)
const {
135 doublereal x, hnu_kt, sum = 0.0;
137 for (
size_t i = 0; i < m_nFreqs; i++) {
145 doublereal _entropy_R(
double T)
const {
146 return _energy_RT(T) - _free_energy_RT(T);
void reportParameters(size_t &n, int &type, doublereal &tlow, doublereal &thigh, doublereal &pref, doublereal *const coeffs) const
This utility function reports back the type of parameterization and all of the parameters for the spe...
void updatePropertiesTemp(const doublereal temp, doublereal *cp_R, doublereal *h_RT, doublereal *s_R) const
Compute the reference-state property of one species.
Pure Virtual Base class for the thermodynamic manager for an individual species' reference state...
size_t m_index
species index
Adsorbate()
Empty constructor.
Adsorbate(const Adsorbate &b)
Copy Constructor.
virtual int reportType() const
Returns an integer representing the type of parameterization.
vector_fp m_freq
array of vib frequencies
Pure Virtual Base class for individual species reference state thermodynamic managers and text for th...
doublereal m_highT
Highest valid temperature.
const doublereal Planck
Planck's constant. [J-s].
doublereal m_lowT
lowest valid temperature
An adsorbed surface species.
Adsorbate(size_t n, doublereal tlow, doublereal thigh, doublereal pref, const doublereal *coeffs)
Full Constructor.
std::vector< double > vector_fp
Turn on the use of stl vectors for the basic array type within cantera Vector of doubles.
const doublereal GasConstant
Universal Gas Constant. [J/kmol/K].
Adsorbate(double tlow, double thigh, double pref, const double *coeffs)
Full Constructor.
doublereal m_Pref
Reference state pressure.
const doublereal Boltzmann
Boltzmann's constant [J/K].
#define ADSORBATE
Surface Adsorbate Model for a species on a surface.