00001 #ifndef BERMANLAMBDAPHASE_H
00002 #define BERMANLAMBDAPHASE_H
00003
00004 #include "BermanPhase.h"
00005
00014 class BermanLambdaPhase: public Phase {
00015 public:
00017 BermanLambdaPhase();
00018 virtual ~BermanLambdaPhase();
00019
00020
00022 virtual void setTk(double ltk);
00024 virtual void setPa(double lpa);
00026 virtual void resetTPbounds(double lowTbound,double hightTBound,
00027 double lowPbound,double highPbond);
00028
00029
00031 virtual double getGibbs();
00033 virtual double getEnthalpy();
00035 virtual double getEntropy();
00037 virtual double getCp();
00039 virtual double getVolume();
00041 virtual double getdVdT();
00043 virtual double getdVdP();
00044
00045 protected:
00047 BermanPhase *alpha, *beta;
00049 double tt0;
00051 double l1,l2;
00053 double ttpk;
00055 double ttr0;
00057 virtual void init(BermanData* alph,BermanData* bet);
00058 private:
00060 const double pbr;
00062 double pb;
00064 double tt;
00066 double ttr;
00068 double ttd;
00070 double x1, x2, x3, x4,
00071 Dx1Dp, D2x1Dp2, D3x1Dp3, Dx2Dp, D2x2Dp2, D3x2Dp3,
00072 Dx3Dp, D2x3Dp2, D3x3Dp3, Dx4Dp, D2x4Dp2, D3x4Dp3;
00073
00075 double G(double tk,double pb);
00077 double H(double tk,double pb);
00079 double S(double tk,double pb);
00081 double Cp(double tk,double pb);
00083 double V(double tk,double pb);
00085 double dVdT(double tk,double pb);
00087 double dVdP(double tk,double pb);
00089 void filx(void);
00090 };
00091
00092 #endif
00093
00094
00095
00096
00097