void MixtureFugacityTP::setStateFromXML(const XML_Node& state) { int doTP = 0; string comp = ctml::getChildValue(state,"moleFractions"); if (comp != "") { // not overloaded in current object -> phase state is not calculated. setMoleFractionsByName(comp); doTP = 1; } else { comp = ctml::getChildValue(state,"massFractions"); if (comp != "") { // not overloaded in current object -> phase state is not calculated. setMassFractionsByName(comp); doTP = 1; } } double t = temperature(); if (state.hasChild("temperature")) { t = ctml::getFloat(state, "temperature", "temperature"); doTP = 1; } if (state.hasChild("pressure")) { double p = ctml::getFloat(state, "pressure", "pressure"); setState_TP(t, p); } else if (state.hasChild("density")) { double rho = ctml::getFloat(state, "density", "density"); setState_TR(t, rho); } else if (doTP) { double rho = Phase::density(); setState_TR(t, rho); } }
void Phase::setMassFractionsByName(const std::string& y) { compositionMap yy; int kk = nSpecies(); for (int k = 0; k < kk; k++) { yy[speciesName(k)] = -1.0; } parseCompString(y, yy); setMassFractionsByName(yy); }
void ThermoPhase::setStateFromXML(const XML_Node& state) { string comp = getChildValue(state,"moleFractions"); if (comp != "") { setMoleFractionsByName(comp); } else { comp = getChildValue(state,"massFractions"); if (comp != "") { setMassFractionsByName(comp); } } if (state.hasChild("temperature")) { double t = getFloat(state, "temperature", "temperature"); setTemperature(t); } if (state.hasChild("pressure")) { double p = getFloat(state, "pressure", "pressure"); setPressure(p); } if (state.hasChild("density")) { double rho = getFloat(state, "density", "density"); setDensity(rho); } }
void Phase::setState_TRY(doublereal t, doublereal dens, const compositionMap& y) { setMassFractionsByName(y); setTemperature(t); setDensity(dens); }
void Phase::setMassFractionsByName(const std::string& y) { setMassFractionsByName(parseCompString(y)); }
void ThermoPhase::setState_RPY(doublereal rho, doublereal p, const std::string& y) { setMassFractionsByName(y); setState_RP(rho,p); }
void ThermoPhase::setState_RPY(doublereal rho, doublereal p, const compositionMap& y) { setMassFractionsByName(y); setState_RP(rho,p); }
void ThermoPhase::setState_TPY(doublereal t, doublereal p, const std::string& y) { setMassFractionsByName(y); setState_TP(t,p); }
void Phase::setMassFractionsByName(const std::string& y) { compositionMap c = parseCompString(y, speciesNames()); setMassFractionsByName(c); }