diff --git a/include/cantera/kinetics/ReactionData.h b/include/cantera/kinetics/ReactionData.h index 258bb57a2..f9c690517 100644 --- a/include/cantera/kinetics/ReactionData.h +++ b/include/cantera/kinetics/ReactionData.h @@ -7,6 +7,7 @@ #define CT_REACTION_DATA_H #include "cantera/kinetics/reaction_defs.h" +#include "cantera/base/utilities.h" namespace Cantera { @@ -212,12 +213,7 @@ public: //! Get the actual third-body efficiency for species *k* double efficiency(size_t k) const { - std::map::const_iterator iter = thirdBodyEfficiencies.find(k); - if (iter != thirdBodyEfficiencies.end()) { - return iter->second; - } else { - return default_3b_eff; - } + return getValue(thirdBodyEfficiencies, k, default_3b_eff); } }; } diff --git a/include/cantera/numerics/ResidEval.h b/include/cantera/numerics/ResidEval.h index 06650fd0e..9cef80545 100644 --- a/include/cantera/numerics/ResidEval.h +++ b/include/cantera/numerics/ResidEval.h @@ -9,6 +9,7 @@ #include "cantera/base/ct_defs.h" #include "cantera/base/ctexceptions.h" +#include "cantera/base/utilities.h" #include @@ -49,11 +50,7 @@ public: m_constrain[k] = flag; } int constraint(const int k) const { - std::map::const_iterator i = m_constrain.find(k); - if (i != m_constrain.end()) { - return i->second; - } - return c_NONE; + return getValue(m_constrain, k, c_NONE); } //! Initialization function diff --git a/include/cantera/thermo/SpeciesThermoMgr.h b/include/cantera/thermo/SpeciesThermoMgr.h index 4780e10fd..84339ef39 100644 --- a/include/cantera/thermo/SpeciesThermoMgr.h +++ b/include/cantera/thermo/SpeciesThermoMgr.h @@ -14,6 +14,7 @@ #include "cantera/base/ctexceptions.h" #include "cantera/base/stringUtils.h" #include "SpeciesThermo.h" +#include "cantera/base/utilities.h" namespace Cantera { @@ -190,11 +191,7 @@ template int SpeciesThermoDuo::reportType(size_t k) const { - std::map::const_iterator p = speciesToType.find(k); - if (p != speciesToType.end()) { - return p->second; - } - return -1; + return getValue(speciesToType, k, -1); } template diff --git a/src/base/xml.cpp b/src/base/xml.cpp index f147ca1e5..1c46916c3 100644 --- a/src/base/xml.cpp +++ b/src/base/xml.cpp @@ -9,6 +9,7 @@ #include "cantera/base/xml.h" #include "cantera/base/stringUtils.h" #include "cantera/base/global.h" +#include "cantera/base/utilities.h" #include @@ -518,11 +519,7 @@ std::string XML_Node::operator[](const std::string& attr) const std::string XML_Node::attrib(const std::string& attr) const { - std::map::const_iterator i = m_attribs.find(attr); - if (i != m_attribs.end()) { - return i->second; - } - return ""; + return getValue(m_attribs, attr, ""); } std::map& XML_Node::attribs() diff --git a/src/equil/MultiPhase.cpp b/src/equil/MultiPhase.cpp index 0816f6bb2..b80a8788e 100644 --- a/src/equil/MultiPhase.cpp +++ b/src/equil/MultiPhase.cpp @@ -427,10 +427,7 @@ void MultiPhase::setMolesByName(const compositionMap& xMap) size_t kk = nSpecies(); vector_fp moles(kk, 0.0); for (size_t k = 0; k < kk; k++) { - compositionMap::const_iterator iter = xMap.find(speciesName(k)); - if (iter != xMap.end() && iter->second > 0.0) { - moles[k] = iter->second; - } + moles[k] = std::max(getValue(xMap, speciesName(k), 0.0), 0.0); } setMoles(DATA_PTR(moles)); } diff --git a/src/thermo/MolalityVPSSTP.cpp b/src/thermo/MolalityVPSSTP.cpp index 06b98e0c9..b731fee51 100644 --- a/src/thermo/MolalityVPSSTP.cpp +++ b/src/thermo/MolalityVPSSTP.cpp @@ -19,6 +19,7 @@ #include "cantera/thermo/MolalityVPSSTP.h" #include "cantera/base/stringUtils.h" #include "cantera/base/ctml.h" +#include "cantera/base/utilities.h" #include @@ -190,9 +191,9 @@ void MolalityVPSSTP::setMolalitiesByName(const compositionMap& mMap) double xmolS = mf[m_indexSolvent]; double xmolSmin = std::max(xmolS, m_xmolSolventMIN); for (size_t k = 0; k < kk; k++) { - compositionMap::const_iterator iter = mMap.find(speciesName(k)); - if (iter != mMap.end() && iter->second > 0.0) { - mf[k] = iter->second * m_Mnaught * xmolSmin; + double mol_k = getValue(mMap, speciesName(k), 0.0); + if (mol_k > 0) { + mf[k] = mol_k * m_Mnaught * xmolSmin; } } /* diff --git a/src/thermo/Phase.cpp b/src/thermo/Phase.cpp index 50f0ec474..d68749f23 100644 --- a/src/thermo/Phase.cpp +++ b/src/thermo/Phase.cpp @@ -383,10 +383,7 @@ void Phase::setMoleFractionsByName(const compositionMap& xMap) size_t kk = nSpecies(); vector_fp mf(kk, 0.0); for (size_t k = 0; k < kk; k++) { - compositionMap::const_iterator iter = xMap.find(speciesName(k)); - if (iter != xMap.end() && iter->second > 0.0) { - mf[k] = iter->second; - } + mf[k] = std::max(getValue(xMap, speciesName(k), 0.0), 0.0); } setMoleFractions(&mf[0]); } @@ -427,10 +424,7 @@ void Phase::setMassFractionsByName(const compositionMap& yMap) size_t kk = nSpecies(); vector_fp mf(kk, 0.0); for (size_t k = 0; k < kk; k++) { - compositionMap::const_iterator iter = yMap.find(speciesName(k)); - if (iter != yMap.end() && iter->second > 0.0) { - mf[k] = iter->second; - } + mf[k] = std::max(getValue(yMap, speciesName(k), 0.0), 0.0); } setMassFractions(&mf[0]); } diff --git a/src/transport/TransportFactory.cpp b/src/transport/TransportFactory.cpp index 9d284a92b..611ac3612 100644 --- a/src/transport/TransportFactory.cpp +++ b/src/transport/TransportFactory.cpp @@ -22,6 +22,7 @@ #include "cantera/base/ctml.h" #include "cantera/base/stringUtils.h" +#include "cantera/base/utilities.h" using namespace std; @@ -213,13 +214,7 @@ void TransportFactory::deleteFactory() std::string TransportFactory::modelName(int model) { - TransportFactory& f = *factory(); - map::iterator iter = f.m_modelNames.find(model); - if (iter != f.m_modelNames.end()) { - return iter->second; - } else { - return ""; - } + return getValue(factory()->m_modelNames, model, ""); } LTPspecies* TransportFactory::newLTP(const XML_Node& trNode, const std::string& name, @@ -699,12 +694,8 @@ void TransportFactory::getTransportData(const ThermoPhase& thermo, const std::ve const XML_Node& sp = *xspecies[i]; // Find the index for this species in 'names' - std::map::const_iterator iter = - speciesIndices.find(sp["name"]); - size_t j; - if (iter != speciesIndices.end()) { - j = iter->second; - } else { + size_t j = getValue(speciesIndices, sp["name"], npos); + if (j == npos) { // Don't need transport data for this species continue; }