Fixed an Error in the assignment operator.
This commit is contained in:
parent
4f66d852b5
commit
05753b6ef1
1 changed files with 34 additions and 12 deletions
|
|
@ -37,8 +37,7 @@ namespace Cantera {
|
||||||
{
|
{
|
||||||
m_pdssType = cPDSS_IONSFROMNEUTRAL;
|
m_pdssType = cPDSS_IONSFROMNEUTRAL;
|
||||||
}
|
}
|
||||||
|
//====================================================================================================================
|
||||||
|
|
||||||
PDSS_IonsFromNeutral::PDSS_IonsFromNeutral(VPStandardStateTP *tp, int spindex,
|
PDSS_IonsFromNeutral::PDSS_IonsFromNeutral(VPStandardStateTP *tp, int spindex,
|
||||||
std::string inputFile, std::string id) :
|
std::string inputFile, std::string id) :
|
||||||
PDSS(tp, spindex),
|
PDSS(tp, spindex),
|
||||||
|
|
@ -50,8 +49,7 @@ namespace Cantera {
|
||||||
m_pdssType = cPDSS_IONSFROMNEUTRAL;
|
m_pdssType = cPDSS_IONSFROMNEUTRAL;
|
||||||
constructPDSSFile(tp, spindex, inputFile, id);
|
constructPDSSFile(tp, spindex, inputFile, id);
|
||||||
}
|
}
|
||||||
|
//====================================================================================================================
|
||||||
|
|
||||||
|
|
||||||
PDSS_IonsFromNeutral::PDSS_IonsFromNeutral(VPStandardStateTP *tp, int spindex, const XML_Node& speciesNode,
|
PDSS_IonsFromNeutral::PDSS_IonsFromNeutral(VPStandardStateTP *tp, int spindex, const XML_Node& speciesNode,
|
||||||
const XML_Node& phaseRoot, bool spInstalled) :
|
const XML_Node& phaseRoot, bool spInstalled) :
|
||||||
|
|
@ -68,8 +66,7 @@ namespace Cantera {
|
||||||
std::string id = "";
|
std::string id = "";
|
||||||
constructPDSSXML(tp, spindex, speciesNode, phaseRoot, id);
|
constructPDSSXML(tp, spindex, speciesNode, phaseRoot, id);
|
||||||
}
|
}
|
||||||
|
//====================================================================================================================
|
||||||
|
|
||||||
|
|
||||||
PDSS_IonsFromNeutral::PDSS_IonsFromNeutral(const PDSS_IonsFromNeutral &b) :
|
PDSS_IonsFromNeutral::PDSS_IonsFromNeutral(const PDSS_IonsFromNeutral &b) :
|
||||||
PDSS(b)
|
PDSS(b)
|
||||||
|
|
@ -80,35 +77,57 @@ namespace Cantera {
|
||||||
*/
|
*/
|
||||||
*this = b;
|
*this = b;
|
||||||
}
|
}
|
||||||
|
//====================================================================================================================
|
||||||
/**
|
/*
|
||||||
* Assignment operator
|
* Assignment operator
|
||||||
*/
|
*/
|
||||||
PDSS_IonsFromNeutral& PDSS_IonsFromNeutral::operator=(const PDSS_IonsFromNeutral&b) {
|
PDSS_IonsFromNeutral& PDSS_IonsFromNeutral::operator=(const PDSS_IonsFromNeutral&b) {
|
||||||
if (&b == this) return *this;
|
if (&b == this) {
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
PDSS::operator=(b);
|
PDSS::operator=(b);
|
||||||
|
|
||||||
m_tmin = b.m_tmin;
|
m_tmin = b.m_tmin;
|
||||||
m_tmax = b.m_tmax;
|
m_tmax = b.m_tmax;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The shallow pointer copy in the next step will be insufficient in most cases. However, its
|
||||||
|
* functionally the best we can do for this assignment operator. We fix up the pointer in the
|
||||||
|
* initAllPtrs() function.
|
||||||
|
*/
|
||||||
neutralMoleculePhase_ = b.neutralMoleculePhase_;
|
neutralMoleculePhase_ = b.neutralMoleculePhase_;
|
||||||
|
|
||||||
numMult_ = b.numMult_;
|
numMult_ = b.numMult_;
|
||||||
idNeutralMoleculeVec = b.idNeutralMoleculeVec;
|
idNeutralMoleculeVec = b.idNeutralMoleculeVec;
|
||||||
factorVec = b.factorVec;
|
factorVec = b.factorVec;
|
||||||
add2RTln2_ = b.add2RTln2_;
|
add2RTln2_ = b.add2RTln2_;
|
||||||
|
tmpNM = b.tmpNM;
|
||||||
specialSpecies_ = b.specialSpecies_;
|
specialSpecies_ = b.specialSpecies_;
|
||||||
|
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
//====================================================================================================================
|
||||||
PDSS_IonsFromNeutral::~PDSS_IonsFromNeutral() {
|
PDSS_IonsFromNeutral::~PDSS_IonsFromNeutral() {
|
||||||
}
|
}
|
||||||
|
//====================================================================================================================
|
||||||
//! Duplicator
|
//! Duplicator
|
||||||
PDSS* PDSS_IonsFromNeutral::duplMyselfAsPDSS() const {
|
PDSS* PDSS_IonsFromNeutral::duplMyselfAsPDSS() const {
|
||||||
PDSS_IonsFromNeutral * idg = new PDSS_IonsFromNeutral(*this);
|
PDSS_IonsFromNeutral * idg = new PDSS_IonsFromNeutral(*this);
|
||||||
return (PDSS *) idg;
|
return (PDSS *) idg;
|
||||||
}
|
}
|
||||||
|
//====================================================================================================================
|
||||||
|
void PDSS_IonsFromNeutral::initAllPtrs(VPStandardStateTP *tp, VPSSMgr *vpssmgr_ptr,
|
||||||
|
SpeciesThermo* spthermo) {
|
||||||
|
PDSS::initAllPtrs(tp, vpssmgr_ptr, spthermo);
|
||||||
|
|
||||||
|
IonsFromNeutralVPSSTP *ionPhase = dynamic_cast<IonsFromNeutralVPSSTP *>(tp);
|
||||||
|
if (!ionPhase) {
|
||||||
|
throw CanteraError("PDSS_IonsFromNeutral::initAllPts", "Dynamic cast failed");
|
||||||
|
}
|
||||||
|
neutralMoleculePhase_ = ionPhase->neutralMoleculePhase_;
|
||||||
|
}
|
||||||
|
//====================================================================================================================
|
||||||
/**
|
/**
|
||||||
* constructPDSSXML:
|
* constructPDSSXML:
|
||||||
*
|
*
|
||||||
|
|
@ -140,6 +159,9 @@ namespace Cantera {
|
||||||
}
|
}
|
||||||
|
|
||||||
IonsFromNeutralVPSSTP *ionPhase = dynamic_cast<IonsFromNeutralVPSSTP *>(tp);
|
IonsFromNeutralVPSSTP *ionPhase = dynamic_cast<IonsFromNeutralVPSSTP *>(tp);
|
||||||
|
if (!ionPhase) {
|
||||||
|
throw CanteraError("PDSS_IonsFromNeutral::constructPDSSXML", "Dynamic cast failed");
|
||||||
|
}
|
||||||
neutralMoleculePhase_ = ionPhase->neutralMoleculePhase_;
|
neutralMoleculePhase_ = ionPhase->neutralMoleculePhase_;
|
||||||
|
|
||||||
std::vector<std::string> key;
|
std::vector<std::string> key;
|
||||||
|
|
@ -172,7 +194,7 @@ namespace Cantera {
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
//====================================================================================================================
|
||||||
|
|
||||||
void PDSS_IonsFromNeutral::constructPDSSFile(VPStandardStateTP *tp, int spindex,
|
void PDSS_IonsFromNeutral::constructPDSSFile(VPStandardStateTP *tp, int spindex,
|
||||||
std::string inputFile, std::string id) {
|
std::string inputFile, std::string id) {
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue