00001 #ifndef LEUCITE_H
00002 #define LEUCITE_H
00003
00004 #include "MeltsSolution.h"
00005 #include "BermanPhase.h"
00006
00020 class Leucite: public MeltsSolution {
00021 public:
00023 Leucite();
00025 virtual ~Leucite();
00027 const int NCOMP;
00029 const int LEUCITE;
00031 const int ANALCIME;
00033 const int NALEUCITE;
00034 protected:
00036 virtual void init();
00038 static BermanData ssdata[];
00039 };
00040
00042
00044
00047 extern int testLeu(int mask, double t, double p,int na,int nr,char **names,
00048 char **formulas,double *r,double *m);
00049
00052 extern void conLeu(int inpMask,int outMask,double t,double p,
00053 double *e,double *m,double *r,double *x,double **dm,
00054 double ***d2m,double **dr,double ****d3m);
00055
00058 extern void actLeu(int mask,double t,double p,double *x,
00059 double *a,double *mu,double **dr);
00060
00063 extern void gmixLeu(int mask,double t,double p,double *x,
00064 double *gmix,double *dr,double **dr2,
00065 double ***dr3);
00066
00069 extern void hmixLeu(int mask,double t,double p,double *x,
00070 double *hmix);
00073 extern void smixLeu(int mask,double t,double p,double *x,
00074 double *smix,double *dr,double **dr2);
00075
00078 extern void cpmixLeu(int mask,double t,double p,double *x,
00079 double *cpmix,double *dt,double *dr);
00080
00083 extern void vmixLeu(int mask,double t,double p,double *x,
00084 double *vmix,double *dr,double **dr2,
00085 double *dt,double *dp,double *dt2,
00086 double *dtdp,double *dp2,double *drdt,
00087 double *drdp);
00088
00089 #endif
00090