00001
00002
00003
00004
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
00034 virtual double getGibbs();
00036 virtual double getSpecMu(int ispec);
00038 virtual double getEnthalpy();
00040 double getEntropy();
00041
00042 protected:
00044 double **Wh,**Ws;
00045
00046
00048 virtual void init();
00050 virtual int speciate_function(double tol) throw(PhaseError *) ;
00054 virtual double mufunc(int p,double *x);
00059 virtual double dmufunc(int m,int p,double *x);
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