00001 #ifndef ORTHOAMPHIBOLE_H
00002 #define ORTHOAMPHIBOLE_H
00003
00004 #include "MeltsSolution.h"
00005 #include "BermanPhase.h"
00006
00019 class Orthoamphibole: public MeltsSolution {
00020 public:
00022 Orthoamphibole();
00024 virtual ~Orthoamphibole();
00026 const int NCOMP;
00028 const int CUMMINGTONITE;
00030 const int GRUNERITE;
00032 const int TREMOLITE;
00033 protected:
00035 virtual void init();
00037 static BermanData ssdata[];
00038 };
00039
00041
00043
00046 extern int testOph(int mask, double t, double p,int na,int nr,char **names,
00047 char **formulas,double *r,double *m);
00048
00051 extern void conOph(int inpMask,int outMask,double t,double p,
00052 double *e,double *m,double *r,double *x,double **dm,
00053 double ***d2m,double **dr,double ****d3m);
00054
00057 extern void actOph(int mask,double t,double p,double *x,
00058 double *a,double *mu,double **dr);
00059
00062 extern void gmixOph(int mask,double t,double p,double *x,
00063 double *gmix,double *dr,double **dr2,
00064 double ***dr3);
00065
00068 extern void hmixOph(int mask,double t,double p,double *x,
00069 double *hmix);
00072 extern void smixOph(int mask,double t,double p,double *x,
00073 double *smix,double *dr,double **dr2);
00074
00077 extern void cpmixOph(int mask,double t,double p,double *x,
00078 double *cpmix,double *dt,double *dr);
00079
00082 extern void vmixOph(int mask,double t,double p,double *x,
00083 double *vmix,double *dr,double **dr2,
00084 double *dt,double *dp,double *dt2,
00085 double *dtdp,double *dp2,double *drdt,
00086 double *drdp);
00087
00088 #endif
00089