00001 #ifndef RHOMBOHEDRAL_H
00002 #define RHOMBOHEDRAL_H
00003
00004 #include "MeltsSolution.h"
00005 #include "BermanPhase.h"
00006
00019 class RhmOxide: public MeltsSolution {
00020 public:
00022 RhmOxide();
00024 virtual ~RhmOxide();
00026 const int NCOMP;
00028 const int GEIKIELITE;
00030 const int HEMATITE;
00032 const int ILMENITE;
00034 const int PYROPHANITE;
00035 protected:
00037 virtual void init();
00039 static BermanData ssdata[];
00040 };
00041
00043
00045
00048 extern int testRhm(int mask, double t, double p,int na,int nr,char **names,
00049 char **formulas,double *r,double *m);
00050
00053 extern void conRhm(int inpMask,int outMask,double t,double p,
00054 double *e,double *m,double *r,double *x,double **dm,
00055 double ***d2m,double **dr,double ****d3m);
00056
00059 extern void actRhm(int mask,double t,double p,double *x,
00060 double *a,double *mu,double **dr);
00061
00064 extern void gmixRhm(int mask,double t,double p,double *x,
00065 double *gmix,double *dr,double **dr2,
00066 double ***dr3);
00067
00070 extern void hmixRhm(int mask,double t,double p,double *x,
00071 double *hmix);
00074 extern void smixRhm(int mask,double t,double p,double *x,
00075 double *smix,double *dr,double **dr2);
00076
00079 extern void cpmixRhm(int mask,double t,double p,double *x,
00080 double *cpmix,double *dt,double *dr);
00081
00084 extern void vmixRhm(int mask,double t,double p,double *x,
00085 double *vmix,double *dr,double **dr2,
00086 double *dt,double *dp,double *dt2,
00087 double *dtdp,double *dp2,double *drdt,
00088 double *drdp);
00089
00090 #endif
00091