• Main Page
  • Classes
  • Files
  • File List

SulfLiq.h

00001 /* SulfLiq header file
00002  * $Id: SulfLiq.h,v 1.24 2007/11/21 01:48:30 kress Exp $
00003  * by Victor Kress
00004  */
00005 
00006 #ifndef SULFLIQ_H
00007 #define SULFLIQ_H
00008 
00009 
00010 #include "Phase.h"
00011 #include "SpecSolNID.h"
00012 #include "VinetEOS.h"
00013 
00021 struct SLSSData {
00023   char *name;
00025   char *formula;
00027   double mw;
00029   double g0;
00031   double s;
00033   double cp;
00035   double ge1300;
00037   double v1300;
00039   double dvdt;
00041   double dvdp;
00043   double d2vdpdt;
00044 };
00045 
00053 class SLSSPhase: public Phase {
00054  public:
00056   SLSSPhase(SLSSData *ldat);
00058   virtual double getGibbs();  
00060   virtual double getEnthalpy();
00062   virtual double getEntropy();
00064   virtual double getCp();
00066   virtual double getdCpdT();
00068   virtual double getVolume();
00070   virtual double getdVdT();
00072   virtual double getd2VdT2();
00074   virtual double getdVdP();
00076   virtual double getd2VdTdP();
00078   virtual double getd2VdP2();
00080   SLSSData *dat;
00082   const double STR;
00083  protected:
00085   VinetEOS Vinet;
00087   virtual void update();
00088 };
00089 
00098 class SulfLiq: public SpecSolNID {
00099  public:
00100   // public variables ////////////////////////////////
00102   const int NCOMP;
00104   const int NSPEC;
00106   const int ODEX;
00108   const int SDEX;
00110   const int FDEX;
00112   const int NDEX;
00114   const int CDEX;
00116   const int WUDEX;
00118   const int HMDEX;
00120   const int BUDEX;
00122   const int TTDEX;
00124   const int MIDEX;
00126   const int DJDEX;
00128   const int OPDEX;
00130   const int NSDEX;
00132   const int CVDEX;
00134   const int TEDEX;
00136   const double STR;
00137   // creation/distruction ////////////////////////////////
00139   SulfLiq();
00141   virtual ~SulfLiq();
00142   
00143   // setting methods ////////////////////////////////////
00145   virtual void setTk(double ltk);
00147   virtual void setPa(double lpq);
00155   virtual int setFugacity(double logfo2,double logfs2,int verbose);
00157   virtual int setFugacity(double logfo2,double logfs2);
00159   virtual int setlogfo2(double logfo2);
00161   virtual int setlogfs2(double logfs2);
00162   
00163   // getting methods ///////////////////////////////////
00165   double getVolume();
00167   double getdVdT();
00169   double getlogfo2();
00171   double getlogfs2();
00172   
00173  protected:
00175   virtual void init();
00177   Phase *po2;
00179   Phase *ps2;
00181   static double allstoich[15][5];
00182 };
00183   
00184 #endif
00185 
00186 
00187 
00188 
00189 
00190 
00191 
00192 
00193 
00194 
00195 
00196 
00197 
00198 
00199 

Generated on Fri Aug 6 2010 13:30:29 for phases by  doxygen 1.7.1