cantera/Cantera/src/ConstCpPoly.h
Harry Moffat 5de3c69245 General commit for a reworking of the Species reference state thermo
calculation. This is a reclarification of the reference state thermo
calculations for individual species, and an expansion to handle
liquid phase thermo needs.

There is now a virtual base class for the calculation of reference state
thermo functions for  individual species. It is called
SpeciesThermoInterpType.

There is also a class which allows for a complete general
calculation of the reference state species thermo for a phase,
GeneralSpeciesThermo.

Some of this new functionality may be relegated to ifdef blocks
in the future to limit the amount of code for users who don't
need the new functionality.
2005-10-22 00:18:16 +00:00

66 lines
1.4 KiB
C++

/**
* @file ConstCpPoly.h
*
* $Author$
* $Revision$
* $Date$
*/
// Copyright 2001 California Institute of Technology
#ifndef CT_CONSTCPPOLY_H
#define CT_CONSTCPPOLY_H
#include "SpeciesThermoInterpType.h"
namespace Cantera {
class ConstCpPoly: public SpeciesThermoInterpType {
public:
ConstCpPoly();
ConstCpPoly(int n, doublereal tlow, doublereal thigh,
doublereal pref,
const doublereal* coeffs);
ConstCpPoly(const ConstCpPoly&);
ConstCpPoly& operator=(const ConstCpPoly&);
virtual ~ConstCpPoly();
virtual SpeciesThermoInterpType *
duplMyselfAsSpeciesThermoInterpType() const;
doublereal minTemp() const;
doublereal maxTemp() const;
doublereal refPressure() const;
virtual int reportType() const { return CONSTANT_CP; }
void updateProperties(const doublereal* tt,
doublereal* cp_R, doublereal* h_RT,
doublereal* s_R) const;
void updatePropertiesTemp(const doublereal temp,
doublereal* cp_R, doublereal* h_RT,
doublereal* s_R) const;
void reportParameters(int &n, int &type,
doublereal &tlow, doublereal &thigh,
doublereal &pref,
doublereal* const coeffs) const;
protected:
doublereal m_t0;
doublereal m_cp0_R;
doublereal m_h0_R;
doublereal m_s0_R;
doublereal m_logt0;
doublereal m_lowT, m_highT, m_Pref;
int m_index;
private:
};
}
#endif