00001 #ifndef HAARWATER_H 00002 #define HAARWATER_H 00003 00004 #include "Phase.h" 00005 00017 class HaarWater: public Phase { 00018 public: 00020 HaarWater(); 00022 virtual void setPa(double lpa); 00023 00025 virtual double getGibbs(); 00027 virtual double getEnthalpy(); 00029 virtual double getEntropy(); 00031 virtual double getCp(); 00033 virtual double getdCpdT(); 00035 virtual double getVolume(); 00037 virtual double getdVdT(); 00039 virtual double getdVdP(); 00041 virtual double getd2VdT2(); 00043 virtual double getd2VdTdP(); 00045 virtual double getd2VdP2(); 00046 00047 protected: 00049 virtual void init(); 00050 private: 00052 const double pbr; 00054 double pb; 00056 double gH2O; 00058 double hH2O; 00060 double sH2O; 00062 double cpH2O; 00064 double dcpdtH2O; 00066 double vH2O; 00068 double dvdtH2O; 00070 double dvdpH2O; 00072 double d2vdt2H2O; 00074 double d2vdtdpH2O; 00076 double d2vdp2H2O; 00078 void updateWater (); 00079 }; 00080 00082 extern void whaar(double p, double t, double *gH2O, double *hH2O, double *sH2O, 00083 double *cpH2O, double *dcpdtH2O, double *vH2O, double *dvdtH2O, 00084 double *dvdpH2O, double *d2vdt2H2O, double *d2vdtdpH2O, 00085 double *d2vdp2H2O); 00087 extern void wdh78(double p, double tk, double *gDELTA, double *hDELTA, double *sDELTA, 00088 double *cpDELTA, double *dcpdtDELTA, double *vTOTAL, double *dvdtTOTAL, 00089 double *dvdpTOTAL, double *d2vdt2TOTAL, double *d2vdtdpTOTAL, 00090 double *d2vdp2TOTAL); 00091 00092 #endif 00093 00094 00095 00096