11 #ifndef CT_ADSORBATE_H
12 #define CT_ADSORBATE_H
46 Adsorbate(
size_t n, doublereal tlow, doublereal thigh, doublereal pref,
47 const doublereal* coeffs)
50 m_nFreqs = int(coeffs[0]);
53 std::copy(coeffs+2, coeffs + 2 + m_nFreqs,
m_freq.begin());
59 m_nFreqs = b.m_nFreqs;
71 virtual void install(
const std::string& name,
size_t index,
int type,
72 const doublereal* c, doublereal minTemp_, doublereal maxTemp_,
73 doublereal refPressure_) {
74 warn_deprecated(
"Adsorbate::install",
"Not a member of the base class.");
77 for (
size_t n = 0; n < m_nFreqs; n++) {
94 doublereal* s_R)
const {
95 h_RT[
m_index] = _energy_RT(temp);
97 - (temp-0.01)*_energy_RT(temp-0.01))/0.01;
103 doublereal& tlow, doublereal& thigh,
105 doublereal*
const coeffs)
const {
112 coeffs[0] =
static_cast<double>(m_nFreqs);
114 for (
size_t i = 2; i < m_nFreqs+2; i++) {
125 doublereal _energy_RT(
double T)
const {
126 doublereal x, hnu_kt, hnu, sum = 0.0;
128 for (
size_t i = 0; i < m_nFreqs; i++) {
132 sum += hnu_kt * x/(1.0 - x);
137 doublereal _free_energy_RT(
double T)
const {
138 doublereal x, hnu_kt, sum = 0.0;
140 for (
size_t i = 0; i < m_nFreqs; i++) {
148 doublereal _entropy_R(
double T)
const {
149 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
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
void warn_deprecated(const std::string &method, const std::string &extra)
Print a warning indicating that method is deprecated.
Adsorbate()
Empty constructor.
Adsorbate(const Adsorbate &b)
Copy Constructor.
This file contains definitions for utility functions and text for modules, inputfiles, logs, textlogs, HTML_logs (see Input File Handling, Diagnostic Output, Writing messages to the screen and Writing HTML Logfiles).
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...
virtual void install(const std::string &name, size_t index, int type, const doublereal *c, doublereal minTemp_, doublereal maxTemp_, doublereal refPressure_)
doublereal m_highT
Highest valid temperature.
const doublereal Planck
Planck's constant. [J-s].
doublereal m_lowT
lowest valid temperature
An adsorbed surface species.
virtual SpeciesThermoInterpType * duplMyselfAsSpeciesThermoInterpType() const
duplicator
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].
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.