Public Member Functions |
| Rock (void) |
| blank constructor. STP assumed.
|
virtual | ~Rock (void) |
| destructor
|
virtual void | setTk (double ltk) |
| set T in Kelvins
|
virtual void | setPa (double lpa) |
| set P in Pascals
|
virtual void | setlogfo2 (int mode, double delta) |
| set logfo2 mode and delNNO (default none)
|
virtual void | supressPhase (int iphase) |
| supress phase number iphase. All suppressed by default.
|
virtual void | enablePhase (int iphase) |
| enable phase number iphase. All supressed by default.
|
virtual void | setIsenthalpic (int i) |
| put rock in isenthalpic mode (default 0);
|
virtual void | setIsentropic (int i) |
| put rock in isentropic mode (default 0);
|
virtual void | setIsochoric (int i) |
| put rock in isochoric mode (default 0);
|
virtual void | setBulkCompM (double *bc) |
| set bulk composition in mole fraction. Values copied to internal array.
|
virtual void | setBulkCompW (double *bc) |
| set bulk composition in weight%. Values copied to internal array.
|
virtual void | fractionateSolids (double scale) |
| fractionate solids (scale = fraction removed) from system
|
virtual void | setVolume (double v) |
| set system volume in J/Pa
|
virtual void | setEnthalpy (double h) |
| set system enthalpy in J
|
virtual void | setEntropy (double s) |
| set system entropy in J/K
|
virtual double | getTk () |
| returns T in Kelvins
|
virtual double | getPa () |
| returns P in Pascals
|
virtual int | getNcomp () |
| returns number of rock components
|
virtual int | getNLiqComp () |
| returns number of liquid components
|
virtual int | getNSolPhases () |
| returns number of potential solid phases (suppressed and enabled)
|
virtual const char * | getSolPhaseName (int iphase) |
| returns name of solid phase i
|
virtual const char * | getSolPhaseFormula (int iphase, int instance) |
virtual const char * | getSolPhaseFormula (int iphase) |
virtual int | getNSolComp (int i) |
| returns number of components for phase i
|
virtual const char * | getSolPhaseCompName (int iphase, int icomp) |
virtual const char * | getSolPhaseCompFormula (int iphase, int icomp) |
virtual const char * | getCompName (int i) |
| returns pointer to name of bulk component (oxide)
|
virtual const char * | getLiqCompName (int i) |
| returns pointer to name of liquid component
|
virtual void | getLiqComp (double *lx) |
| returns liquid composition
|
virtual void | getLiqCompWt (double *lx) |
| returns liquid composition in wt% oxides
|
virtual void | getLiqMu (double *lmu) |
| returns liquid mu
|
virtual void | getLiqActivity (double *lact) |
| returns liquid activities
|
int | getNSatSolid () |
| Returns number of saturated solid phases.
|
void | getSatSolidList (int *ilist) |
| Returns list of indices for currently saturated solids.
|
virtual int | getSolComp (int iphase, int instance, double *sx) |
virtual int | getSolComp (int iphase, double *sx) |
virtual int | getSolCompWt (int iphase, int instance, double *sx) |
virtual int | getSolCompWt (int iphase, double *sx) |
virtual int | getSolMu (int iphase, int instance, double *smu) |
virtual int | getSolMu (int iphase, double *smu) |
virtual double | getAffinity (int iphase, double *x) |
virtual int | getSolVbar (int iphase, int instance, double *svbar) |
virtual int | getSolVbar (int iphase, double *svbar) |
virtual double | getlogfo2 () |
| get current log10fo2
|
virtual double | getlogfo2 (int mode) |
| get current log10fo2 relative to buffer specified in mode
|
virtual void | getBulkCompM (double *bc) |
| get bulk composition in moles
|
virtual void | getBulkCompW (double *bc) |
| get bulk composition in grams
|
virtual double | getLiquidMass () |
| get liquid mass in gm
|
virtual double | getSolidMass () |
| get solid mass in gm
|
virtual double | getSolPhaseMass (int iphase, int instance) |
virtual double | getSolPhaseMass (int iphase) |
virtual double | getVolume () |
| returns system volume in J/Pa
|
virtual double | getSolidGibbsFreeEnergy () |
| returns Gibbs free energy of solids in J/Pa
|
virtual double | getSolidEnthalpy () |
| returns enthalpy of solids in J/Pa
|
virtual double | getSolidEntropy () |
| returns entropy of solids in J/Pa
|
virtual double | getSolidHeatCapacity () |
| returns heat capacity of solids in J/Pa
|
virtual double | getSolidVolume () |
| returns volume of solids in J/Pa
|
virtual double | getSolidGibbsFreeEnergy (int iphase, int instance) |
virtual double | getSolidGibbsFreeEnergy (int iphase) |
virtual double | getSolidEnthalpy (int iphase, int instance) |
virtual double | getSolidEnthalpy (int iphase) |
virtual double | getSolidEntropy (int iphase, int instance) |
virtual double | getSolidEntropy (int iphase) |
virtual double | getSolidHeatCapacity (int iphase, int instance) |
virtual double | getSolidHeatCapacity (int iphase) |
virtual double | getSolidVolume (int iphase, int instance) |
virtual double | getSolidVolume (int iphase) |
virtual double | getSoliddVdT (int iphase, int instance) |
virtual double | getSoliddVdT (int iphase) |
virtual double | getSoliddVdP (int iphase, int instance) |
virtual double | getSoliddVdP (int iphase) |
virtual double | getDeltaOxygen () |
| returns moles of oxygen added/removed from system
|
virtual double | getOxygenGibbsFreeEnergy () |
| returns Oxygen Gibbs Free Energy in J/mol
|
virtual double | getOxygenEnthalpy () |
| returns Oxygen enthalpy in J/mol
|
virtual double | getOxygenEntropy () |
| returns Oxygen entropy in J/K-mol
|
virtual double | getOxygenHeatCapacity () |
| returns Oxygen heat capacity in J/K-mol
|
virtual double | getOxygenVolume () |
| returns Oxygen volume in J/Pa-mol
|
virtual double | getLiquidGibbsFreeEnergy () |
| returns liquid Gibbs Free Energy in J
|
virtual double | getLiquidEnthalpy () |
| returns liquid enthalpy in J
|
virtual double | getLiquidEntropy () |
| returns liquid entropy in J/K
|
virtual double | getLiquidHeatCapacity () |
| returns liquid heat capacity in J/K
|
virtual double | getLiquidVolume () |
| returns liquid volume in J/Pa
|
virtual double | getLiquiddVdT () |
| returns liquid dVdT in J/(Pa*K)
|
virtual double | getLiquiddVdP () |
| returns liquid dVdP in J/Pa^2
|
virtual double | getLiquidViscosity () |
| returns liquid viscosity in log10 (poise)
|
virtual int | getPhaseNo (const char *lab) |
| get integer value of solid phase corresponding to label
|
virtual int | isSingleComponent (int iphase) |
| returns boolean indicating if phase iphase is single-component.
|
virtual int | getNumberCoexistPhase (int iphase) |
| get number of coexisting phases in stable assemblage
|
virtual int | findRockLiquidus () |
| find liquidus temperature for this bulk composition and sets state
|
virtual int | equilibrateRock () |
| execute equilibration on current state
|
Public Attributes |
const int | fo2_none |
| no oxygen fugacity constraint mode
|
const int | fo2_hm |
| hematite-magnetite oxygen fugacity constraint mode
|
const int | fo2_nno |
| Ni-NiO oxygen fugacity constraint mode.
|
const int | fo2_qfm |
| QFM oxygen fugacity constraint mode.
|
const int | fo2_iw |
| iron-wustite oxygen fugacity constraint mode
|
Protected Member Functions |
virtual int | init (void) |
| private initialization routine
|
virtual int | initializeState () |
| function turns off iso* modes to initialize Rock state. Arguments are working space
|
virtual void | equilibrateError (int err) |
| prints equilibrate error explanations
|
virtual void | findLiquidusError (int err) |
| prints findLiquidus error explanations
|
virtual void | liquify () |
| converts everything to liquid and zero's solid.
|
virtual void | printSilminStateStructure (SilminState *pt) |
| utility to print current state of silminState variable
|
Protected Attributes |
int | nphase |
| number of available solid phases
|
int * | phasedex |
| indexing array to convert from phase number to SilminState index
|
int | stateinit |
| boolean to indicate whether calculation state is initialized
|
SilminState * | silminState |
| state variables for silmin. Contains lots of stuff.
|
int | curThread |
| current thread (this class instance)
|
ThermoData * | liquidCur |
| state variables for silmin. Contains lots of stuff.
|
ThermoData * | solidsCur |
| state variables for silmin. Contains lots of stuff.
|
ThermoData * | oxygenCur |
| state variables for silmin. Contains lots of stuff.
|
Static Protected Attributes |
static int | staticinit |
| boolean to indicate if static variables have been allocated
|
static int | threadCount |
| number of active threads (instances of class)
|
static const int | maxThreads = 25 |
| maximum number of class instances (from MELTS library)
|
static int * | threadPool |
static int | mutexLock |
| variable to hold thread lock (boolean)
|
Private Attributes |
double * | mSol |
| working space
|
double * | mLiq |
double * | r |
double * | x |
c++ wrapper for Ghiorso's Melts code. Inherits all Melts constants etc. through silmin.h.