00001 /* Wustite header file 00002 * Victor Kress 00003 * $Id: Wustite.h,v 1.3 2008/03/01 01:37:19 kress Exp $ 00004 */ 00005 #ifndef WUSTITE_H 00006 #define WUSTITE_H 00007 00008 #include "Phase.h" 00009 #include "FeMetalMELTS.h" 00010 #include "O2Gas.h" 00011 #include "VinetEOS.h" 00012 00023 class Wustite: public Phase { 00024 public: 00026 Wustite(); 00028 virtual ~Wustite(); 00030 virtual void setTk(double tk); 00032 virtual double getGibbs(); 00034 virtual double getEnthalpy(); 00036 virtual double getEntropy(); 00038 virtual double getCp(); 00040 virtual double getdCpdT(); 00042 virtual double getVolume(); 00044 virtual double getdVdT(); 00046 virtual double getdVdP(); 00048 virtual double getd2VdT2(); 00050 virtual double getd2VdTdP(); 00052 virtual double getd2VdP2(); 00054 virtual void update(); 00055 protected: 00057 O2Gas *o2; 00059 FeMetalMELTS *fe; 00061 static double lowcoefs[]; 00063 static double medcoefs[]; 00065 static double hicoefs[]; 00067 double *a; 00068 private: 00070 VinetEOS Vinet; 00071 }; 00072 00073 #endif 00074 00075 00076 00077