Replace lowercase with boost string algorithms

This commit is contained in:
Ray Speth 2016-10-28 18:20:11 -04:00
parent 2a8ac43308
commit 7a24dc3817
26 changed files with 176 additions and 227 deletions

View file

@ -73,6 +73,8 @@ std::string stripnonprint(const std::string& s);
/*!
* @param s Input string
* @returns a copy of the string, with all characters lowercase.
* @deprecated Use boost::algorithm::to_lower_copy instead. To be removed after
* Cantera 2.3.
*/
std::string lowercase(const std::string& s);

View file

@ -84,6 +84,8 @@ std::string vec2str(const vector_fp& v, const std::string& fmt,
std::string lowercase(const std::string& s)
{
warn_deprecated("lowercase", "Use boost::algorithm::to_lower_copy instead. "
"To be removed after Cantera 2.3.");
std::string lc(s);
for (size_t i = 0; i < s.size(); i++) {
lc[i] = (char) tolower(s[i]);

View file

@ -49,7 +49,7 @@ KineticsFactory::KineticsFactory() {
Kinetics* KineticsFactory::newKinetics(const string& model)
{
return create(lowercase(model));
return create(ba::to_lower_copy(model));
}
}

View file

@ -296,19 +296,19 @@ void readFalloff(FalloffReaction& R, const XML_Node& rc_node)
}
int falloff_type = 0;
if (lowercase(falloff["type"]) == "lindemann") {
if (ba::iequals(falloff["type"], "lindemann")) {
falloff_type = SIMPLE_FALLOFF;
if (np != 0) {
throw CanteraError("readFalloff", "Lindemann parameterization "
"takes no parameters, but {} were given", np);
}
} else if (lowercase(falloff["type"]) == "troe") {
} else if (ba::iequals(falloff["type"], "troe")) {
falloff_type = TROE_FALLOFF;
if (np != 3 && np != 4) {
throw CanteraError("readFalloff", "Troe parameterization takes "
"3 or 4 parameters, but {} were given", np);
}
} else if (lowercase(falloff["type"]) == "sri") {
} else if (ba::iequals(falloff["type"], "sri")) {
falloff_type = SRI_FALLOFF;
if (np != 3 && np != 5) {
throw CanteraError("readFalloff", "SRI parameterization takes "
@ -479,23 +479,23 @@ void setupChebyshevReaction(ChebyshevReaction& R, const XML_Node& rxn_node)
void setupInterfaceReaction(InterfaceReaction& R, const XML_Node& rxn_node)
{
if (lowercase(rxn_node["type"]) == "global") {
if (ba::iequals(rxn_node["type"], "global")) {
R.reaction_type = GLOBAL_RXN;
}
XML_Node& arr = rxn_node.child("rateCoeff").child("Arrhenius");
if (lowercase(arr["type"]) == "stick") {
if (ba::iequals(arr["type"], "stick")) {
R.is_sticking_coefficient = true;
R.sticking_species = arr["species"];
if (lowercase(arr["motz_wise"]) == "true") {
if (ba::iequals(arr["motz_wise"], "true")) {
R.use_motz_wise_correction = true;
} else if (lowercase(arr["motz_wise"]) == "false") {
} else if (ba::iequals(arr["motz_wise"], "false")) {
R.use_motz_wise_correction = false;
} else {
// Default value for all reactions
XML_Node* parent = rxn_node.parent();
if (parent && parent->name() == "reactionData"
&& lowercase((*parent)["motz_wise"]) == "true") {
&& ba::iequals((*parent)["motz_wise"], "true")) {
R.use_motz_wise_correction = true;
}
}
@ -514,7 +514,7 @@ void setupElectrochemicalReaction(ElectrochemicalReaction& R,
const XML_Node& rxn_node)
{
// Fix reaction_type for some specialized reaction types
std::string type = lowercase(rxn_node["type"]);
std::string type = ba::to_lower_copy(rxn_node["type"]);
if (type == "butlervolmer") {
R.reaction_type = BUTLERVOLMER_RXN;
} else if (type == "butlervolmer_noactivitycoeffs") {
@ -526,7 +526,7 @@ void setupElectrochemicalReaction(ElectrochemicalReaction& R,
}
XML_Node& rc = rxn_node.child("rateCoeff");
std::string rc_type = lowercase(rc["type"]);
std::string rc_type = ba::to_lower_copy(rc["type"]);
if (rc_type == "exchangecurrentdensity") {
R.exchange_current_density_formulation = true;
} else if (rc_type != "" && rc_type != "arrhenius") {
@ -569,13 +569,13 @@ void setupElectrochemicalReaction(ElectrochemicalReaction& R,
R.orders.clear();
R.allow_nonreactant_orders = true;
const XML_Node& rof_node = rxn_node.child("reactionOrderFormulation");
if (lowercase(rof_node["model"]) == "reactantorders") {
if (ba::iequals(rof_node["model"], "reactantorders")) {
R.orders = initial_orders;
} else if (lowercase(rof_node["model"]) == "zeroorders") {
} else if (ba::iequals(rof_node["model"], "zeroorders")) {
for (const auto& sp : R.reactants) {
R.orders[sp.first] = 0.0;
}
} else if (lowercase(rof_node["model"]) == "butlervolmerorders") {
} else if (ba::iequals(rof_node["model"], "butlervolmerorders")) {
// Reaction orders based on provided reaction orders
for (const auto& sp : R.reactants) {
double c = getValue(initial_orders, sp.first, sp.second);
@ -603,7 +603,7 @@ void setupElectrochemicalReaction(ElectrochemicalReaction& R,
shared_ptr<Reaction> newReaction(const XML_Node& rxn_node)
{
std::string type = lowercase(rxn_node["type"]);
std::string type = ba::to_lower_copy(rxn_node["type"]);
// Modify the reaction type for edge reactions which contain electrochemical
// reaction data

View file

@ -397,24 +397,21 @@ void DebyeHuckel::getPartialMolarCp(doublereal* cpbar) const
*/
static int interp_est(const std::string& estString)
{
const char* cc = estString.c_str();
string lc = lowercase(estString);
const char* ccl = lc.c_str();
if (!strcmp(ccl, "solvent")) {
if (ba::iequals(estString, "solvent")) {
return cEST_solvent;
} else if (!strcmp(ccl, "chargedspecies")) {
} else if (ba::iequals(estString, "chargedspecies")) {
return cEST_chargedSpecies;
} else if (!strcmp(ccl, "weakacidassociated")) {
} else if (ba::iequals(estString, "weakacidassociated")) {
return cEST_weakAcidAssociated;
} else if (!strcmp(ccl, "strongacidassociated")) {
} else if (ba::iequals(estString, "strongacidassociated")) {
return cEST_strongAcidAssociated;
} else if (!strcmp(ccl, "polarneutral")) {
} else if (ba::iequals(estString, "polarneutral")) {
return cEST_polarNeutral;
} else if (!strcmp(ccl, "nonpolarneutral")) {
} else if (ba::iequals(estString, "nonpolarneutral")) {
return cEST_nonpolarNeutral;
}
int retn, rval;
if ((retn = sscanf(cc, "%d", &rval)) != 1) {
if ((retn = sscanf(estString.c_str(), "%d", &rval)) != 1) {
return -1;
}
return rval;
@ -543,17 +540,16 @@ void DebyeHuckel::initThermoXML(XML_Node& phaseNode, const std::string& id_)
"Species " + sss[k] +
" standardState XML block not found");
}
std::string modelStringa = ss->attrib("model");
if (modelStringa == "") {
std::string modelString = ss->attrib("model");
if (modelString == "") {
throw CanteraError("DebyeHuckel::initThermoXML",
"Species " + sss[k] +
" standardState XML block model attribute not found");
}
std::string modelString = lowercase(modelStringa);
if (k == 0) {
if (modelString == "wateriapws" || modelString == "real_water" ||
modelString == "waterpdss") {
if (ba::iequals(modelString, "wateriapws") || ba::iequals(modelString, "real_water") ||
ba::iequals(modelString, "waterpdss")) {
// Initialize the water standard state model
m_waterSS = dynamic_cast<PDSS_Water*>(providePDSS(0));
if (!m_waterSS) {
@ -568,17 +564,17 @@ void DebyeHuckel::initThermoXML(XML_Node& phaseNode, const std::string& id_)
double dens = m_waterSS->density();
double mw = m_waterSS->molecularWeight();
m_speciesSize[0] = mw / dens;
} else if (modelString == "constant_incompressible") {
} else if (ba::iequals(modelString, "constant_incompressible")) {
m_speciesSize[k] = getFloat(*ss, "molarVolume", "toSi");
} else {
throw CanteraError("DebyeHuckel::initThermoXML",
"Solvent SS Model \"" + modelStringa +
"Solvent SS Model \"" + modelString +
"\" is not known");
}
} else {
if (modelString != "constant_incompressible") {
if (!ba::iequals(modelString, "constant_incompressible")) {
throw CanteraError("DebyeHuckel::initThermoXML",
"Solute SS Model \"" + modelStringa +
"Solute SS Model \"" + modelString +
"\" is not known");
}
m_speciesSize[k] = getFloat(*ss, "molarVolume", "toSI");
@ -595,14 +591,13 @@ void DebyeHuckel::initThermoXML(XML_Node& phaseNode, const std::string& id_)
// Look for parameters for A_Debye
if (acNode.hasChild("A_Debye")) {
XML_Node* ss = acNode.findByName("A_Debye");
string modelStringa = ss->attrib("model");
string modelString = lowercase(modelStringa);
string modelString = ss->attrib("model");
if (modelString != "") {
if (modelString == "water") {
if (ba::iequals(modelString, "water")) {
m_form_A_Debye = A_DEBYE_WATER;
} else {
throw CanteraError("DebyeHuckel::initThermoXML",
"A_Debye Model \"" + modelStringa +
"A_Debye Model \"" + modelString +
"\" is not known");
}
} else {

View file

@ -26,24 +26,21 @@ namespace Cantera
{
int HMWSoln::interp_est(const std::string& estString)
{
const char* cc = estString.c_str();
string lcs = lowercase(estString);
const char* ccl = lcs.c_str();
if (!strcmp(ccl, "solvent")) {
if (ba::iequals(estString, "solvent")) {
return cEST_solvent;
} else if (!strcmp(ccl, "chargedspecies")) {
} else if (ba::iequals(estString, "chargedspecies")) {
return cEST_chargedSpecies;
} else if (!strcmp(ccl, "weakacidassociated")) {
} else if (ba::iequals(estString, "weakacidassociated")) {
return cEST_weakAcidAssociated;
} else if (!strcmp(ccl, "strongacidassociated")) {
} else if (ba::iequals(estString, "strongacidassociated")) {
return cEST_strongAcidAssociated;
} else if (!strcmp(ccl, "polarneutral")) {
} else if (ba::iequals(estString, "polarneutral")) {
return cEST_polarNeutral;
} else if (!strcmp(ccl, "nonpolarneutral")) {
} else if (ba::iequals(estString, "nonpolarneutral")) {
return cEST_nonpolarNeutral;
}
int retn, rval;
if ((retn = sscanf(cc, "%d", &rval)) != 1) {
if ((retn = sscanf(estString.c_str(), "%d", &rval)) != 1) {
return -1;
}
return rval;
@ -90,11 +87,10 @@ void HMWSoln::readXMLBinarySalt(XML_Node& BinSalt)
int counter = m_CounterIJ[n];
for (size_t iChild = 0; iChild < BinSalt.nChildren(); iChild++) {
XML_Node& xmlChild = BinSalt.child(iChild);
string stemp = xmlChild.name();
string nodeName = lowercase(stemp);
string nodeName = xmlChild.name();
// Process the binary salt child elements
if (nodeName == "beta0") {
if (ba::iequals(nodeName, "beta0")) {
// Get the string containing all of the values
getFloatArray(xmlChild, vParams, false, "", "beta0");
size_t nParamsFound = vParams.size();
@ -127,7 +123,7 @@ void HMWSoln::readXMLBinarySalt(XML_Node& BinSalt)
m_Beta0MX_ij[counter] = vParams[0];
}
}
if (nodeName == "beta1") {
if (ba::iequals(nodeName, "beta1")) {
// Get the string containing all of the values
getFloatArray(xmlChild, vParams, false, "", "beta1");
size_t nParamsFound = vParams.size();
@ -160,7 +156,7 @@ void HMWSoln::readXMLBinarySalt(XML_Node& BinSalt)
m_Beta1MX_ij[counter] = vParams[0];
}
}
if (nodeName == "beta2") {
if (ba::iequals(nodeName, "beta2")) {
getFloatArray(xmlChild, vParams, false, "", "beta2");
size_t nParamsFound = vParams.size();
if (m_formPitzerTemp == PITZER_TEMP_CONSTANT) {
@ -192,7 +188,7 @@ void HMWSoln::readXMLBinarySalt(XML_Node& BinSalt)
m_Beta2MX_ij[counter] = vParams[0];
}
}
if (nodeName == "cphi") {
if (ba::iequals(nodeName, "cphi")) {
// Get the string containing all of the values
getFloatArray(xmlChild, vParams, false, "", "Cphi");
size_t nParamsFound = vParams.size();
@ -226,14 +222,12 @@ void HMWSoln::readXMLBinarySalt(XML_Node& BinSalt)
}
}
if (nodeName == "alpha1") {
stemp = xmlChild.value();
m_Alpha1MX_ij[counter] = fpValueCheck(stemp);
if (ba::iequals(nodeName, "alpha1")) {
m_Alpha1MX_ij[counter] = fpValueCheck(xmlChild.value());
}
if (nodeName == "alpha2") {
stemp = xmlChild.value();
m_Alpha2MX_ij[counter] = fpValueCheck(stemp);
if (ba::iequals(nodeName, "alpha2")) {
m_Alpha2MX_ij[counter] = fpValueCheck(xmlChild.value());
}
}
}
@ -246,7 +240,6 @@ void HMWSoln::readXMLThetaAnion(XML_Node& BinSalt)
throw CanteraError("HMWSoln::readXMLThetaAnion",
"Incorrect name for processing this routine: " + xname);
}
string stemp;
string ispName = BinSalt.attrib("anion1");
if (ispName == "") {
throw CanteraError("HMWSoln::readXMLThetaAnion", "no anion1 attrib");
@ -277,10 +270,8 @@ void HMWSoln::readXMLThetaAnion(XML_Node& BinSalt)
int counter = m_CounterIJ[n];
for (size_t i = 0; i < BinSalt.nChildren(); i++) {
XML_Node& xmlChild = BinSalt.child(i);
stemp = xmlChild.name();
string nodeName = lowercase(stemp);
if (nodeName == "theta") {
getFloatArray(xmlChild, vParams, false, "", stemp);
if (ba::iequals(xmlChild.name(), "theta")) {
getFloatArray(xmlChild, vParams, false, "", xmlChild.name());
size_t nParamsFound = vParams.size();
if (m_formPitzerTemp == PITZER_TEMP_CONSTANT) {
if (nParamsFound != 1) {
@ -355,10 +346,8 @@ void HMWSoln::readXMLThetaCation(XML_Node& BinSalt)
int counter = m_CounterIJ[n];
for (size_t i = 0; i < BinSalt.nChildren(); i++) {
XML_Node& xmlChild = BinSalt.child(i);
string stemp = xmlChild.name();
string nodeName = lowercase(stemp);
if (nodeName == "theta") {
getFloatArray(xmlChild, vParams, false, "", stemp);
if (ba::iequals(xmlChild.name(), "theta")) {
getFloatArray(xmlChild, vParams, false, "", xmlChild.name());
size_t nParamsFound = vParams.size();
if (m_formPitzerTemp == PITZER_TEMP_CONSTANT) {
if (nParamsFound != 1) {
@ -447,19 +436,16 @@ void HMWSoln::readXMLPsiCommonCation(XML_Node& BinSalt)
int counter = m_CounterIJ[n];
for (size_t i = 0; i < BinSalt.nChildren(); i++) {
XML_Node& xmlChild = BinSalt.child(i);
string stemp = xmlChild.name();
string nodeName = lowercase(stemp);
if (nodeName == "theta") {
stemp = xmlChild.value();
if (ba::iequals(xmlChild.name(), "theta")) {
double old = m_Theta_ij[counter];
m_Theta_ij[counter] = fpValueCheck(stemp);
m_Theta_ij[counter] = fpValueCheck(xmlChild.value());
if (old != 0.0 && old != m_Theta_ij[counter]) {
throw CanteraError("HMWSoln::readXMLPsiCommonCation",
"conflicting values");
}
}
if (nodeName == "psi") {
getFloatArray(xmlChild, vParams, false, "", stemp);
if (ba::iequals(xmlChild.name(), "psi")) {
getFloatArray(xmlChild, vParams, false, "", xmlChild.name());
size_t nParamsFound = vParams.size();
n = iSpecies * m_kk *m_kk + jSpecies * m_kk + kSpecies;
@ -580,19 +566,16 @@ void HMWSoln::readXMLPsiCommonAnion(XML_Node& BinSalt)
int counter = m_CounterIJ[n];
for (size_t i = 0; i < BinSalt.nChildren(); i++) {
XML_Node& xmlChild = BinSalt.child(i);
string stemp = xmlChild.name();
string nodeName = lowercase(stemp);
if (nodeName == "theta") {
stemp = xmlChild.value();
if (ba::iequals(xmlChild.name(), "theta")) {
double old = m_Theta_ij[counter];
m_Theta_ij[counter] = fpValueCheck(stemp);
m_Theta_ij[counter] = fpValueCheck(xmlChild.value());
if (old != 0.0 && old != m_Theta_ij[counter]) {
throw CanteraError("HMWSoln::readXMLPsiCommonAnion",
"conflicting values");
}
}
if (nodeName == "psi") {
getFloatArray(xmlChild, vParams, false, "", stemp);
if (ba::iequals(xmlChild.name(), "psi")) {
getFloatArray(xmlChild, vParams, false, "", xmlChild.name());
size_t nParamsFound = vParams.size();
n = iSpecies * m_kk *m_kk + jSpecies * m_kk + kSpecies;
@ -697,11 +680,9 @@ void HMWSoln::readXMLLambdaNeutral(XML_Node& BinSalt)
for (size_t i = 0; i < BinSalt.nChildren(); i++) {
XML_Node& xmlChild = BinSalt.child(i);
stemp = xmlChild.name();
string nodeName = lowercase(stemp);
if (nodeName == "lambda") {
if (ba::iequals(xmlChild.name(), "lambda")) {
size_t nCount = iSpecies*m_kk + jSpecies;
getFloatArray(xmlChild, vParams, false, "", stemp);
getFloatArray(xmlChild, vParams, false, "", xmlChild.name());
size_t nParamsFound = vParams.size();
if (m_formPitzerTemp == PITZER_TEMP_CONSTANT) {
if (nParamsFound != 1) {
@ -746,7 +727,6 @@ void HMWSoln::readXMLMunnnNeutral(XML_Node& BinSalt)
throw CanteraError("HMWSoln::readXMLMunnnNeutral",
"Incorrect name for processing this routine: " + xname);
}
string stemp;
string iName = BinSalt.attrib("species1");
if (iName == "") {
throw CanteraError("HMWSoln::readXMLMunnnNeutral", "no species1 attrib");
@ -765,10 +745,8 @@ void HMWSoln::readXMLMunnnNeutral(XML_Node& BinSalt)
for (size_t i = 0; i < BinSalt.nChildren(); i++) {
XML_Node& xmlChild = BinSalt.child(i);
stemp = xmlChild.name();
string nodeName = lowercase(stemp);
if (nodeName == "munnn") {
getFloatArray(xmlChild, vParams, false, "", "Munnn");
if (ba::iequals(xmlChild.name(), "Munnn")) {
getFloatArray(xmlChild, vParams, false, "", xmlChild.name());
size_t nParamsFound = vParams.size();
if (m_formPitzerTemp == PITZER_TEMP_CONSTANT) {
if (nParamsFound != 1) {
@ -854,10 +832,8 @@ void HMWSoln::readXMLZetaCation(const XML_Node& BinSalt)
for (size_t i = 0; i < BinSalt.nChildren(); i++) {
XML_Node& xmlChild = BinSalt.child(i);
string stemp = xmlChild.name();
string nodeName = lowercase(stemp);
if (nodeName == "zeta") {
getFloatArray(xmlChild, vParams, false, "", "zeta");
if (ba::iequals(xmlChild.name(), "zeta")) {
getFloatArray(xmlChild, vParams, false, "", xmlChild.name());
size_t nParamsFound = vParams.size();
size_t n = iSpecies * m_kk *m_kk + jSpecies * m_kk + kSpecies;
@ -968,18 +944,17 @@ void HMWSoln::initThermoXML(XML_Node& phaseNode, const std::string& id_)
if (thermoNode.hasChild("standardConc")) {
XML_Node& scNode = thermoNode.child("standardConc");
m_formGC = 2;
string stemp = scNode.attrib("model");
string formString = lowercase(stemp);
string formString = scNode.attrib("model");
if (formString != "") {
if (formString == "unity") {
if (ba::iequals(formString, "unity")) {
m_formGC = 0;
throw CanteraError("HMWSoln::initThermoXML",
"standardConc = unity not done");
} else if (formString == "molar_volume") {
} else if (ba::iequals(formString, "molar_volume")) {
m_formGC = 1;
throw CanteraError("HMWSoln::initThermoXML",
"standardConc = molar_volume not done");
} else if (formString == "solvent_volume") {
} else if (ba::iequals(formString, "solvent_volume")) {
m_formGC = 2;
} else {
throw CanteraError("HMWSoln::initThermoXML",
@ -992,12 +967,11 @@ void HMWSoln::initThermoXML(XML_Node& phaseNode, const std::string& id_)
// size arrays below.
if (thermoNode.hasChild("activityCoefficients")) {
XML_Node& scNode = thermoNode.child("activityCoefficients");
string stemp = scNode.attrib("model");
string formString = lowercase(stemp);
string formString = scNode.attrib("model");
if (formString != "") {
if (formString == "pitzer" || formString == "default") {
if (ba::iequals(formString, "pitzer") || ba::iequals(formString, "default")) {
m_formPitzer = PITZERFORM_BASE;
} else if (formString == "base") {
} else if (ba::iequals(formString, "base")) {
m_formPitzer = PITZERFORM_BASE;
} else {
throw CanteraError("HMWSoln::initThermoXML",
@ -1008,14 +982,13 @@ void HMWSoln::initThermoXML(XML_Node& phaseNode, const std::string& id_)
// Determine the form of the temperature dependence of the Pitzer
// activity coefficient model.
stemp = scNode.attrib("TempModel");
formString = lowercase(stemp);
formString = scNode.attrib("TempModel");
if (formString != "") {
if (formString == "constant" || formString == "default") {
if (ba::iequals(formString, "constant") || ba::iequals(formString, "default")) {
m_formPitzerTemp = PITZER_TEMP_CONSTANT;
} else if (formString == "linear") {
} else if (ba::iequals(formString, "linear")) {
m_formPitzerTemp = PITZER_TEMP_LINEAR;
} else if (formString == "complex" || formString == "complex1") {
} else if (ba::iequals(formString, "complex") || ba::iequals(formString, "complex1")) {
m_formPitzerTemp = PITZER_TEMP_COMPLEX1;
} else {
throw CanteraError("HMWSoln::initThermoXML",
@ -1027,8 +1000,7 @@ void HMWSoln::initThermoXML(XML_Node& phaseNode, const std::string& id_)
// Determine the reference temperature of the Pitzer activity
// coefficient model's temperature dependence formulation: defaults to
// 25C
stemp = scNode.attrib("TempReference");
formString = lowercase(stemp);
formString = scNode.attrib("TempReference");
if (formString != "") {
m_TempPitzerRef = fpValueCheck(formString);
} else {
@ -1100,13 +1072,12 @@ void HMWSoln::initThermoXML(XML_Node& phaseNode, const std::string& id_)
"Species " + sss[k] +
" standardState XML block not found");
}
string modelStringa = ss->attrib("model");
if (modelStringa == "") {
string modelString = ba::to_lower_copy(ss->attrib("model"));
if (modelString == "") {
throw CanteraError("HMWSoln::initThermoXML",
"Species " + sss[k] +
" standardState XML block model attribute not found");
}
string modelString = lowercase(modelStringa);
if (k == 0) {
if (modelString == "wateriapws" || modelString == "real_water" ||
modelString == "waterpdss") {
@ -1136,7 +1107,7 @@ void HMWSoln::initThermoXML(XML_Node& phaseNode, const std::string& id_)
} else {
if (modelString != "constant_incompressible" && modelString != "hkft") {
throw CanteraError("HMWSoln::initThermoXML",
"Solute SS Model \"" + modelStringa +
"Solute SS Model \"" + modelString +
"\" is not known");
}
if (modelString == "constant_incompressible") {
@ -1169,10 +1140,8 @@ void HMWSoln::initThermoXML(XML_Node& phaseNode, const std::string& id_)
XML_Node& ADebye = acNode.child("A_Debye");
m_form_A_Debye = A_DEBYE_CONST;
string stemp = "model";
if (ADebye.hasAttrib(stemp)) {
string atemp = ADebye.attrib(stemp);
stemp = lowercase(atemp);
if (stemp == "water") {
if (ADebye.hasAttrib("model")) {
if (ba::iequals(ADebye.attrib("model"), "water")) {
m_form_A_Debye = A_DEBYE_WATER;
}
}
@ -1242,25 +1211,24 @@ void HMWSoln::initThermoXML(XML_Node& phaseNode, const std::string& id_)
if (acNodePtr) {
for (size_t i = 0; i < acNodePtr->nChildren(); i++) {
XML_Node& xmlACChild = acNodePtr->child(i);
string stemp = xmlACChild.name();
string nodeName = lowercase(stemp);
string nodeName = xmlACChild.name();
// Process a binary salt field, or any of the other XML fields
// that make up the Pitzer Database. Entries will be ignored
// if any of the species in the entry isn't in the solution.
if (nodeName == "binarysaltparameters") {
if (ba::iequals(nodeName, "binarysaltparameters")) {
readXMLBinarySalt(xmlACChild);
} else if (nodeName == "thetaanion") {
} else if (ba::iequals(nodeName, "thetaanion")) {
readXMLThetaAnion(xmlACChild);
} else if (nodeName == "thetacation") {
} else if (ba::iequals(nodeName, "thetacation")) {
readXMLThetaCation(xmlACChild);
} else if (nodeName == "psicommonanion") {
} else if (ba::iequals(nodeName, "psicommonanion")) {
readXMLPsiCommonAnion(xmlACChild);
} else if (nodeName == "psicommoncation") {
} else if (ba::iequals(nodeName, "psicommoncation")) {
readXMLPsiCommonCation(xmlACChild);
} else if (nodeName == "lambdaneutral") {
} else if (ba::iequals(nodeName, "lambdaneutral")) {
readXMLLambdaNeutral(xmlACChild);
} else if (nodeName == "zetacation") {
} else if (ba::iequals(nodeName, "zetacation")) {
readXMLZetaCation(xmlACChild);
}
}

View file

@ -443,10 +443,9 @@ void IdealSolidSolnPhase::initThermoXML(XML_Node& phaseNode, const std::string&
// <thermo model="IdealSolidSolution" />
if (phaseNode.hasChild("thermo")) {
XML_Node& thNode = phaseNode.child("thermo");
string mString = thNode.attrib("model");
if (lowercase(mString) != "idealsolidsolution") {
if (!ba::iequals(thNode["model"], "idealsolidsolution")) {
throw CanteraError("IdealSolidSolnPhase::initThermoXML",
"Unknown thermo model: " + mString);
"Unknown thermo model: " + thNode["model"]);
}
} else {
throw CanteraError("IdealSolidSolnPhase::initThermoXML",
@ -460,17 +459,16 @@ void IdealSolidSolnPhase::initThermoXML(XML_Node& phaseNode, const std::string&
// <standardConc model="solvent_volume" />
if (phaseNode.hasChild("standardConc")) {
XML_Node& scNode = phaseNode.child("standardConc");
string formStringa = scNode.attrib("model");
string formString = lowercase(formStringa);
if (formString == "unity") {
string formString = scNode.attrib("model");
if (ba::iequals(formString, "unity")) {
m_formGC = 0;
} else if (formString == "molar_volume") {
} else if (ba::iequals(formString, "molar_volume")) {
m_formGC = 1;
} else if (formString == "solvent_volume") {
} else if (ba::iequals(formString, "solvent_volume")) {
m_formGC = 2;
} else {
throw CanteraError("IdealSolidSolnPhase::initThermoXML",
"Unknown standardConc model: " + formStringa);
"Unknown standardConc model: " + formString);
}
} else {
throw CanteraError("IdealSolidSolnPhase::initThermoXML",

View file

@ -297,17 +297,16 @@ void IdealSolnGasVPSS::initThermoXML(XML_Node& phaseNode, const std::string& id_
"standardConc node for ideal gas");
}
XML_Node& scNode = phaseNode.child("standardConc");
string formStringa = scNode.attrib("model");
string formString = lowercase(formStringa);
if (formString == "unity") {
string formString = scNode.attrib("model");
if (ba::iequals(formString, "unity")) {
m_formGC = 0;
} else if (formString == "molar_volume") {
} else if (ba::iequals(formString, "molar_volume")) {
m_formGC = 1;
} else if (formString == "solvent_volume") {
} else if (ba::iequals(formString, "solvent_volume")) {
m_formGC = 2;
} else {
throw CanteraError("initThermoXML",
"Unknown standardConc model: " + formStringa);
"Unknown standardConc model: " + formString);
}
} else {
if (!m_idealGas) {

View file

@ -639,10 +639,10 @@ void IonsFromNeutralVPSSTP::initThermoXML(XML_Node& phaseNode, const std::string
XML_Node& thermoNode = phaseNode.child("thermo");
// Make sure that the thermo model is IonsFromNeutralMolecule
string formString = lowercase(thermoNode.attrib("model"));
if (formString != "ionsfromneutralmolecule") {
if (!ba::iequals(thermoNode["model"], "ionsfromneutralmolecule")) {
throw CanteraError("IonsFromNeutralVPSSTP::initThermoXML",
"model name isn't IonsFromNeutralMolecule: " + formString);
"model name isn't IonsFromNeutralMolecule: "
+ thermoNode["model"]);
}
// Find the Neutral Molecule Phase

View file

@ -284,10 +284,9 @@ void LatticePhase::initThermoXML(XML_Node& phaseNode, const std::string& id_)
// <thermo model="Lattice" />
if (phaseNode.hasChild("thermo")) {
XML_Node& thNode = phaseNode.child("thermo");
std::string mString = thNode.attrib("model");
if (lowercase(mString) != "lattice") {
if (!ba::iequals(thNode["model"], "lattice")) {
throw CanteraError("LatticePhase::initThermoXML",
"Unknown thermo model: " + mString);
"Unknown thermo model: " + thNode["model"]);
}
} else {
throw CanteraError("LatticePhase::initThermoXML",

View file

@ -264,20 +264,18 @@ void MargulesVPSSTP::initThermoXML(XML_Node& phaseNode, const std::string& id_)
XML_Node& thermoNode = phaseNode.child("thermo");
// Make sure that the thermo model is Margules
string formString = lowercase(thermoNode.attrib("model"));
if (formString != "margules") {
if (!ba::iequals(thermoNode["model"], "margules")) {
throw CanteraError("MargulesVPSSTP::initThermoXML",
"model name isn't Margules: " + formString);
"model name isn't Margules: " + thermoNode["model"]);
}
// Go get all of the coefficients and factors in the activityCoefficients
// XML block
if (thermoNode.hasChild("activityCoefficients")) {
XML_Node& acNode = thermoNode.child("activityCoefficients");
string mStringa = acNode.attrib("model");
if (lowercase(mStringa) != "margules") {
if (!ba::iequals(acNode["model"], "margules")) {
throw CanteraError("MargulesVPSSTP::initThermoXML",
"Unknown activity coefficient model: " + mStringa);
"Unknown activity coefficient model: " + acNode["model"]);
}
for (size_t i = 0; i < acNode.nChildren(); i++) {
XML_Node& xmlACChild = acNode.child(i);
@ -285,7 +283,7 @@ void MargulesVPSSTP::initThermoXML(XML_Node& phaseNode, const std::string& id_)
// Process a binary salt field, or any of the other XML fields that
// make up the Pitzer Database. Entries will be ignored if any of
// the species in the entry isn't in the solution.
if (lowercase(xmlACChild.name()) == "binaryneutralspeciesparameters") {
if (ba::iequals(xmlACChild.name(), "binaryneutralspeciesparameters")) {
readXMLBinarySpecies(xmlACChild);
}
}
@ -578,7 +576,7 @@ void MargulesVPSSTP::readXMLBinarySpecies(XML_Node& xmLBinarySpecies)
for (size_t iChild = 0; iChild < xmLBinarySpecies.nChildren(); iChild++) {
XML_Node& xmlChild = xmLBinarySpecies.child(iChild);
string nodeName = lowercase(xmlChild.name());
string nodeName = ba::to_lower_copy(xmlChild.name());
// Process the binary species interaction parameters.
// They are in subblocks labeled:

View file

@ -222,10 +222,9 @@ void MaskellSolidSolnPhase::initThermoXML(XML_Node& phaseNode, const std::string
// <thermo model="MaskellSolidSolution" />
if (phaseNode.hasChild("thermo")) {
XML_Node& thNode = phaseNode.child("thermo");
std::string mString = thNode.attrib("model");
if (lowercase(mString) != "maskellsolidsolnphase") {
if (!ba::iequals(thNode["model"], "maskellsolidsolnphase")) {
throw CanteraError("MaskellSolidSolnPhase::initThermoXML",
"Unknown thermo model: " + mString);
"Unknown thermo model: " + thNode["model"]);
}
// Parse the enthalpy of mixing constant

View file

@ -260,20 +260,19 @@ void MixedSolventElectrolyte::initThermoXML(XML_Node& phaseNode, const std::stri
"no thermo XML node");
}
XML_Node& thermoNode = phaseNode.child("thermo");
string mString = thermoNode.attrib("model");
if (lowercase(mString) != "mixedsolventelectrolyte") {
string mString = thermoNode["model"];
if (!ba::iequals(thermoNode["model"], "mixedsolventelectrolyte")) {
throw CanteraError("MixedSolventElectrolyte::initThermoXML",
"Unknown thermo model: " + mString);
"Unknown thermo model: " + thermoNode["model"]);
}
// Go get all of the coefficients and factors in the activityCoefficients
// XML block
if (thermoNode.hasChild("activityCoefficients")) {
XML_Node& acNode = thermoNode.child("activityCoefficients");
mString = acNode.attrib("model");
if (lowercase(mString) != "margules") {
if (!ba::iequals(acNode["model"], "margules")) {
throw CanteraError("MixedSolventElectrolyte::initThermoXML",
"Unknown activity coefficient model: " + mString);
"Unknown activity coefficient model: " + acNode["model"]);
}
for (size_t i = 0; i < acNode.nChildren(); i++) {
XML_Node& xmlACChild = acNode.child(i);
@ -281,7 +280,7 @@ void MixedSolventElectrolyte::initThermoXML(XML_Node& phaseNode, const std::stri
// Process a binary salt field, or any of the other XML fields that
// make up the Pitzer Database. Entries will be ignored if any of
// the species in the entry isn't in the solution.
if (lowercase(xmlACChild.name()) == "binaryneutralspeciesparameters") {
if (ba::iequals(xmlACChild.name(), "binaryneutralspeciesparameters")) {
readXMLBinarySpecies(xmlACChild);
}
}
@ -566,7 +565,7 @@ void MixedSolventElectrolyte::readXMLBinarySpecies(XML_Node& xmLBinarySpecies)
for (size_t iChild = 0; iChild < xmLBinarySpecies.nChildren(); iChild++) {
XML_Node& xmlChild = xmLBinarySpecies.child(iChild);
string nodeName = lowercase(xmlChild.name());
string nodeName = ba::to_lower_copy(xmlChild.name());
// Process the binary species interaction child elements
if (nodeName == "excessenthalpy") {

View file

@ -317,11 +317,11 @@ void MolarityIonicVPSSTP::initThermoXML(XML_Node& phaseNode, const std::string&
"no thermo XML node");
}
XML_Node& thermoNode = phaseNode.child("thermo");
std::string mStringa = thermoNode.attrib("model");
std::string mString = lowercase(mStringa);
if (mString != "molarityionicvpss" && mString != "molarityionicvpsstp") {
if (!ba::iequals(thermoNode["model"], "molarityionicvpss")
&& !ba::iequals(thermoNode["model"], "molarityionicvpsstp")) {
throw CanteraError("MolarityIonicVPSSTP::initThermoXML",
"Unknown thermo model: " + mStringa + " - This object only knows \"MolarityIonicVPSSTP\" ");
"Unknown thermo model: " + thermoNode["model"]
+ " - This object only knows \"MolarityIonicVPSSTP\" ");
}
// Go get all of the coefficients and factors in the activityCoefficients
@ -331,7 +331,7 @@ void MolarityIonicVPSSTP::initThermoXML(XML_Node& phaseNode, const std::string&
for (size_t i = 0; i < acNode.nChildren(); i++) {
XML_Node& xmlACChild = acNode.child(i);
// Process a binary interaction
if (lowercase(xmlACChild.name()) == "binaryneutralspeciesparameters") {
if (ba::iequals(xmlACChild.name(), "binaryneutralspeciesparameters")) {
readXMLBinarySpecies(xmlACChild);
}
}

View file

@ -467,7 +467,7 @@ void PDSS_HKFT::constructPDSSXML(VPStandardStateTP* tp, size_t spindex,
throw CanteraError("PDSS_HKFT::constructPDSSXML",
"no thermo Node for species " + speciesNode.name());
}
if (lowercase(tn->attrib("model")) != "hkft") {
if (!ba::iequals(tn->attrib("model"), "hkft")) {
throw CanteraError("PDSS_HKFT::initThermoXML",
"thermo model for species isn't hkft: "
+ speciesNode.name());
@ -518,7 +518,7 @@ void PDSS_HKFT::constructPDSSXML(VPStandardStateTP* tp, size_t spindex,
throw CanteraError("PDSS_HKFT::constructPDSSXML",
"no standardState Node for species " + speciesNode.name());
}
if (lowercase(ss->attrib("model")) != "hkft") {
if (!ba::iequals(ss->attrib("model"), "hkft")) {
throw CanteraError("PDSS_HKFT::initThermoXML",
"standardState model for species isn't hkft: "
+ speciesNode.name());

View file

@ -113,7 +113,7 @@ void PDSS_IonsFromNeutral::constructPDSSXML(VPStandardStateTP* tp, size_t spinde
throw CanteraError("PDSS_IonsFromNeutral::constructPDSSXML",
"no thermo Node for species " + speciesNode.name());
}
if (lowercase(tn->attrib("model")) != "ionfromneutral") {
if (!ba::iequals(tn->attrib("model"), "ionfromneutral")) {
throw CanteraError("PDSS_IonsFromNeutral::constructPDSSXML",
"thermo model for species isn't IonsFromNeutral: "
+ speciesNode.name());

View file

@ -252,14 +252,14 @@ size_t Phase::speciesIndex(const std::string& nameStr) const
{
if (nameStr.find(':') != npos) {
std::string pn;
std::string sn = lowercase(parseSpeciesName(nameStr, pn));
std::string sn = ba::to_lower_copy(parseSpeciesName(nameStr, pn));
if (pn == "" || pn == m_name || pn == m_id) {
return getValue(m_speciesIndices, sn, npos);
} else {
return npos;
}
} else {
return getValue(m_speciesIndices, lowercase(nameStr), npos);
return getValue(m_speciesIndices, ba::to_lower_copy(nameStr), npos);
}
}
@ -369,7 +369,7 @@ void Phase::setMoleFractionsByName(const compositionMap& xMap)
vector_fp mf(m_kk, 0.0);
for (const auto& sp : xMap) {
try {
mf[m_speciesIndices.at(lowercase(sp.first))] = sp.second;
mf[m_speciesIndices.at(ba::to_lower_copy(sp.first))] = sp.second;
} catch (std::out_of_range&) {
throw CanteraError("Phase::setMoleFractionsByName",
"Unknown species '{}'", sp.first);
@ -413,7 +413,7 @@ void Phase::setMassFractionsByName(const compositionMap& yMap)
vector_fp mf(m_kk, 0.0);
for (const auto& sp : yMap) {
try {
mf[m_speciesIndices.at(lowercase(sp.first))] = sp.second;
mf[m_speciesIndices.at(ba::to_lower_copy(sp.first))] = sp.second;
} catch (std::out_of_range&) {
throw CanteraError("Phase::setMassFractionsByName",
"Unknown species '{}'", sp.first);
@ -758,7 +758,7 @@ size_t Phase::addElement(const std::string& symbol, doublereal weight,
}
bool Phase::addSpecies(shared_ptr<Species> spec) {
if (m_species.find(lowercase(spec->name)) != m_species.end()) {
if (m_species.find(ba::to_lower_copy(spec->name)) != m_species.end()) {
throw CanteraError("Phase::addSpecies",
"Phase '{}' already contains a species named '{}'.",
m_name, spec->name);
@ -788,8 +788,8 @@ bool Phase::addSpecies(shared_ptr<Species> spec) {
}
m_speciesNames.push_back(spec->name);
m_species[lowercase(spec->name)] = spec;
m_speciesIndices[lowercase(spec->name)] = m_kk;
m_species[ba::to_lower_copy(spec->name)] = spec;
m_speciesIndices[ba::to_lower_copy(spec->name)] = m_kk;
m_speciesCharge.push_back(spec->charge);
m_speciesSize.push_back(spec->size);
size_t ne = nElements();
@ -854,19 +854,19 @@ void Phase::modifySpecies(size_t k, shared_ptr<Species> spec)
"New species name '{}' does not match existing name '{}'",
spec->name, speciesName(k));
}
const shared_ptr<Species>& old = m_species[lowercase(spec->name)];
const shared_ptr<Species>& old = m_species[ba::to_lower_copy(spec->name)];
if (spec->composition != old->composition) {
throw CanteraError("Phase::modifySpecies",
"New composition for '{}' does not match existing composition",
spec->name);
}
m_species[lowercase(spec->name)] = spec;
m_species[ba::to_lower_copy(spec->name)] = spec;
invalidateCache();
}
shared_ptr<Species> Phase::species(const std::string& name) const
{
return m_species.at(lowercase(name));
return m_species.at(ba::to_lower_copy(name));
}
shared_ptr<Species> Phase::species(size_t k) const

View file

@ -270,20 +270,18 @@ void PhaseCombo_Interaction::initThermoXML(XML_Node& phaseNode, const std::strin
"no thermo XML node");
}
XML_Node& thermoNode = phaseNode.child("thermo");
string formString = lowercase(thermoNode.attrib("model"));
if (formString != "phasecombo_interaction") {
if (!ba::iequals(thermoNode["model"], "phasecombo_interaction")) {
throw CanteraError("PhaseCombo_Interaction::initThermoXML",
"model name isn't PhaseCombo_Interaction: " + formString);
"model name isn't PhaseCombo_Interaction: " + thermoNode["model"]);
}
// Go get all of the coefficients and factors in the activityCoefficients
// XML block
if (thermoNode.hasChild("activityCoefficients")) {
XML_Node& acNode = thermoNode.child("activityCoefficients");
string mString = acNode.attrib("model");
if (lowercase(mString) != "margules") {
if (!ba::iequals(acNode["model"], "margules")) {
throw CanteraError("PhaseCombo_Interaction::initThermoXML",
"Unknown activity coefficient model: " + mString);
"Unknown activity coefficient model: " + acNode["model"]);
}
for (size_t i = 0; i < acNode.nChildren(); i++) {
XML_Node& xmlACChild = acNode.child(i);
@ -291,7 +289,7 @@ void PhaseCombo_Interaction::initThermoXML(XML_Node& phaseNode, const std::strin
// Process a binary salt field, or any of the other XML fields that
// make up the Pitzer Database. Entries will be ignored if any of
// the species in the entry isn't in the solution.
if (lowercase(xmlACChild.name()) == "binaryneutralspeciesparameters") {
if (ba::iequals(xmlACChild.name(), "binaryneutralspeciesparameters")) {
readXMLBinarySpecies(xmlACChild);
}
}
@ -611,7 +609,7 @@ void PhaseCombo_Interaction::readXMLBinarySpecies(XML_Node& xmLBinarySpecies)
for (size_t iChild = 0; iChild < xmLBinarySpecies.nChildren(); iChild++) {
XML_Node& xmlChild = xmLBinarySpecies.child(iChild);
string nodeName = lowercase(xmlChild.name());
string nodeName = ba::to_lower_copy(xmlChild.name());
// Process the binary species interaction child elements
if (nodeName == "excessenthalpy") {

View file

@ -236,20 +236,19 @@ void RedlichKisterVPSSTP::initThermoXML(XML_Node& phaseNode, const std::string&
"no thermo XML node");
}
XML_Node& thermoNode = phaseNode.child("thermo");
std::string mString = thermoNode.attrib("model");
if (lowercase(mString) != "redlich-kister") {
if (!ba::iequals(thermoNode["model"], "redlich-kister")) {
throw CanteraError("RedlichKisterVPSSTP::initThermoXML",
"Unknown thermo model: " + mString + " - This object only knows \"Redlich-Kister\" ");
"Unknown thermo model: " + thermoNode["model"]
+ " - This object only knows \"Redlich-Kister\" ");
}
// Go get all of the coefficients and factors in the activityCoefficients
// XML block
if (thermoNode.hasChild("activityCoefficients")) {
XML_Node& acNode = thermoNode.child("activityCoefficients");
mString = acNode.attrib("model");
if (lowercase(mString) != "redlich-kister") {
if (!ba::iequals(acNode["model"], "redlich-kister")) {
throw CanteraError("RedlichKisterVPSSTP::initThermoXML",
"Unknown activity coefficient model: " + mString);
"Unknown activity coefficient model: " + acNode["model"]);
}
for (size_t i = 0; i < acNode.nChildren(); i++) {
XML_Node& xmlACChild = acNode.child(i);
@ -257,7 +256,7 @@ void RedlichKisterVPSSTP::initThermoXML(XML_Node& phaseNode, const std::string&
// Process a binary salt field, or any of the other XML fields that
// make up the Pitzer Database. Entries will be ignored if any of
// the species in the entry isn't in the solution.
if (lowercase(xmlACChild.name()) == "binaryneutralspeciesparameters") {
if (ba::iequals(xmlACChild.name(), "binaryneutralspeciesparameters")) {
readXMLBinarySpecies(xmlACChild);
}
}
@ -587,7 +586,7 @@ void RedlichKisterVPSSTP::readXMLBinarySpecies(XML_Node& xmLBinarySpecies)
for (size_t iChild = 0; iChild < xmLBinarySpecies.nChildren(); iChild++) {
XML_Node& xmlChild = xmLBinarySpecies.child(iChild);
string nodeName = lowercase(xmlChild.name());
string nodeName = ba::to_lower_copy(xmlChild.name());
// Process the binary species interaction child elements
if (nodeName == "excessenthalpy") {

View file

@ -594,9 +594,7 @@ void RedlichKwongMFTP::initThermoXML(XML_Node& phaseNode, const std::string& id)
// parameters
for (size_t i = 0; i < nC; i++) {
XML_Node& xmlACChild = acNodePtr->child(i);
string stemp = xmlACChild.name();
string nodeName = lowercase(stemp);
if (nodeName == "purefluidparameters") {
if (ba::iequals(xmlACChild.name(), "purefluidparameters")) {
readXMLPureFluid(xmlACChild);
}
}
@ -608,9 +606,7 @@ void RedlichKwongMFTP::initThermoXML(XML_Node& phaseNode, const std::string& id)
// parameters
for (size_t i = 0; i < nC; i++) {
XML_Node& xmlACChild = acNodePtr->child(i);
string stemp = xmlACChild.name();
string nodeName = lowercase(stemp);
if (nodeName == "crossfluidparameters") {
if (ba::iequals(xmlACChild.name(), "crossfluidparameters")) {
readXMLCrossFluid(xmlACChild);
}
}
@ -652,11 +648,10 @@ void RedlichKwongMFTP::readXMLPureFluid(XML_Node& pureFluidParam)
size_t num = pureFluidParam.nChildren();
for (size_t iChild = 0; iChild < num; iChild++) {
XML_Node& xmlChild = pureFluidParam.child(iChild);
string stemp = xmlChild.name();
string nodeName = lowercase(stemp);
string nodeName = ba::to_lower_copy(xmlChild.name());
if (nodeName == "a_coeff") {
string iModel = lowercase(xmlChild.attrib("model"));
string iModel = ba::to_lower_copy(xmlChild.attrib("model"));
if (iModel == "constant") {
nParamsExpected = 1;
} else if (iModel == "linear_a") {
@ -741,11 +736,10 @@ void RedlichKwongMFTP::readXMLCrossFluid(XML_Node& CrossFluidParam)
size_t num = CrossFluidParam.nChildren();
for (size_t iChild = 0; iChild < num; iChild++) {
XML_Node& xmlChild = CrossFluidParam.child(iChild);
string stemp = xmlChild.name();
string nodeName = lowercase(stemp);
string nodeName = ba::to_lower_copy(xmlChild.name());
if (nodeName == "a_coeff") {
string iModel = lowercase(xmlChild.attrib("model"));
string iModel = ba::to_lower_copy(xmlChild.attrib("model"));
if (iModel == "constant") {
nParamsExpected = 1;
} else if (iModel == "linear_a") {

View file

@ -57,7 +57,7 @@ SpeciesThermoInterpType* newSpeciesThermoInterpType(const std::string& stype,
double tlow, double thigh, double pref, const double* coeffs)
{
int itype = -1;
std::string type = lowercase(stype);
std::string type = ba::to_lower_copy(stype);
if (type == "nasa2" || type == "nasa") {
itype = NASA2; // two-region 7-coefficient NASA polynomials
} else if (type == "const_cp" || type == "simple") {
@ -392,10 +392,10 @@ SpeciesThermoInterpType* newSpeciesThermoInterpType(const XML_Node& thermo)
}
}
std::string thermoType = lowercase(tp[0]->name());
std::string thermoType = ba::to_lower_copy(tp[0]->name());
for (size_t i = 1; i < tp.size(); i++) {
if (lowercase(tp[i]->name()) != thermoType) {
if (!ba::iequals(tp[i]->name(), thermoType)) {
throw CanteraError("newSpeciesThermoInterpType",
"Encountered unsupported mixed species thermo parameterizations");
}
@ -408,7 +408,7 @@ SpeciesThermoInterpType* newSpeciesThermoInterpType(const XML_Node& thermo)
"Too many regions in thermo parameterization.");
}
std::string model = lowercase(thermo["model"]);
std::string model = ba::to_lower_copy(thermo["model"]);
if (model == "mineraleq3") {
if (thermoType != "mineq3") {
throw CanteraError("newSpeciesThermoInterpType",

View file

@ -212,7 +212,7 @@ VPSSMgrFactory::VPSSMgr_StringConversion(const std::string& ssModel) const
{
warn_deprecated("VPSSMgrFactory::VPSSMgr_StringConversion",
"To be removed after Cantera 2.3.");
std::string lssModel = lowercase(ssModel);
std::string lssModel = ba::to_lower_copy(ssModel);
VPSSMgr_enumType type;
if (lssModel == "idealgas") {
type = cVPSSMGR_IDEALGAS;
@ -249,7 +249,7 @@ VPSSMgr* VPSSMgrFactory::newVPSSMgr(VPStandardStateTP* vp_ptr,
}
if (thermoNode.hasChild("variablePressureStandardStateManager")) {
const XML_Node& vpssNode = thermoNode.child("variablePressureStandardStateManager");
vpssManager = lowercase(vpssNode["model"]);
vpssManager = ba::to_lower_copy(vpssNode["model"]);
}
}

View file

@ -204,8 +204,7 @@ void VPSSMgr_Water_HKFT::initThermoXML(XML_Node& phaseNode,
throw CanteraError("VPSSMgr_Water_HKFT::initThermoXML",
"No standardState Node for species " + name);
}
std::string model = lowercase(ss->attrib("model"));
if (model != "hkft") {
if (!ba::iequals(ss->attrib("model"), "hkft")) {
throw CanteraError("VPSSMgr_Water_HKFT::initThermoXML",
"Standard state model for a solute species isn't "
"the HKFT standard state model: " + name);

View file

@ -20,7 +20,7 @@ namespace tpx
{
Substance* GetSubstanceByName(std::string name)
{
std::string lcname = Cantera::lowercase(name);
std::string lcname = boost::algorithm::to_lower_copy(name);
if (lcname == "water") {
return new water;
} else if (lcname == "nitrogen") {

View file

@ -62,8 +62,8 @@ void LiquidTranInteraction::init(const XML_Node& compModelNode,
for (size_t iChild = 0; iChild < compModelNode.nChildren(); iChild++) {
XML_Node& xmlChild = compModelNode.child(iChild);
std::string nodeName = lowercase(xmlChild.name());
if (nodeName != "interaction") {
std::string nodeName = xmlChild.name();
if (!ba::iequals(nodeName, "interaction")) {
throw CanteraError("TransportFactory::getLiquidInteractionsTransportData",
"expected <interaction> element and got <" + nodeName + ">");
}

View file

@ -115,7 +115,7 @@ std::string TransportFactory::modelName(int model)
LTPspecies* TransportFactory::newLTP(const XML_Node& trNode, const std::string& name,
TransportPropertyType tp_ind, thermo_t* thermo)
{
std::string model = lowercase(trNode["model"]);
std::string model = ba::to_lower_copy(trNode["model"]);
switch (m_LTRmodelMap[model]) {
case LTP_TD_CONSTANT:
return new LTPspecies_Const(trNode, name, tp_ind, thermo);