68 lines
1.8 KiB
C++
68 lines
1.8 KiB
C++
/**
|
|
* @file SolidTransportData.cpp
|
|
* Source code for solid transport property evaluations.
|
|
*/
|
|
|
|
#include "cantera/transport/SolidTransportData.h"
|
|
|
|
using namespace std;
|
|
|
|
namespace Cantera
|
|
{
|
|
SolidTransportData::SolidTransportData() :
|
|
speciesName("-"),
|
|
ionConductivity(0),
|
|
thermalConductivity(0),
|
|
electConductivity(0),
|
|
defectDiffusivity(0),
|
|
defectActivity(0)
|
|
{
|
|
|
|
}
|
|
|
|
SolidTransportData::SolidTransportData(const SolidTransportData& right) :
|
|
speciesName("-"),
|
|
ionConductivity(0),
|
|
thermalConductivity(0),
|
|
electConductivity(0),
|
|
defectDiffusivity(0),
|
|
defectActivity(0)
|
|
{
|
|
*this = right; //use assignment operator to do other work
|
|
}
|
|
|
|
SolidTransportData& SolidTransportData::operator=(const SolidTransportData& right)
|
|
{
|
|
if (&right != this) {
|
|
// These are all shallow pointer copies - yes, yes, yes horrible crime.
|
|
speciesName = right.speciesName;
|
|
if (right.ionConductivity) {
|
|
ionConductivity = (right.ionConductivity)->duplMyselfAsLTPspecies();
|
|
}
|
|
|
|
if (right.thermalConductivity) {
|
|
thermalConductivity = (right.thermalConductivity)->duplMyselfAsLTPspecies();
|
|
}
|
|
if (right.electConductivity) {
|
|
electConductivity = (right.electConductivity)->duplMyselfAsLTPspecies();
|
|
}
|
|
if (right.defectDiffusivity) {
|
|
defectDiffusivity = (right.defectDiffusivity)->duplMyselfAsLTPspecies();
|
|
}
|
|
if (right.defectActivity) {
|
|
defectActivity = (right.defectActivity)->duplMyselfAsLTPspecies();
|
|
}
|
|
}
|
|
return *this;
|
|
}
|
|
|
|
SolidTransportData::~SolidTransportData()
|
|
{
|
|
delete ionConductivity;
|
|
delete thermalConductivity;
|
|
delete electConductivity;
|
|
delete defectDiffusivity;
|
|
delete defectActivity;
|
|
}
|
|
|
|
}
|