• Main Page
  • Classes
  • Files
  • File List

SpecSolNID.h

00001 /* SpecSolNID header file
00002  * Generic class to deal with species involving homogenious speciation
00003  * must include speciation routine such as speciateNID.cc
00004  *  $Id: SpecSolNID.h,v 1.17 2006/08/29 21:47:35 kress Exp $
00005  */
00006 
00007 #ifndef SPECSOLNID_H
00008 #define SPECSOLNID_H
00009 
00010 #include "SpecSolution.h"
00011 #include "PhaseExceptions.h"
00012 
00025 class SpecSolNID: public SpecSolution {
00026  public:
00028   SpecSolNID();
00030   virtual ~SpecSolNID();
00031 
00032   // getting methods //////////////////////////////////////////
00034   virtual double getGibbs();    
00036   virtual double getSpecMu(int ispec);
00038   virtual double getEnthalpy(); 
00040   double getEntropy();  
00041 
00042  protected:
00044   double **Wh,**Ws;                                  // nspec x nspec **
00045 
00046   // protected utility methods ///////////////////////////////
00048   virtual void init();
00050   virtual int speciate_function(double tol) throw(PhaseError *) ;
00054   virtual double mufunc(int p,double *x);    //implements speciateNID form
00059   virtual double dmufunc(int m,int p,double *x);//implements speciateNID form
00063   virtual double muxs(int ispec,double *x);
00068   virtual double dmuxs(int m,int p,double *x);
00071   virtual void getd2Gds2(double **d2gds2);
00073   virtual void getd3Gds2dT(double **d3gds2dt);
00077   virtual void getd3Gds3(double ***d3gds3);
00081  private:
00083   double *grad,*delxi,**H,*delta,*test,*b,*d,*smalldelta;
00084 };
00085 
00086 #endif
00087 
00088 
00089 
00090 
00091 
00092 
00093 
00094 
00095 
00096 
00097 
00098 
00099 
00100 
00101 
00102 
00103 
00104 
00105 
00106 
00107 
00108 
00109 

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