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

rock.idl

00001 
00009 #include <orb.idl>
00010 #include "common.idl"
00011 
00012 module rock {
00013   
00016   struct RockStatus {
00018     long long timeCreated;
00020     long long timeLastAccessed;
00022     string status;
00024     string ior;
00026     long pid;
00028     long identifier;
00030     common::ClientData client;
00031   };
00032 
00035   interface dRock {
00044     enum fO2Type {fo2_none,fo2_hm,fo2_nno,fo2_qfm,fo2_iw};
00045 
00053     enum findRockLiquidusStatus {frl_success,frl_max_t,frl_min_t,frl_time};
00054 
00071     enum equilibrateStatus {equil_success,equil_quad_max,equil_lin_zero,
00072       equil_lin_max,equil_sat_max,equil_add_drop_max,equil_add_liquid_1,
00073       equil_add_liquid_2,equil_add_liquid_3,equil_rank,equil_solidus,
00074       equil_phase_rule,equil_time};
00075 
00077     void setTk(in double ltk);
00079     void setPa(in double lpa);
00081     void setlogfo2(in fO2Type mode,in double delta);
00083     void supressPhase(in short iphase);
00085     void enablePhase(in short iphase);
00087     void setIsenthalpic(in boolean i);
00089     void setIsentropic(in boolean i);
00091     void setIsochoric(in boolean i);
00093     void setBulkCompM(in CORBA::DoubleSeq bc);
00095     void setBulkCompW(in CORBA::DoubleSeq bc);
00097     void fractionateSolids(in double scale);
00099     void setVolume(in double v);
00101     void setEnthalpy(in double h);
00103     void setEntropy(in double s);
00104 
00106     double getTk();
00108     double getPa();
00110     short getNcomp();
00112     short getNLiqComp();
00114     short getNSolPhases();
00116     string getSolPhaseName(in short i);
00120     string getSolPhaseFormula(in short i, in short j);
00122     short getNSolComp(in short i);
00127     string getSolPhaseCompName(in short i, in short j);
00132     string getSolPhaseCompFormula(in short i, in short j);
00134     string getCompName(in short i);
00136     string getLiqCompName(in short i);
00138     CORBA::DoubleSeq getLiqComp();
00140     CORBA::DoubleSeq getLiqCompWt();
00142     CORBA::DoubleSeq getLiqMu();
00144     CORBA::DoubleSeq getLiqActivity();
00146     short getNSatSolid();
00148     CORBA::ShortSeq getSatSolidList();
00154     short getSolComp(in short iphase,in short instance,out CORBA::DoubleSeq sx);
00160     short getSolCompWt(in short iphase,in short instance,out CORBA::DoubleSeq sx);
00166     short getSolMu(in short iphase,in short instance,out CORBA::DoubleSeq smu);
00173     double getAffinity(in short iphase, out CORBA::DoubleSeq x);
00175     short getSolVbar(in short iphase,in short instance,out CORBA::DoubleSeq svbar);
00177     double getlogfo2();
00179     double getlogfo2relative(in fO2Type mode);
00181     CORBA::DoubleSeq getBulkCompM();
00183     CORBA::DoubleSeq getBulkCompW();
00185     double getLiquidMass();
00187     double getSolidMass();
00189     double getSolPhaseMass(in short iphase,in short instance);
00191     double getVolume();
00193     double getSolidGibbsFreeEnergyTotal();
00195     double getSolidEnthalpyTotal();
00197     double getSolidEntropyTotal();
00199     double getSolidHeatCapacityTotal();
00201     double getSolidVolumeTotal();
00203     double getSolidGibbsFreeEnergy(in short iphase,in short instance);
00205     double getSolidEnthalpy(in short iphase,in short instance);
00207     double getSolidEntropy(in short iphase,in short instance);
00209     double getSolidHeatCapacity(in short iphase,in short instance);
00211     double getSolidVolume(in short iphase,in short instance);
00213     double getSoliddVdT(in short iphase,in short instance);
00215     double getSoliddVdP(in short iphase,in short instance);
00217     double getDeltaOxygen();
00219     double getOxygenGibbsFreeEnergy();
00221     double getOxygenEnthalpy();
00223     double getOxygenEntropy();
00225     double getOxygenHeatCapacity();
00227     double getOxygenVolume();
00229     double getLiquidGibbsFreeEnergy();
00231     double getLiquidEnthalpy();
00233     double getLiquidEntropy();
00235     double getLiquidHeatCapacity();
00237     double getLiquidVolume();
00239     double getLiquiddVdT();
00241     double getLiquiddVdP();
00243     double getLiquidViscosity();
00244 
00245     // utility methods ////////////////////////////////////////////////
00247     short getPhaseNo(in string lab);
00249     boolean isSingleComponent(in short iphase);
00251     short getNumberCoexistPhase(in short iphase);
00253     short findRockLiquidus();
00255     short equilibrateRock();
00256 
00257     // cleanup and monitor methods ////////////////////////////////////
00259     long long getLastAccessTime();
00261     unsigned short isActive();
00263     string getStatus();
00265     void remove();
00266   };
00267 
00270   interface RockFactory {
00272     dRock spawnRock(in common::ClientData cd);
00273   };
00274 
00277   interface RockManager {
00278     typedef sequence<RockStatus> StatSeq;
00279 
00281     short getGracePeriod();
00283     void setGracePeriod(in short sec);
00284 
00286     void add(in dRock dpv,in long pid,in common::ClientData cd);
00287 
00289     short getNrock();
00290 
00292     StatSeq getStatus();
00293 
00296     double getLoad(in short p);
00297 
00299     long getFreeMemory();
00300 
00302     long getAllocatedMemory();
00303 
00305     void update();
00306     
00309     void remove(in long i);
00310 
00313     void apoptosize(in long i);
00314   };
00315 
00316 };
00317 

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