#include <SilicateLiq.h>
Public Member Functions | |
| SilicateLiq () | |
| blank constructor | |
| virtual | ~SilicateLiq () |
| destructor | |
| virtual double | getMW (int i) |
| Returns molecular weight of component i. | |
| virtual const char * | getCompName (int i) |
| Returns pointer to name of component i. | |
| virtual const char * | getCompFormula (int i) |
| Returns pointer to formula of component i. | |
| virtual int | getGenericNcomp (void) |
| get number of generic components | |
| virtual char * | getGenericCompFormula (int i) |
| Get string formula for generic component i. | |
| virtual void | setTk (double ltk) |
| set temperature in Kelvins | |
| virtual void | setPa (double lpa) |
| set pressure in Pascals | |
| virtual void | setMoles (double m) throw (PhaseError *) |
| set moles of liquid | |
| virtual void | setMass (double grams) |
| set mass in grams | |
| virtual void | setComps (double *rawcomps) |
| set component mole fractions | |
| virtual void | setGenericCompWts (double *wt) throw (PhaseError *) |
| sets generic component weights in gram | |
| virtual double | getMass () |
| returns total mass in grams | |
| virtual void | getGenericCompWts (double *wt) |
| returns grams generic components in caller-allocated space. | |
| virtual double | getMu0 (int ispec) |
| returns standard state chemical potential for component | |
| virtual double | getMu (int i) |
| returns chemical potential for component | |
| virtual double | getdMudX (int m, int p) |
| derivative of chemical potential wrt. mole fraction dMu[m]/dX[p] | |
| virtual double | getGibbs () |
| returns Gibbs free energy at T and P relative to elements at STP | |
| virtual double | getGmix () |
| Gibbs energy of mixing. | |
| virtual double | getEnthalpy () |
| returns Enthalpy at T and P | |
| virtual double | getHmix () |
| enthalpy of mixing | |
| virtual double | getEntropy () |
| returns Entropy at T and P | |
| virtual double | getSmix () |
| entropy of mixing | |
| virtual double | getCp () |
| returns heat capacity | |
| virtual double | getCpmix () |
| heat capacity of mixing | |
| virtual double | getdCpdT () |
| derivative of Cp with respect to temperature | |
| virtual double | getVolume () |
| returns volume in m^3/mole | |
| virtual double | getVmix () |
| volume of mixing | |
| virtual double | getdVdT () |
| dV/dT in M^3/Kelvin | |
| virtual double | getdVdP () |
| dV/dP in M^3/Pascal | |
| virtual double | getd2VdT2 () |
| d2V/dT2 in M^3/Kelvin^2 | |
| virtual double | getd2VdTdP () |
| d2V/dTdP in M^3/KelvinPascal | |
| virtual double | getd2VdP2 () |
| d2V/dP2 in M^3/Pascal^2 | |
| virtual void | setlogfo2 (double f) |
| set log10(fo2) value | |
| virtual void | setlogfo2 () |
| without argument, function turns off imposed fo2 | |
| virtual double | getlogfo2 () |
| return log10(fo2) | |
| virtual void | setWtOx (double *oxides) |
| sets class component list from oxides in weight percent | |
| virtual void | getWtOx (double *oxides) |
| gets oxide weight percents (does not allocate space) | |
| virtual void | oxWtToMol (double *oxides) |
| converts weight percent oxides to oxide mole fractions | |
| virtual void | oxMolToWt (double *oxides) |
| converts oxide mole fraction to oxide weight percent | |
| virtual void | compsToOxides (double *oxides) |
| converts components to oxides (does not allocate space) | |
| virtual void | oxidesToComps (double *oxides) |
| converts oxides to components (does not allocate space) | |
Protected Member Functions | |
| void | setComps () |
| converts to silmin coordinates etc. | |
| void | init () |
| initialize class | |
Protected Attributes | |
| ThermoData * | liquidFus |
| structure to hold current component fusion data | |
| ThermoData * | liquidCur |
| structure to hold current component ss data | |
| double | totalMoles |
| stores total moles for liquid | |
Private Member Functions | |
| void | setRedox () |
| adjusts ferric/ferrous redox state | |
| void | calcMu () |
| updates mu arrays | |
Private Attributes | |
| int | updateMu |
| flag to indicate whether mu and dmu arrays neet to be updated | |
| int | imposeRedox |
| indicates whether logfo2 is imposed | |
| double * | mu |
| vector of muxs | |
| double ** | dmudx |
| arrray of dmu[m]/dx[p] | |
| double ** | dmudr |
| array of dmu[m]/dr[p] | |
| double | pb |
| pressure in bars | |
| double | logfo2 |
| log10(fO2) | |
| double * | rx |
| reduced composition vector for Ghiorso routines | |
| double ** | rxJ |
| dX[i]/dr[j] | |
Static Private Attributes | |
| static int | structInitialize |
| class flag. If set, MELTS structures have been initialized. | |
silicate liquid class. C++ class wrapper for liquid.c and associated routines used in MELTS 3.0.x Ghiorso and Sack (1995).
Ghiorso components are in order 0=SiO2, 1=TiO2, 2=Al2O3, 3=Fe2O3, 4=MgCr2O4, 5=Fe2SiO4, 6=MnSi0.5O2, 7=Mg2SiO4, 8=NiSi0.5O2, 9=CoSi0.5O2, 10=CaSiO3, 11=Na2SiO3, 12=KAlSiO4, 13=Ca3(PO4)2, 14=CO2, 15=S, 16=Cl, 17=F, 18=H2O.
Oxide components are in order 0=SiO2, 1=TiO2, 2=Al2O3, 3=Fe2O3, 4=Cr2O3, 5=FeO, 6=MnO, 7=MgO, 8=NiO, 9=CoO, 10=CaO, 11=Na2O, 12=K2O, 13=P2O5, 14=H2O, 15=CO2, 16=S, 17=Cl, 18=F.
Tested against MELTS supplemental calculator 3/20/2000
Definition at line 234 of file SilicateLiq.h.
1.7.1