diff --git a/Cantera/src/transport/LiquidTransport.cpp b/Cantera/src/transport/LiquidTransport.cpp
index ce9b75e9b..1dc7a0409 100644
--- a/Cantera/src/transport/LiquidTransport.cpp
+++ b/Cantera/src/transport/LiquidTransport.cpp
@@ -120,6 +120,7 @@ namespace Cantera {
m_lambdaSpecies = right.m_lambdaSpecies;
m_iStateMF = -1;
m_molefracs = right.m_molefracs;
+ m_molefracs_tran = right.m_molefracs_tran;
m_concentrations = right.m_concentrations;
m_chargeSpecies = right.m_chargeSpecies;
m_DiffCoeff_StefMax = right.m_DiffCoeff_StefMax;
@@ -168,50 +169,6 @@ namespace Cantera {
m_tmin = m_thermo->minTemp();
m_tmax = m_thermo->maxTemp();
- /*
- * Read the transport block in the phase XML Node
- * It's not an error if this block doesn't exist. Just use the defaults
- */
- XML_Node &phaseNode = m_thermo->xml();
- if (phaseNode.hasChild("transport")) {
- XML_Node& transportNode = phaseNode.child("transport");
- if ( transportNode.hasChild("viscosity")) {
- XML_Node& viscosityNode = transportNode.child("viscosity");
- string viscosityModel = viscosityNode.attrib("model");
- if (viscosityModel == "") {
- throw CanteraError("LiquidTransport::initLiquid",
- "transport::visosity XML node doesn't have a model string");
- }
- }
-
-
-
- string transportModel = transportNode.attrib("model");
- if (transportModel == "LiquidTransport") {
- /*
- *
- * or
- *
- */
- std::string modelName = "";
- if (getOptionalModel(transportNode, "compositionDependence",
- modelName)) {
- modelName = lowercase(modelName);
- if (modelName == "solvent_only") {
- m_compositionDepType = 0;
- } else if (modelName == "mixture_averaged") {
- m_compositionDepType = 1;
- } else {
- throw CanteraError("LiquidTransport::initLiquid", "Unknown compositionDependence Model: " + modelName);
- }
- }
-
-
-
-
- }
- }
-
// make a local copy of the molecular weights
m_mw.resize(m_nsp);
copy(m_thermo->molecularWeights().begin(),
@@ -359,11 +316,24 @@ namespace Cantera {
<< endl
<< "LiquidTransport model uses hydrodynamicRadius, viscosity "
<< endl
- << "and the Stokes-Einstein equation."
+ << "and the Stokes-Einstein equation or Interaction Model."
<< endl;
}
}
+
+
+ /*
+ * Read the transport block in the phase XML Node
+ * It's not an error if this block doesn't exist. Just use the defaults
+ */
+
+ //HERE WE NEED TO GET THINGS FROM
+ //TransportFactory::getLiquidInteractionsTransportData
+
+
+
+
m_mode = tr.mode_;
m_viscSpecies.resize(m_nsp);
@@ -372,6 +342,8 @@ namespace Cantera {
m_bdiff.resize(m_nsp, m_nsp);
m_molefracs.resize(m_nsp);
+ m_molefracs_tran.resize(m_nsp);
+ m_concentrations.resize(m_nsp);
m_spwork.resize(m_nsp);
// resize the internal gradient variables
diff --git a/Cantera/src/transport/TransportFactory.cpp b/Cantera/src/transport/TransportFactory.cpp
index d3d96f53c..69a468feb 100644
--- a/Cantera/src/transport/TransportFactory.cpp
+++ b/Cantera/src/transport/TransportFactory.cpp
@@ -43,7 +43,7 @@
#include
-using namespace std;
+//using namespace std;
/**
* polynomial degree used for fitting collision integrals
@@ -68,7 +68,7 @@ namespace Cantera {
*/
class TransportDBError : public CanteraError {
public:
- TransportDBError(int linenum, string msg)
+ TransportDBError(int linenum, std::string msg)
: CanteraError("getTransportData",
"error reading transport data: "
+ msg + "\n") {}
@@ -77,7 +77,7 @@ namespace Cantera {
class NotImplemented : public CanteraError {
public:
- NotImplemented(string method) : CanteraError("Transport",
+ NotImplemented(std::string method) : CanteraError("Transport",
"\n\n\n**** Method "+method+" not implemented. ****\n"
"(Did you forget to specify a transport model?)\n\n\n") {}
};
@@ -376,7 +376,7 @@ namespace Cantera {
"no transport XML node");
}
XML_Node& transportNode = phaseNode.child("transport");
- string transportModel = transportNode.attrib("model");
+ std::string transportModel = transportNode.attrib("model");
if (transportModel == "") {
throw CanteraError("TransportFactory::newTransport",
"transport XML node doesn't have a model string");
@@ -547,7 +547,7 @@ namespace Cantera {
// This will fill LiquidTransportParams members visc_Eij, visc_Sij
trParam.visc_Eij.resize(nsp,nsp);
trParam.visc_Sij.resize(nsp,nsp);
- cout << "Still no support for species viscosity interactions in TransportFactory.cpp" << endl;
+ std::cout << "Still no support for species viscosity interactions in TransportFactory.cpp" << std::endl;
XML_Node root, log;
// Note that getLiquidSpeciesTransportData just populates the pure species transport data.
@@ -724,7 +724,7 @@ namespace Cantera {
void TransportFactory::getTransportData(const std::vector &xspecies,
XML_Node& log, const std::vector &names, GasTransportParams& tr)
{
- string name;
+ std::string name;
int geom;
std::map datatable;
doublereal welldepth, diam, dipole, polar, rot;
@@ -735,8 +735,8 @@ namespace Cantera {
// errors. Note that this procedure validates all entries, not
// only those for the species listed in 'names'.
- string val, type;
- map gindx;
+ std::string val, type;
+ map gindx;
gindx["atom"] = 100;
gindx["linear"] = 101;
gindx["nonlinear"] = 102;
@@ -753,7 +753,7 @@ namespace Cantera {
XML_Node& tr = sp.child("transport");
getString(tr, "geometry", val, type);
geom = gindx[val] - 100;
- map fv;
+ map fv;
welldepth = getFloat(tr, "LJ_welldepth");
diam = getFloat(tr, "LJ_diameter");
@@ -893,7 +893,7 @@ namespace Cantera {
* 3.0
*
*
- *
+ *
* 0.0. 1.0, 2.0, 3.0, 4.0
*
*
@@ -902,8 +902,8 @@ namespace Cantera {
XML_Node& hnode = trNode.child("hydrodynamicRadius");
std::string units = lowercase(hnode["units"]);
if ( units == "" )
- cout << "Warning::hydrodynamicRadius units not given for "
- << name << endl
+ std::cout << "Warning::hydrodynamicRadius units not given for "
+ << name << std::endl
<< " Units assumed to be meters." << endl;
std::string model = lowercase(hnode["model"]);
if (model == "" || model == "constant") {
@@ -916,10 +916,10 @@ namespace Cantera {
} else throw TransportDBError(linenum,
"negative or zero hydrodynamic radius");
data.model_hydroradius = LTR_MODEL_CONSTANT;
- } else if (model == "Arrhenius") {
+ } else if (model == "arrhenius") {
getArrhenius(hnode, A_k, n_k, Tact_k);
if (A_k <= 0.0) {
- throw TransportDBError(linenum, "negative or zero viscosity");
+ throw TransportDBError(linenum, "negative or zero hydrodynamic radius");
}
// Angstroms -> meters
//already done in getArrhenius???
@@ -928,7 +928,7 @@ namespace Cantera {
(data.hydroRadiusCoeffs).push_back(n_k);
(data.hydroRadiusCoeffs).push_back(Tact_k);
data.model_hydroradius = LTR_MODEL_ARRHENIUS;
- } else if (model == "coeff") {
+ } else if (model == "coeffs") {
getFloatArray(hnode, vCoeff, true); // if units labeled, convert Angstroms -> meters
data.hydroRadiusCoeffs = vCoeff;
vCoeff.clear();
@@ -951,7 +951,7 @@ namespace Cantera {
* 3.0
*
*
- *
+ *
* 0.0. 1.0, 2.0, 3.0, 4.0
*
*
@@ -965,7 +965,7 @@ namespace Cantera {
else throw TransportDBError(linenum,
"negative or zero viscosity");
data.model_viscosity = LTR_MODEL_CONSTANT;
- } else if (model == "Arrhenius") {
+ } else if (model == "arrhenius") {
getArrhenius(vnode, A_k, n_k, Tact_k);
if (A_k <= 0.0) {
throw TransportDBError(linenum, "negative or zero viscosity");
@@ -974,7 +974,7 @@ namespace Cantera {
(data.viscCoeffs).push_back(n_k);
(data.viscCoeffs).push_back(Tact_k);
data.model_viscosity = LTR_MODEL_ARRHENIUS;
- } else if (model == "coeff") {
+ } else if (model == "coeffs") {
getFloatArray(vnode, vCoeff, true);
data.viscCoeffs = vCoeff;
vCoeff.clear();
@@ -1011,7 +1011,7 @@ namespace Cantera {
else throw TransportDBError(linenum,
"negative or zero thermalConductivity");
data.model_thermalCond = LTR_MODEL_CONSTANT;
- } else if (model == "Arrhenius") {
+ } else if (model == "arrhenius") {
getArrhenius(tnode, A_k, n_k, Tact_k);
if (A_k <= 0.0) {
throw TransportDBError(linenum, "negative or zero thermalConductivity");
@@ -1020,7 +1020,7 @@ namespace Cantera {
(data.thermalCondCoeffs).push_back(n_k);
(data.thermalCondCoeffs).push_back(Tact_k);
data.model_thermalCond = LTR_MODEL_ARRHENIUS;
- } else if (model == "coeff") {
+ } else if (model == "coeffs") {
getFloatArray(tnode, vCoeff, true);
data.thermalCondCoeffs = vCoeff;
vCoeff.clear();
@@ -1044,7 +1044,7 @@ namespace Cantera {
* 3.0
*
*
- *
+ *
* 0.0. 1.0, 2.0, 3.0, 4.0
*
*
@@ -1058,7 +1058,7 @@ namespace Cantera {
else throw TransportDBError(linenum,
"negative or zero speciesDiffusivity");
data.model_speciesDiffusivity = LTR_MODEL_CONSTANT;
- } else if (model == "Arrhenius") {
+ } else if (model == "arrhenius") {
getArrhenius(dnode, A_k, n_k, Tact_k);
if (A_k <= 0.0) {
throw TransportDBError(linenum, "negative or zero speciesDiffusivity");
@@ -1067,7 +1067,7 @@ namespace Cantera {
(data.speciesDiffusivityCoeffs).push_back(n_k);
(data.speciesDiffusivityCoeffs).push_back(Tact_k);
data.model_speciesDiffusivity = LTR_MODEL_ARRHENIUS;
- } else if (model == "coeff") {
+ } else if (model == "coeffs") {
getFloatArray(dnode, vCoeff, true);
data.speciesDiffusivityCoeffs = vCoeff;
data.model_speciesDiffusivity = LTR_MODEL_POLY;
@@ -1096,9 +1096,9 @@ namespace Cantera {
if (trdat.viscCoeffs[0] <= 0.0 ) {
throw TransportDBError(0,"no viscosity transport data found for species "
+ names[i]);
- cout << "No viscosity seen for " << names[i]
+ std::cout << "No viscosity seen for " << names[i]
<< "but this might not be required depending on what you are trying to do."
- << endl;
+ << std::endl;
}
/*
@@ -1127,22 +1127,23 @@ namespace Cantera {
if ( transportNode.hasChild("viscosity")) {
XML_Node& viscosityNode = transportNode.child("viscosity");
if ( viscosityNode.hasChild("compositionDependence") ) {
- string viscosityModel = viscosityNode.child("compositionDependence").attrib("model");
- if (viscosityModel == "") {
+ XML_Node& compositionNode = viscosityNode.child("compositionDependence");
+ std::string compositionModel = compositionNode.attrib("model");
+ if ( compositionModel == "" ) {
throw CanteraError("LiquidTransport::getLiquidInteractionsTransportData",
- "transport::visosity XML node doesn't have a model string");
- } else if ( viscosityModel == "none"){
+ "transport::viscosity XML node doesn't have a model string");
+ } else if ( compositionModel == "none"){
;
- } else if ( viscosityModel == "solvent"){
+ } else if ( compositionModel == "solvent"){
throw CanteraError("LiquidTransport::getLiquidInteractionsTransportData",
"solvent interactions not implemented");
- } else if ( viscosityModel == "moleFractions"){
+ } else if ( compositionModel == "moleFractions"){
;
- } else if ( viscosityModel == "massFractions"){
+ } else if ( compositionModel == "massFractions"){
;
- } else if ( viscosityModel == "logMoleFractions"){
+ } else if ( compositionModel == "logMoleFractions"){
;
- } else if ( viscosityModel == "pairwiseInteractionEnergy"){
+ } else if ( compositionModel == "pairwiseInteractionEnergy"){
;
}
}