Main Page | Namespace List | Alphabetical List | Class List | File List | Class Members | Related Pages

rock.idl

00001 
00008 #include <orb.idl>
00009 #include "common.idl"
00010 
00011 module rock {
00012   
00015   struct RockStatus {
00017     long long timeCreated;
00019     long long timeLastAccessed;
00021     string status;
00023     string ior;
00025     long pid;
00027     long identifier;
00029     common::ClientData client;
00030   };
00031 
00034   interface dRock {
00043     enum fO2Type {fo2_none,fo2_hm,fo2_nno,fo2_qfm,fo2_iw};
00044 
00052     enum findRockLiquidusStatus {frl_success,frl_max_t,frl_min_t,frl_time};
00053 
00070     enum equilibrateStatus {equil_success,equil_quad_max,equil_lin_zero,
00071       equil_lin_max,equil_sat_max,equil_add_drop_max,equil_add_liquid_1,
00072       equil_add_liquid_2,equil_add_liquid_3,equil_rank,equil_solidus,
00073       equil_phase_rule,equil_time};
00074 
00076     void setTk(in double ltk);
00078     void setPa(in double lpa);
00080     void setlogfo2(in fO2Type mode,in double delta);
00082     void supressPhase(in short iphase);
00084     void enablePhase(in short iphase);
00086     void setIsenthalpic(in boolean i);
00088     void setIsentropic(in boolean i);
00090     void setIsochoric(in boolean i);
00092     void setBulkCompM(in CORBA::DoubleSeq bc);
00094     void setBulkCompW(in CORBA::DoubleSeq bc);
00096     void fractionateSolids(in double scale);
00098     void setVolume(in double v);
00100     void setEnthalpy(in double h);
00102     void setEntropy(in double s);
00103 
00105     double getTk();
00107     double getPa();
00109     short getNcomp();
00111     short getNLiqComp();
00113     short getNSolPhases();
00115     string getSolPhaseName(in short i);
00119     string getSolPhaseFormula(in short i, in short j);
00121     short getNSolComp(in short i);
00126     string getSolPhaseCompName(in short i, in short j);
00131     string getSolPhaseCompFormula(in short i, in short j);
00133     string getCompName(in short i);
00135     string getLiqCompName(in short i);
00137     CORBA::DoubleSeq getLiqComp();
00139     CORBA::DoubleSeq getLiqCompWt();
00141     CORBA::DoubleSeq getLiqMu();
00143     CORBA::DoubleSeq getLiqActivity();
00145     short getNSatSolid();
00147     CORBA::ShortSeq getSatSolidList();
00153     short getSolComp(in short iphase,in short instance,out CORBA::DoubleSeq sx);
00159     short getSolCompWt(in short iphase,in short instance,out CORBA::DoubleSeq sx);
00165     short getSolMu(in short iphase,in short instance,out CORBA::DoubleSeq smu);
00172     double getAffinity(in short iphase, out CORBA::DoubleSeq x);
00174     short getSolVbar(in short iphase,in short instance,out CORBA::DoubleSeq svbar);
00176     double getlogfo2();
00178     double getlogfo2relative(in fO2Type mode);
00180     CORBA::DoubleSeq getBulkCompM();
00182     CORBA::DoubleSeq getBulkCompW();
00184     double getLiquidMass();
00186     double getSolidMass();
00188     double getSolPhaseMass(in short iphase,in short instance);
00190     double getVolume();
00192     double getSolidGibbsFreeEnergyTotal();
00194     double getSolidEnthalpyTotal();
00196     double getSolidEntropyTotal();
00198     double getSolidHeatCapacityTotal();
00200     double getSolidVolumeTotal();
00202     double getSolidGibbsFreeEnergy(in short iphase,in short instance);
00204     double getSolidEnthalpy(in short iphase,in short instance);
00206     double getSolidEntropy(in short iphase,in short instance);
00208     double getSolidHeatCapacity(in short iphase,in short instance);
00210     double getSolidVolume(in short iphase,in short instance);
00212     double getSoliddVdT(in short iphase,in short instance);
00214     double getSoliddVdP(in short iphase,in short instance);
00216     double getDeltaOxygen();
00218     double getOxygenGibbsFreeEnergy();
00220     double getOxygenEnthalpy();
00222     double getOxygenEntropy();
00224     double getOxygenHeatCapacity();
00226     double getOxygenVolume();
00228     double getLiquidGibbsFreeEnergy();
00230     double getLiquidEnthalpy();
00232     double getLiquidEntropy();
00234     double getLiquidHeatCapacity();
00236     double getLiquidVolume();
00238     double getLiquiddVdT();
00240     double getLiquiddVdP();
00242     double getLiquidViscosity();
00243 
00244     // utility methods ////////////////////////////////////////////////
00246     short getPhaseNo(in string lab);
00248     boolean isSingleComponent(in short iphase);
00250     short getNumberCoexistPhase(in short iphase);
00252     short findRockLiquidus();
00254     short equilibrateRock();
00255 
00256     // cleanup and monitor methods ////////////////////////////////////
00258     long long getLastAccessTime();
00260     unsigned short isActive();
00262     string getStatus();
00264     void remove();
00265   };
00266 
00269   interface RockFactory {
00271     dRock spawnRock(in common::ClientData cd);
00272   };
00273 
00276   interface RockManager {
00277     typedef sequence<RockStatus> StatSeq;
00278 
00280     short getGracePeriod();
00282     void setGracePeriod(in short sec);
00283 
00285     void add(in dRock dpv,in long pid,in common::ClientData cd);
00286 
00288     short getNrock();
00289 
00291     StatSeq getStatus();
00292 
00295     double getLoad(in short p);
00296 
00298     long getFreeMemory();
00299 
00301     long getAllocatedMemory();
00302 
00304     void update();
00305     
00308     void remove(in long i);
00309 
00312     void apoptosize(in long i);
00313   };
00314 
00315 };
00316 

Generated on Mon Jul 7 21:43:49 2008 for dPhases by doxygen 1.3.4