Classes | |
struct | ThetaEquation |
struct | ThetaDerivativeEquation |
struct | BrineCO2Data |
struct | BrineCO2H2SData |
struct | SaturatedPressureH2SEquation |
struct | VolumeCO2Equation |
struct | VolumeCO2DerivativeEquation |
struct | VolumeH2SEquation |
struct | VolumeH2SDerivativeEquation |
Enumerations | |
enum | PhysicalState { LIQUID, GAS, SUPERCRITICAL } |
Functions | |
double | ComputeTheta (double zNaCl, double zH2O, double A, double a, double b, double c) |
void | FlashBrineCO2H2S (BrineCO2H2SData &data, const BrineCO2Data &co2BrineData, double T, double P, double zH2O, double zCO2, double zH2S) |
void | ProgressiveFlashBrineCO2 (BrineCO2Data &data, double T, double P, double zNaCl, double zH2O, double zCO2, unsigned int numCorrections) |
void | GeometricFlashBrineCO2 (BrineCO2Data &data, double T, double P, double zNaCl, double zH2O, double zCO2) |
void | ProgressiveFlashBrineCO2H2S (BrineCO2H2SData &data, double T, double P, double zNaCl, double zH2O, double zCO2, double zH2S, unsigned int numCorrections) |
void | GeometricFlashBrineCO2H2S (BrineCO2H2SData &data, double T, double P, double zNaCl, double zH2O, double zCO2, double zH2S) |
std::ostream & | operator<< (std::ostream &out, BrineCO2Data &data) |
std::ostream & | operator<< (std::ostream &out, BrineCO2H2SData &data) |
double | aCO2 (double T) |
double | koH2O (double T) |
double | koCO2 (double T, PhysicalState stateCO2) |
double | vCO2 (PhysicalState stateCO2) |
double | lambdaCO2 (double T, double P) |
double | zetaCO2 (double T, double P) |
double | uRTH2S (double T, double P) |
double | lambdaH2S (double T, double P) |
double | ComputeSaturatedMolalityNaCl (double T, double P) |
double | ComputeSaturatedPressureH2O (double T) |
double | ComputeSaturatedPressureCO2 (double T) |
double | ComputeSaturatedPressureH2S (double T) |
PhysicalState | DeterminePhysicalStateCO2 (double T, double P) |
PhysicalState | DeterminePhysicalStateH2S (double T, double P) |
double | ComputeVolumeCO2 (double T, double P, PhysicalState stateCO2) |
double | ComputeVolumeCO2 (double T, double P) |
double | ComputeVolumeH2S (double T, double P, PhysicalState stateH2S) |
double | ComputeFugacityH2O (double volumeCO2, double T, double P) |
double | ComputeFugacityCO2 (double volumeCO2, double T, double P) |
double | ComputeFugacityH2S (double volumeH2S, double T, double P) |
template<typename Function , typename FunctionPrime > | |
double | NewtonRaphson (Function function, FunctionPrime derivative, double initialGuess, double tolerance=1.0E-4, unsigned maxIterations=100) |
template<typename Function > | |
double | NewtonRaphson (Function function, double initialGuess, double tolerance=1.0E-4, unsigned maxIterations=100) |
Variables | |
const double | TcH2O = 647.30 |
const double | PcH2O = 221.20 |
const double | TcCO2 = 304.20 |
const double | PcCO2 = 73.83 |
const double | TcH2S = 373.50 |
const double | PcH2S = 89.63 |
const double | R = 83.14472 |
const double | bCO2 = 27.80 |
const double | bH2O = 18.18 |
const double | aH2OCO2 = 7.89E7 |
const double | a1H2S = 5.2386075E-2 |
const double | a2H2S = -2.7463906E-1 |
const double | a3H2S = -9.6760173E-2 |
const double | a4H2S = 1.3618104E-2 |
const double | a5H2S = -8.8681753E-2 |
const double | a6H2S = 4.1176908E-2 |
const double | a7H2S = 3.6354018E-4 |
const double | a8H2S = 2.2719194E-3 |
const double | a9H2S = -7.6962514E-4 |
const double | a10H2S = -2.1948579E-5 |
const double | a11H2S = -1.1707631E-4 |
const double | a12H2S = 4.0756926E-5 |
const double | a13H2S = 5.7582260E-2 |
const double | a14H2S = 1.00 |
const double | a15H2S = 0.06 |
const double | Po = 1.0 |
const double | vH2O = 18.1 |
const double | zetaH2S = -1.0832589E-2 |
const double | toleranceVolumeH2SEquation = 1.0E-2 |
enum Flash::PhysicalState |
Definition at line 17 of file flashessential.h.
00017 { LIQUID, GAS, SUPERCRITICAL };
double Flash::aCO2 | ( | double | T | ) | [inline] |
Definition at line 49 of file flashessential.h.
double Flash::ComputeFugacityCO2 | ( | double | volumeCO2, | |
double | T, | |||
double | P | |||
) | [inline] |
Definition at line 334 of file flashessential.h.
00335 { 00336 // auxiliary variables for performance reasons 00337 double a1 = std::log(volumeCO2/(volumeCO2 - bCO2)); 00338 double a2 = std::log(1 + bCO2/volumeCO2); 00339 double a3 = bCO2/(volumeCO2 + bCO2); 00340 double a4 = std::log((P * volumeCO2)/(R * T)); 00341 double a5 = R * std::pow(T, 1.5); 00342 // compute the fugacity coefficient of CO2 00343 return std::exp(a1 + bCO2/(volumeCO2 - bCO2) - 2 * aCO2(T)/bCO2 * a2/a5 + aCO2(T)/bCO2 * (a2 - a3)/a5 - a4); 00344 }
double Flash::ComputeFugacityH2O | ( | double | volumeCO2, | |
double | T, | |||
double | P | |||
) | [inline] |
Definition at line 321 of file flashessential.h.
00322 { 00323 // auxiliary variables for performance reasons 00324 double a1 = std::log(volumeCO2/(volumeCO2 - bCO2)); 00325 double a2 = std::log(1 + bCO2/volumeCO2); 00326 double a3 = bCO2/(volumeCO2 + bCO2); 00327 double a4 = std::log((P * volumeCO2)/(R * T)); 00328 double a5 = R * std::pow(T, 1.5); 00329 // compute the fugacity coefficient of H2O 00330 return std::exp(a1 + bH2O/(volumeCO2 - bCO2) - 2 * aH2OCO2/bCO2 * a2/a5 + (aCO2(T) * bH2O)/(bCO2 * bCO2) * (a2 - a3)/a5 - a4); 00331 }
double Flash::ComputeFugacityH2S | ( | double | volumeH2S, | |
double | T, | |||
double | P | |||
) | [inline] |
Definition at line 347 of file flashessential.h.
00348 { 00349 // static auxiliary variables 00350 static double Z; // PV/RT 00351 static double Tr1; // 1/Tr = Tc/T, where Tc is critical temperature 00352 static double Tr2; // 1/Tr^2 00353 static double Tr3; // 1/Tr^3 00354 static double Vr1; // 1/Vr = R·Tc/V·Pc, where Pc is critical pressure 00355 static double Vr2; // 1/Vr^2 00356 static double Vr4; // 1/Vr^4 00357 static double Vr5; // 1/Vr^5 00358 00359 Z = (P * volumeH2S)/(R * T); 00360 Tr1 = TcH2S/T; 00361 Tr2 = Tr1 * Tr1; 00362 Tr3 = Tr2 * Tr1; 00363 Vr1 = (R * TcH2S)/(volumeH2S * PcH2S); 00364 Vr2 = Vr1 * Vr1; 00365 Vr4 = Vr2 * Vr2; 00366 Vr5 = Vr4 * Vr1; 00367 00368 return std::exp(Z - 1.0 - std::log(Z) + 00369 Vr1 * (a1H2S + a2H2S * Tr2 + a3H2S * Tr3) + 00370 Vr2 * (a4H2S + a5H2S * Tr2 + a6H2S * Tr3) * 0.50 + 00371 Vr4 * (a7H2S + a8H2S * Tr2 + a9H2S * Tr3) * 0.25 + 00372 Vr5 * (a10H2S + a11H2S * Tr2 + a12H2S * Tr3) * 0.20 + 00373 a13H2S/a15H2S * Tr3 * 0.50 * 00374 (a14H2S + 1.0 - (a14H2S + 1.0 + a15H2S * Vr2) * 00375 std::exp(-a15H2S * Vr2))); 00376 }
double Flash::ComputeSaturatedMolalityNaCl | ( | double | T, | |
double | P | |||
) | [inline] |
Definition at line 123 of file flashessential.h.
double Flash::ComputeSaturatedPressureCO2 | ( | double | T | ) | [inline] |
Definition at line 138 of file flashessential.h.
double Flash::ComputeSaturatedPressureH2O | ( | double | T | ) | [inline] |
Definition at line 131 of file flashessential.h.
double Flash::ComputeSaturatedPressureH2S | ( | double | T | ) | [inline] |
Definition at line 152 of file flashessential.h.
00153 { 00154 // start value for the nonlinear solver 00155 double Psat0 = 20.0; // vapor pressure near 300K 00156 // the nonlinear equation 00157 static SaturatedPressureH2SEquation equation; 00158 // setting the parameters of the equation 00159 equation.T = T; 00160 // solving the nonlinear equation 00161 return NewtonRaphson(equation, Psat0); 00162 }
double Flash::ComputeTheta | ( | double | zNaCl, | |
double | zH2O, | |||
double | A, | |||
double | a, | |||
double | b, | |||
double | c | |||
) |
Definition at line 31 of file flash.cpp.
00035 { 00036 // start value for the nonlinear solver 00037 double theta0 = zNaCl/zH2O; 00038 // the nonlinear equation 00039 ThetaEquation function; 00040 // the derivative of the nonlinear function representing the equation 00041 ThetaDerivativeEquation derivative; 00042 // setting the parameters of the equation and its derivative 00043 function.zNaCl = zNaCl; derivative.zNaCl = zNaCl; 00044 function.zH2O = zH2O; derivative.zH2O = zH2O; 00045 function.A = A; derivative.A = A; 00046 function.a = a; derivative.a = a; 00047 function.b = b; derivative.b = b; 00048 function.c = c; derivative.c = c;
double Flash::ComputeVolumeCO2 | ( | double | T, | |
double | P | |||
) | [inline] |
Definition at line 219 of file flashessential.h.
00220 { 00221 PhysicalState stateCO2=DeterminePhysicalStateCO2(T,P); 00222 00223 // start value for the nonlinear solver 00224 double V0 = (stateCO2 == GAS || stateCO2 == SUPERCRITICAL) ? (R * T/P) : 59.22; // vCO2 = 59.22 mol/cm^3 at 25 °C and 80.0 bar 00225 00226 // the nonlinear equation 00227 static VolumeCO2Equation equation; 00228 // the derivative of the nonlinear equation 00229 static VolumeCO2DerivativeEquation derivative; 00230 // setting the parameters of the equation 00231 equation.T = T; derivative.T = T; 00232 equation.P = P; derivative.P = P; 00233 00234 double result=NewtonRaphson(equation, derivative, V0); 00235 assert(result>=0.0); 00236 return result; 00237 }
double Flash::ComputeVolumeCO2 | ( | double | T, | |
double | P, | |||
PhysicalState | stateCO2 | |||
) | [inline] |
Definition at line 201 of file flashessential.h.
00202 { 00203 // start value for the nonlinear solver 00204 double V0 = (stateCO2 == GAS || stateCO2 == SUPERCRITICAL) ? (R * T/P) : 59.22; // vCO2 = 59.22 mol/cm^3 at 25 °C and 80.0 bar 00205 00206 // the nonlinear equation 00207 static VolumeCO2Equation equation; 00208 // the derivative of the nonlinear equation 00209 static VolumeCO2DerivativeEquation derivative; 00210 // setting the parameters of the equation 00211 equation.T = T; derivative.T = T; 00212 equation.P = P; derivative.P = P; 00213 00214 // solving the nonlinear equation 00215 return NewtonRaphson(equation, derivative, V0); 00216 }
double Flash::ComputeVolumeH2S | ( | double | T, | |
double | P, | |||
PhysicalState | stateH2S | |||
) | [inline] |
Definition at line 300 of file flashessential.h.
00301 { 00302 // start value for the nonlinear solver 00303 double V0 = (stateH2S == GAS || stateH2S == SUPERCRITICAL) ? (R * T/P) : 44.60; // vH2S = 44.60 mol/cm^3 at 60.0°C and 300.0 bar 00304 // the nonlinear equation 00305 static VolumeH2SEquation equation; 00306 // the derivative of the nonlinear equation 00307 static VolumeH2SDerivativeEquation derivative; 00308 // setting the parameters of the equation 00309 equation.T = T; derivative.T = T; 00310 equation.P = P; derivative.P = P; 00311 // solving the nonlinear equation 00312 return NewtonRaphson(equation, derivative, V0, toleranceVolumeH2SEquation); 00313 }
PhysicalState Flash::DeterminePhysicalStateCO2 | ( | double | T, | |
double | P | |||
) | [inline] |
Definition at line 170 of file flashessential.h.
00171 { 00172 return (T < TcCO2) ? ( (P > ComputeSaturatedPressureCO2(T)) ? LIQUID : GAS ) : ( (P > PcCO2) ? SUPERCRITICAL : GAS ); 00173 }
PhysicalState Flash::DeterminePhysicalStateH2S | ( | double | T, | |
double | P | |||
) | [inline] |
Definition at line 176 of file flashessential.h.
00177 { 00178 return (T < TcH2S) ? ( (P > ComputeSaturatedPressureH2S(T)) ? LIQUID : GAS ) : ( (P > PcH2S) ? SUPERCRITICAL : GAS ); 00179 }
void Flash::FlashBrineCO2H2S | ( | BrineCO2H2SData & | data, | |
const BrineCO2Data & | co2BrineData, | |||
double | T, | |||
double | P, | |||
double | zH2O, | |||
double | zCO2, | |||
double | zH2S | |||
) |
Definition at line 50 of file flash.cpp.
00054 { 00055 // determine the state of the CO2 and H2S 00056 data.stateCO2 = co2BrineData.stateCO2; 00057 data.stateH2S = DeterminePhysicalStateH2S(T, P); 00058 00059 // auxiliary variable to determine if the H2S is fully solubilized in the aqueous phase 00060 bool isH2SFullySolubilized; 00061 00062 // verify the existence of an aqueous phase 00063 bool isThereAqueousPhase = (co2BrineData.betaA != 0.0); 00064 00065 // compute the molar fractions in the aqueous phase 00066 if(isThereAqueousPhase) 00067 { 00068 // compute the NaCl molality in the aqueous phase 00069 double mNaCl = 55.508 * co2BrineData.xNaCl/co2BrineData.xH2O; 00070 00071 // compute the CO2 molality in the aqueous phase 00072 double mCO2 = 55.508 * co2BrineData.xCO2/co2BrineData.xH2O; 00073 00074 // compute the saturated H2S molality 00075 double saturatedMolalityH2S = (P - ComputeSaturatedPressureH2O(T))/std::exp(uRTH2S(T, P) - std::log(ComputeFugacityH2S(ComputeVolumeH2S(T, P, data.stateH2S), T, P)) + 2 * lambdaH2S(T, P) * mNaCl + zetaH2S * mNaCl * mNaCl); 00076 00077 // compute the H2S molality assuming fully solubilization 00078 double mH2SFullySolubilized = 55.508 * zH2S/zH2O; 00079 00080 // auxiliary variable for the H2S molality in the aqueous phase 00081 double mH2S; 00082 00083 // compute the H2S molality in the aqueous phase and also determine if the H2S is fully solubilized 00084 if(mH2SFullySolubilized < saturatedMolalityH2S) 00085 { 00086 mH2S = mH2SFullySolubilized; 00087 isH2SFullySolubilized = true; 00088 } 00089 else 00090 { 00091 mH2S = saturatedMolalityH2S; 00092 isH2SFullySolubilized = false; 00093 } 00094 00095 // compute the molar fractions in the aqueous phase 00096 data.xH2O = 55.508/(55.508 + mNaCl + mCO2 + mH2S); 00097 data.xNaCl = data.xH2O * mNaCl/55.508; 00098 data.xCO2 = data.xH2O * mCO2/55.508; 00099 data.xH2S = 1 - data.xNaCl - data.xH2O - data.xCO2; 00100 } 00101 else 00102 { 00103 // the molar fractions in the aqueous phase are all zero 00104 data.xH2O = 0.0; 00105 data.xNaCl = 0.0; 00106 data.xCO2 = 0.0; 00107 data.xH2S = 0.0; 00108 00109 // verify if H2S is fully solubilized in the aqueous phase 00110 isH2SFullySolubilized = false; 00111 } 00112 00113 // verify the existence of a CO2-rich phase 00114 bool isThereCO2RichPhase = (co2BrineData.betaC != 0.0); 00115 00116 // verify the existence of a H2S-rich phase (CO2 or H2S has to be in the liquid state and H2S cannot be fully solubilized in the aqueous phase) 00117 bool isThereH2SRichPhase = (data.stateCO2 == LIQUID || data.stateH2S == LIQUID) && !isH2SFullySolubilized; 00118 00119 // compute the phase molar fractions 00120 data.betaS = co2BrineData.betaS * (1.0 - zH2S); 00121 data.betaA = co2BrineData.betaA * (1.0 - zH2S)/(1 - data.xH2S); 00122 00123 if(isThereH2SRichPhase) 00124 { 00125 data.betaC = co2BrineData.betaC * (1.0 - zH2S); 00126 data.betaH = 1.0 - data.betaS - data.betaA - data.betaC; 00127 } 00128 else 00129 { 00130 data.betaC = 1.0 - data.betaS - data.betaA; 00131 data.betaH = 0.0; 00132 } 00133 00134 // compute the molar fractions in the CO2-rich phase 00135 if(isThereCO2RichPhase) 00136 { 00137 data.yH2S = (isThereH2SRichPhase) ? 0.0 : (zH2S - data.xH2S * data.betaA)/data.betaC; 00138 data.yCO2 = (zCO2 - data.xCO2 * data.betaA)/data.betaC; 00139 data.yH2O = 1 - data.yCO2 - data.yH2S; 00140 } 00141 else 00142 { 00143 data.yH2S = 0.0; 00144 data.yCO2 = 0.0;
void Flash::GeometricFlashBrineCO2 | ( | BrineCO2Data & | data, | |
double | T, | |||
double | P, | |||
double | zNaCl, | |||
double | zH2O, | |||
double | zCO2 | |||
) |
void Flash::GeometricFlashBrineCO2H2S | ( | BrineCO2H2SData & | data, | |
double | T, | |||
double | P, | |||
double | zNaCl, | |||
double | zH2O, | |||
double | zCO2, | |||
double | zH2S | |||
) |
double Flash::koCO2 | ( | double | T, | |
PhysicalState | stateCO2 | |||
) | [inline] |
Definition at line 78 of file flashessential.h.
00079 { 00080 T = T - 273.15; 00081 return (stateCO2 == GAS || stateCO2 == SUPERCRITICAL) ? 00082 std::pow(10.0, 1.189 + 1.304E-2 * T - 5.446E-5 * T*T) : 00083 std::pow(10.0, 1.169 + 1.368E-2 * T - 5.380E-5 * T*T); 00084 }
double Flash::koH2O | ( | double | T | ) | [inline] |
Definition at line 72 of file flashessential.h.
double Flash::lambdaCO2 | ( | double | T, | |
double | P | |||
) | [inline] |
Definition at line 94 of file flashessential.h.
double Flash::lambdaH2S | ( | double | T, | |
double | P | |||
) | [inline] |
Definition at line 110 of file flashessential.h.
double Flash::NewtonRaphson | ( | Function | function, | |
double | initialGuess, | |||
double | tolerance = 1.0E-4 , |
|||
unsigned | maxIterations = 100 | |||
) | [inline] |
Definition at line 28 of file newtonraphson.h.
00029 { 00030 // Auxiliary variables. 00031 double xNew = 0.0; 00032 double xOld = initialGuess; 00033 const double epsilon = 1.0E-6; 00034 00035 for(unsigned iter = 0; iter < maxIterations; ++iter) 00036 { 00037 xNew = xOld - 2.0 * epsilon * function(xOld) / (function(xOld + epsilon) - function(xOld - epsilon)); 00038 00039 if(fabsf(xNew - xOld)/xNew < tolerance) break; 00040 00041 xOld = xNew; 00042 } 00043 00044 return xNew; 00045 }
double Flash::NewtonRaphson | ( | Function | function, | |
FunctionPrime | derivative, | |||
double | initialGuess, | |||
double | tolerance = 1.0E-4 , |
|||
unsigned | maxIterations = 100 | |||
) | [inline] |
Definition at line 8 of file newtonraphson.h.
00009 { 00010 // Auxiliary variables. 00011 double xNew = 0.0; 00012 double xOld = initialGuess; 00013 00014 for(unsigned iter = 0; iter < maxIterations; ++iter) 00015 { 00016 xNew = xOld - function(xOld) / derivative(xOld); 00017 00018 if(fabsf(xNew - xOld)/xNew < tolerance) break; 00019 00020 xOld = xNew; 00021 } 00022 00023 return xNew; 00024 }
std::ostream & Flash::operator<< | ( | std::ostream & | out, | |
BrineCO2H2SData & | data | |||
) |
std::ostream & Flash::operator<< | ( | std::ostream & | out, | |
BrineCO2Data & | data | |||
) |
void Flash::ProgressiveFlashBrineCO2 | ( | BrineCO2Data & | data, | |
double | T, | |||
double | P, | |||
double | zNaCl, | |||
double | zH2O, | |||
double | zCO2, | |||
unsigned int | numCorrections | |||
) |
void Flash::ProgressiveFlashBrineCO2H2S | ( | BrineCO2H2SData & | data, | |
double | T, | |||
double | P, | |||
double | zNaCl, | |||
double | zH2O, | |||
double | zCO2, | |||
double | zH2S, | |||
unsigned int | numCorrections | |||
) |
double Flash::uRTH2S | ( | double | T, | |
double | P | |||
) | [inline] |
Definition at line 105 of file flashessential.h.
double Flash::vCO2 | ( | PhysicalState | stateCO2 | ) | [inline] |
Definition at line 91 of file flashessential.h.
00091 { return (stateCO2 == GAS || stateCO2 == SUPERCRITICAL) ? 32.6 : 32.0; }
double Flash::zetaCO2 | ( | double | T, | |
double | P | |||
) | [inline] |
Definition at line 99 of file flashessential.h.
const double Flash::a10H2S = -2.1948579E-5 |
Definition at line 64 of file flashessential.h.
const double Flash::a11H2S = -1.1707631E-4 |
Definition at line 65 of file flashessential.h.
const double Flash::a12H2S = 4.0756926E-5 |
Definition at line 66 of file flashessential.h.
const double Flash::a13H2S = 5.7582260E-2 |
Definition at line 67 of file flashessential.h.
const double Flash::a14H2S = 1.00 |
Definition at line 68 of file flashessential.h.
const double Flash::a15H2S = 0.06 |
Definition at line 69 of file flashessential.h.
const double Flash::a1H2S = 5.2386075E-2 |
Definition at line 55 of file flashessential.h.
const double Flash::a2H2S = -2.7463906E-1 |
Definition at line 56 of file flashessential.h.
const double Flash::a3H2S = -9.6760173E-2 |
Definition at line 57 of file flashessential.h.
const double Flash::a4H2S = 1.3618104E-2 |
Definition at line 58 of file flashessential.h.
const double Flash::a5H2S = -8.8681753E-2 |
Definition at line 59 of file flashessential.h.
const double Flash::a6H2S = 4.1176908E-2 |
Definition at line 60 of file flashessential.h.
const double Flash::a7H2S = 3.6354018E-4 |
Definition at line 61 of file flashessential.h.
const double Flash::a8H2S = 2.2719194E-3 |
Definition at line 62 of file flashessential.h.
const double Flash::a9H2S = -7.6962514E-4 |
Definition at line 63 of file flashessential.h.
const double Flash::aH2OCO2 = 7.89E7 |
Definition at line 52 of file flashessential.h.
const double Flash::bCO2 = 27.80 |
Definition at line 50 of file flashessential.h.
const double Flash::bH2O = 18.18 |
Definition at line 51 of file flashessential.h.
const double Flash::PcCO2 = 73.83 |
Definition at line 30 of file flashessential.h.
const double Flash::PcH2O = 221.20 |
Definition at line 26 of file flashessential.h.
const double Flash::PcH2S = 89.63 |
Definition at line 34 of file flashessential.h.
const double Flash::Po = 1.0 |
Definition at line 87 of file flashessential.h.
const double Flash::R = 83.14472 |
Definition at line 41 of file flashessential.h.
const double Flash::TcCO2 = 304.20 |
Definition at line 29 of file flashessential.h.
const double Flash::TcH2O = 647.30 |
Definition at line 25 of file flashessential.h.
const double Flash::TcH2S = 373.50 |
Definition at line 33 of file flashessential.h.
const double Flash::toleranceVolumeH2SEquation = 1.0E-2 |
Definition at line 297 of file flashessential.h.
const double Flash::vH2O = 18.1 |
Definition at line 90 of file flashessential.h.
const double Flash::zetaH2S = -1.0832589E-2 |
Definition at line 115 of file flashessential.h.