doublereal WaterPropsIAPWS::coeffThermExp() const { doublereal kappa = isothermalCompressibility(); doublereal beta = coeffPresExp(); doublereal dens = delta * Rho_c; return kappa * dens * Rgas * beta / M_water; }
int WaterPropsIAPWS::phaseState(bool checkState) const { if (checkState) { if (tau <= 1.0) { iState = WATER_SUPERCRIT; } else { doublereal T = T_c / tau; doublereal rho = delta * Rho_c; //doublereal psatTable = psat_est(T); doublereal rhoMidAtm = 0.5 * (1.01E5 * M_water / (8314.472 * 373.15) + 1.0E3); doublereal rhoMid = Rho_c + (T - T_c) * (Rho_c - rhoMidAtm) / (T_c - 373.15); int iStateGuess = WATER_LIQUID; if (rho < rhoMid) { iStateGuess = WATER_GAS; } doublereal kappa = isothermalCompressibility(); if (kappa >= 0.0) { iState = iStateGuess; } else { // When we are here we are between the spinodal curves doublereal rhoDel = rho * 1.000001; //setState_TR(T, rhoDel); doublereal deltaSave = delta; doublereal deltaDel = rhoDel / Rho_c; delta = deltaDel; m_phi->tdpolycalc(tau, deltaDel); doublereal kappaDel = isothermalCompressibility(); doublereal d2rhodp2 = (rhoDel * kappaDel - rho * kappa) / (rhoDel - rho); if (d2rhodp2 > 0.0) { iState = WATER_UNSTABLELIQUID; } else { iState = WATER_UNSTABLEGAS; } //setState_TR(T, rho); delta = deltaSave; m_phi->tdpolycalc(tau, delta); } } } return iState; }
/* * cv_mole(): * * Molar heat capacity at constant volume of the mixture. * Units: J/kmol/K. * * For single species, we go directory to the * general Cp - Cv relation * * Cp = Cv + alpha**2 * V * T / beta * * where * alpha = volume thermal expansion coefficient * beta = isothermal compressibility */ doublereal SingleSpeciesTP::cv_mole() const { doublereal cvbar = cp_mole(); doublereal alpha = thermalExpansionCoeff(); doublereal beta = isothermalCompressibility(); doublereal molecW = molecularWeight(0); doublereal V = molecW/density(); doublereal T = temperature(); if (beta != 0.0) { cvbar -= alpha * alpha * V * T / beta; } return cvbar; }
doublereal SingleSpeciesTP::cv_mole() const { /* * For single species, we go directory to the general Cp - Cv relation * * Cp = Cv + alpha**2 * V * T / beta * * where * alpha = volume thermal expansion coefficient * beta = isothermal compressibility */ doublereal cvbar = cp_mole(); doublereal alpha = thermalExpansionCoeff(); doublereal beta = isothermalCompressibility(); doublereal V = molecularWeight(0)/density(); doublereal T = temperature(); if (beta != 0.0) { cvbar -= alpha * alpha * V * T / beta; } return cvbar; }