• Main Page
  • Related Pages
  • Namespaces
  • Classes
  • Files
  • File List

Rock_i.h

00001 #ifndef ROCK_I_H
00002 #define ROCK_I_H
00003 
00004 #include "rock.hh"
00005 #include "Rock.h"
00006 
00016 class Rock_i:public POA_rock::dRock,public PortableServer::RefCountServantBase {
00017  public:
00018   Rock_i();
00019   virtual ~Rock_i();
00020   // variables
00022   int verbose;
00023   // setting methods
00025   void setTk(CORBA::Double ltk);
00027   void setPa(CORBA::Double lpa);
00029   void setlogfo2(rock::dRock::fO2Type mode,CORBA::Double delta);
00031   void supressPhase(CORBA::Short iphase);
00033   void enablePhase(CORBA::Short iphase);
00035   void setIsenthalpic(CORBA::Boolean i);
00037   void setIsentropic(CORBA::Boolean i);
00039   void setIsochoric(CORBA::Boolean i);
00041   void setBulkCompM(const CORBA::DoubleSeq& bc);
00043   void setBulkCompW(const CORBA::DoubleSeq& bc);
00045   void fractionateSolids(CORBA::Double scale);
00047   void setVolume(CORBA::Double v);
00049   void setEnthalpy(CORBA::Double h);
00051   void setEntropy(CORBA::Double v);
00052   
00054   CORBA::Double getTk();
00056   CORBA::Double getPa();
00058   CORBA::Short getNcomp();
00060   CORBA::Short getNLiqComp();
00062   CORBA::Short getNSolPhases();
00064   char *getSolPhaseName(CORBA::Short iphase);
00066   char *getSolPhaseFormula(CORBA::Short iphase,CORBA::Short instance);
00068   CORBA::Short getNSolComp(CORBA::Short iphase);
00073   char *getSolPhaseCompName(CORBA::Short iphase,CORBA::Short icomp);
00078   char *getSolPhaseCompFormula(CORBA::Short iphase,CORBA::Short icomp);
00080   char *getCompName(CORBA::Short i);
00082   char *getLiqCompName(CORBA::Short i);
00084   CORBA::DoubleSeq* getLiqComp();
00086   CORBA::DoubleSeq* getLiqCompWt();
00088   CORBA::DoubleSeq* getLiqMu();
00090   CORBA::DoubleSeq* getLiqActivity();
00092   CORBA::Short getNSatSolid();
00094   CORBA::ShortSeq* getSatSolidList();
00100   CORBA::Short getSolComp(CORBA::Short iphase,CORBA::Short instance,CORBA::DoubleSeq_out sx);
00106   CORBA::Short getSolCompWt(CORBA::Short iphase,CORBA::Short instance,CORBA::DoubleSeq_out sx);
00112   CORBA::Short getSolMu(CORBA::Short iphase,CORBA::Short instance,CORBA::DoubleSeq_out smu);
00119   CORBA::Double getAffinity(CORBA::Short iphase,CORBA::DoubleSeq_out x);
00121   CORBA::Short getSolVbar(CORBA::Short iphase,CORBA::Short instance,CORBA::DoubleSeq_out svbar);
00123   CORBA::Double getlogfo2();
00125   CORBA::Double getlogfo2relative(rock::dRock::fO2Type mode);
00127   CORBA::DoubleSeq* getBulkCompM();
00129   CORBA::DoubleSeq* getBulkCompW();
00131   CORBA::Double getLiquidMass();
00133   CORBA::Double getSolidMass();
00138   CORBA::Double getSolPhaseMass(CORBA::Short iphase,CORBA::Short instance);
00140   CORBA::Double getVolume();
00142   CORBA::Double getSolidGibbsFreeEnergyTotal();
00144   CORBA::Double getSolidEnthalpyTotal();
00146   CORBA::Double getSolidEntropyTotal();
00148   CORBA::Double getSolidHeatCapacityTotal();
00150   CORBA::Double getSolidVolumeTotal();
00152   CORBA::Double getSolidGibbsFreeEnergy(CORBA::Short iphase,CORBA::Short instance);
00154   CORBA::Double getSolidEnthalpy(CORBA::Short iphase,CORBA::Short instance);
00156   CORBA::Double getSolidEntropy(CORBA::Short iphase,CORBA::Short instance);
00158   CORBA::Double getSolidHeatCapacity(CORBA::Short iphase,CORBA::Short instance);
00160   CORBA::Double getSolidVolume(CORBA::Short iphase,CORBA::Short instance);
00162   CORBA::Double getSoliddVdT(CORBA::Short iphase,CORBA::Short instance);
00164   CORBA::Double getSoliddVdP(CORBA::Short iphase,CORBA::Short instance);
00166   CORBA::Double getDeltaOxygen();
00168   CORBA::Double getOxygenGibbsFreeEnergy();
00170   CORBA::Double getOxygenEnthalpy();
00172   CORBA::Double getOxygenEntropy();
00174   CORBA::Double getOxygenHeatCapacity();
00176   CORBA::Double getOxygenVolume();
00178   CORBA::Double getLiquidGibbsFreeEnergy();
00180   CORBA::Double getLiquidEnthalpy();
00182   CORBA::Double getLiquidEntropy();
00184   CORBA::Double getLiquidHeatCapacity();
00186   CORBA::Double getLiquidVolume();
00188   CORBA::Double getLiquiddVdT();
00190   CORBA::Double getLiquiddVdP();
00192   CORBA::Double getLiquidViscosity();
00193   
00194   // utility methods ////////////////////////////////////////////////
00196   CORBA::Short getPhaseNo(const char *);
00198   CORBA::Boolean isSingleComponent(CORBA::Short iphase);
00200   CORBA::Short getNumberCoexistPhase(CORBA::Short iphase);
00202   CORBA::Short findRockLiquidus();
00204   CORBA::Short equilibrateRock();
00205 
00207   CORBA::LongLong getLastAccessTime();
00209   CORBA::UShort isActive();
00211   char *getStatus();
00213   void remove();
00214 
00215  private:
00217   int active;
00219   Rock *rp;
00221   time_t lastAccessTime;
00223   double *c;
00225   int *ix;
00227   char *status;
00228 };
00229 #endif

Generated on Fri Aug 6 2010 14:25:15 for dPhases by  doxygen 1.7.1