00001 /* ShomatePhase header file 00002 * generic data class for calculating thermodynamic data from Shomate equations 00003 * Victor Kress 00004 */ 00005 #ifndef SHOMATEPHASE_H 00006 #define SHOMATEPHASE_H 00007 00008 #include "Phase.h" 00009 00017 struct ShomateData{ 00019 char *name; 00021 char *formula; 00023 double mw; 00025 double A; 00027 double B; 00029 double C; 00031 double D; 00033 double E; 00035 double F; 00037 double G; 00039 double Hf; 00040 }; 00041 00049 class ShomatePhase: public Phase { 00050 public: 00052 ShomatePhase(); 00054 ShomatePhase(ShomateData *sd); 00056 virtual ~ShomatePhase(); 00057 00059 virtual void setTk(double ltk); // Overrides Phase 00061 void setData(ShomateData *sd); // set data 00062 00064 virtual double getGibbs(); 00066 virtual double getEnthalpy(); 00068 virtual double getEntropy(); 00070 virtual double getCp(); 00072 virtual double getdCpdT(); 00073 protected: 00075 double t; // tk/1000 00077 ShomateData *dat; 00079 virtual void init(void); 00080 }; 00081 00082 #endif 00083 00084 00085