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