00001 #ifndef CLINOPYROXENE_H
00002 #define CLINOPYROXENE_H
00003
00004 #include "MeltsSolution.h"
00005 #include "BermanPhase.h"
00006
00019 class Clinopyroxene: public MeltsSolution {
00020 public:
00022 Clinopyroxene();
00024 virtual ~Clinopyroxene();
00026 const int NCOMP;
00028 const int DIOPSIDE;
00030 const int ENSTATITE;
00032 const int HEDENBERGITE;
00034 const int ALBUFFONITE;
00036 const int BUFFONITE;
00038 const int ESSENITE;
00040 const int JADEITE;
00041 protected:
00043 virtual void init();
00045 static BermanData ssdata[];
00046 };
00047
00049
00051
00054 extern int testCpx(int mask, double t, double p,int na,int nr,char **names,
00055 char **formulas,double *r,double *m);
00056
00059 extern void conCpx(int inpMask,int outMask,double t,double p,
00060 double *e,double *m,double *r,double *x,double **dm,
00061 double ***d2m,double **dr,double ****d3m);
00062
00065 extern void actCpx(int mask,double t,double p,double *x,
00066 double *a,double *mu,double **dr);
00067
00070 extern void gmixCpx(int mask,double t,double p,double *x,
00071 double *gmix,double *dr,double **dr2,
00072 double ***dr3);
00073
00076 extern void hmixCpx(int mask,double t,double p,double *x,
00077 double *hmix);
00080 extern void smixCpx(int mask,double t,double p,double *x,
00081 double *smix,double *dr,double **dr2);
00082
00085 extern void cpmixCpx(int mask,double t,double p,double *x,
00086 double *cpmix,double *dt,double *dr);
00087
00090 extern void vmixCpx(int mask,double t,double p,double *x,
00091 double *vmix,double *dr,double **dr2,
00092 double *dt,double *dp,double *dt2,
00093 double *dtdp,double *dp2,double *drdt,
00094 double *drdp);
00095
00096 #endif
00097
00098
00099
00100
00101
00102
00103
00104
00105
00106
00107
00108
00109
00110
00111
00112