[1D] Refactored Domain1D::save and Domain1D::restore
Derived class implementations now call the parent class method to save/restore information represented in the parent class.
This commit is contained in:
parent
65fbb10bda
commit
01bc55e1bb
6 changed files with 70 additions and 57 deletions
|
|
@ -389,18 +389,30 @@ public:
|
||||||
|
|
||||||
//! Save the current solution for this domain into an XML_Node
|
//! Save the current solution for this domain into an XML_Node
|
||||||
/*!
|
/*!
|
||||||
* Base class version of the general domain1D save function. This
|
* Base class version of the general domain1D save function. Derived
|
||||||
* base class version will throw an error condition. Inherited classes
|
* classes should call the base class method in addition to saving their
|
||||||
* will know how to save the solution vector.
|
* own data.
|
||||||
*
|
*
|
||||||
* @param o XML_Node to save the solution to.
|
* @param o XML_Node to save the solution to.
|
||||||
* @param sol Current value of the solution vector.
|
* @param sol Current value of the solution vector.
|
||||||
* The object will pick out which part of the solution
|
* The object will pick out which part of the solution
|
||||||
* vector pertains to this object.
|
* vector pertains to this object.
|
||||||
|
* @return XML_Node created to represent this domain
|
||||||
*/
|
*/
|
||||||
virtual void save(XML_Node& o, const doublereal* const sol) {
|
virtual XML_Node& save(XML_Node& o, const doublereal* const sol);
|
||||||
throw CanteraError("Domain1D::save","base class method called");
|
|
||||||
}
|
//! Restore the solution for this domain from an XML_Node
|
||||||
|
/*!
|
||||||
|
* Base class version of the general Domain1D restore function. Derived
|
||||||
|
* classes should call the base class method in addition to restoring
|
||||||
|
* their own data.
|
||||||
|
*
|
||||||
|
* @param o XML_Node for this domain
|
||||||
|
* @param soln Current value of the solution vector, local to this object.
|
||||||
|
* @param loglevel 0 to suppress all output; 1 to show warnings; 2 for
|
||||||
|
* verbose output
|
||||||
|
*/
|
||||||
|
virtual void restore(const XML_Node& dom, doublereal* soln, int loglevel);
|
||||||
|
|
||||||
size_t size() const {
|
size_t size() const {
|
||||||
return m_nv*m_points;
|
return m_nv*m_points;
|
||||||
|
|
@ -531,8 +543,6 @@ public:
|
||||||
virtual void showSolution_s(std::ostream& s, const doublereal* x) {}
|
virtual void showSolution_s(std::ostream& s, const doublereal* x) {}
|
||||||
virtual void showSolution(const doublereal* x);
|
virtual void showSolution(const doublereal* x);
|
||||||
|
|
||||||
virtual void restore(const XML_Node& dom, doublereal* soln, int loglevel) {}
|
|
||||||
|
|
||||||
doublereal z(size_t jlocal) const {
|
doublereal z(size_t jlocal) const {
|
||||||
return m_z[jlocal];
|
return m_z[jlocal];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -186,7 +186,7 @@ public:
|
||||||
virtual void init();
|
virtual void init();
|
||||||
virtual void eval(size_t jg, doublereal* xg, doublereal* rg,
|
virtual void eval(size_t jg, doublereal* xg, doublereal* rg,
|
||||||
integer* diagg, doublereal rdt);
|
integer* diagg, doublereal rdt);
|
||||||
virtual void save(XML_Node& o, const doublereal* const soln);
|
virtual XML_Node& save(XML_Node& o, const doublereal* const soln);
|
||||||
virtual void restore(const XML_Node& dom, doublereal* soln, int loglevel);
|
virtual void restore(const XML_Node& dom, doublereal* soln, int loglevel);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
@ -221,7 +221,7 @@ public:
|
||||||
virtual void eval(size_t jg, doublereal* xg, doublereal* rg,
|
virtual void eval(size_t jg, doublereal* xg, doublereal* rg,
|
||||||
integer* diagg, doublereal rdt);
|
integer* diagg, doublereal rdt);
|
||||||
|
|
||||||
virtual void save(XML_Node& o, const doublereal* const soln);
|
virtual XML_Node& save(XML_Node& o, const doublereal* const soln);
|
||||||
virtual void restore(const XML_Node& dom, doublereal* soln, int loglevel);
|
virtual void restore(const XML_Node& dom, doublereal* soln, int loglevel);
|
||||||
virtual void _finalize(const doublereal* x) {}
|
virtual void _finalize(const doublereal* x) {}
|
||||||
virtual void _getInitialSoln(doublereal* x) {
|
virtual void _getInitialSoln(doublereal* x) {
|
||||||
|
|
@ -253,7 +253,7 @@ public:
|
||||||
virtual void eval(size_t jg, doublereal* xg, doublereal* rg,
|
virtual void eval(size_t jg, doublereal* xg, doublereal* rg,
|
||||||
integer* diagg, doublereal rdt);
|
integer* diagg, doublereal rdt);
|
||||||
|
|
||||||
virtual void save(XML_Node& o, const doublereal* const soln);
|
virtual XML_Node& save(XML_Node& o, const doublereal* const soln);
|
||||||
virtual void restore(const XML_Node& dom, doublereal* soln, int loglevel);
|
virtual void restore(const XML_Node& dom, doublereal* soln, int loglevel);
|
||||||
virtual void _finalize(const doublereal* x) {
|
virtual void _finalize(const doublereal* x) {
|
||||||
; //m_temp = x[0];
|
; //m_temp = x[0];
|
||||||
|
|
@ -286,7 +286,7 @@ public:
|
||||||
virtual void eval(size_t jg, doublereal* xg, doublereal* rg,
|
virtual void eval(size_t jg, doublereal* xg, doublereal* rg,
|
||||||
integer* diagg, doublereal rdt);
|
integer* diagg, doublereal rdt);
|
||||||
|
|
||||||
virtual void save(XML_Node& o, const doublereal* const soln);
|
virtual XML_Node& save(XML_Node& o, const doublereal* const soln);
|
||||||
virtual void restore(const XML_Node& dom, doublereal* soln, int loglevel);
|
virtual void restore(const XML_Node& dom, doublereal* soln, int loglevel);
|
||||||
virtual void _finalize(const doublereal* x) {
|
virtual void _finalize(const doublereal* x) {
|
||||||
; //m_temp = x[0];
|
; //m_temp = x[0];
|
||||||
|
|
@ -340,7 +340,7 @@ public:
|
||||||
virtual void init();
|
virtual void init();
|
||||||
virtual void eval(size_t jg, doublereal* xg, doublereal* rg,
|
virtual void eval(size_t jg, doublereal* xg, doublereal* rg,
|
||||||
integer* diagg, doublereal rdt);
|
integer* diagg, doublereal rdt);
|
||||||
virtual void save(XML_Node& o, const doublereal* const soln);
|
virtual XML_Node& save(XML_Node& o, const doublereal* const soln);
|
||||||
virtual void restore(const XML_Node& dom, doublereal* soln, int loglevel);
|
virtual void restore(const XML_Node& dom, doublereal* soln, int loglevel);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
@ -375,7 +375,7 @@ public:
|
||||||
virtual void eval(size_t jg, doublereal* xg, doublereal* rg,
|
virtual void eval(size_t jg, doublereal* xg, doublereal* rg,
|
||||||
integer* diagg, doublereal rdt);
|
integer* diagg, doublereal rdt);
|
||||||
|
|
||||||
virtual void save(XML_Node& o, const doublereal* const soln);
|
virtual XML_Node& save(XML_Node& o, const doublereal* const soln);
|
||||||
virtual void restore(const XML_Node& dom, doublereal* soln, int loglevel);
|
virtual void restore(const XML_Node& dom, doublereal* soln, int loglevel);
|
||||||
|
|
||||||
virtual void _getInitialSoln(doublereal* x) {
|
virtual void _getInitialSoln(doublereal* x) {
|
||||||
|
|
@ -438,7 +438,7 @@ public:
|
||||||
virtual void eval(size_t jg, doublereal* xg, doublereal* rg,
|
virtual void eval(size_t jg, doublereal* xg, doublereal* rg,
|
||||||
integer* diagg, doublereal rdt);
|
integer* diagg, doublereal rdt);
|
||||||
|
|
||||||
virtual void save(XML_Node& o, const doublereal* const soln);
|
virtual XML_Node& save(XML_Node& o, const doublereal* const soln);
|
||||||
virtual void restore(const XML_Node& dom, doublereal* soln, int loglevel);
|
virtual void restore(const XML_Node& dom, doublereal* soln, int loglevel);
|
||||||
|
|
||||||
virtual void _getInitialSoln(doublereal* x) {
|
virtual void _getInitialSoln(doublereal* x) {
|
||||||
|
|
|
||||||
|
|
@ -190,7 +190,7 @@ public:
|
||||||
* The object will pick out which part of the solution
|
* The object will pick out which part of the solution
|
||||||
* vector pertains to this object.
|
* vector pertains to this object.
|
||||||
*/
|
*/
|
||||||
virtual void save(XML_Node& o, const doublereal* const sol);
|
virtual XML_Node& save(XML_Node& o, const doublereal* const sol);
|
||||||
|
|
||||||
virtual void restore(const XML_Node& dom, doublereal* soln,
|
virtual void restore(const XML_Node& dom, doublereal* soln,
|
||||||
int loglevel);
|
int loglevel);
|
||||||
|
|
|
||||||
|
|
@ -122,6 +122,18 @@ eval(size_t jg, doublereal* xg, doublereal* rg,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
XML_Node& Domain1D::save(XML_Node& o, const doublereal* const sol)
|
||||||
|
{
|
||||||
|
XML_Node& d = o.addChild("domain");
|
||||||
|
d.addAttribute("points", nPoints());
|
||||||
|
d.addAttribute("components", nComponents());
|
||||||
|
d.addAttribute("id", id());
|
||||||
|
return d;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Domain1D::restore(const XML_Node& dom, doublereal* soln, int loglevel)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
// called to set up initial grid, and after grid refinement
|
// called to set up initial grid, and after grid refinement
|
||||||
void Domain1D::setupGrid(size_t n, const doublereal* z)
|
void Domain1D::setupGrid(size_t n, const doublereal* z)
|
||||||
|
|
|
||||||
|
|
@ -754,7 +754,7 @@ size_t StFlow::componentIndex(const std::string& name) const
|
||||||
|
|
||||||
void StFlow::restore(const XML_Node& dom, doublereal* soln, int loglevel)
|
void StFlow::restore(const XML_Node& dom, doublereal* soln, int loglevel)
|
||||||
{
|
{
|
||||||
|
Domain1D::restore(dom, soln, loglevel);
|
||||||
vector<string> ignored;
|
vector<string> ignored;
|
||||||
size_t nsp = m_thermo->nSpecies();
|
size_t nsp = m_thermo->nSpecies();
|
||||||
vector_int did_species(nsp, 0);
|
vector_int did_species(nsp, 0);
|
||||||
|
|
@ -891,17 +891,14 @@ void StFlow::restore(const XML_Node& dom, doublereal* soln, int loglevel)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void StFlow::save(XML_Node& o, const doublereal* const sol)
|
XML_Node& StFlow::save(XML_Node& o, const doublereal* const sol)
|
||||||
{
|
{
|
||||||
size_t k;
|
size_t k;
|
||||||
|
|
||||||
Array2D soln(m_nv, m_points, sol + loc());
|
Array2D soln(m_nv, m_points, sol + loc());
|
||||||
|
|
||||||
XML_Node& flow = (XML_Node&)o.addChild("domain");
|
XML_Node& flow = Domain1D::save(o, sol);
|
||||||
flow.addAttribute("type",flowType());
|
flow.addAttribute("type",flowType());
|
||||||
flow.addAttribute("id",m_id);
|
|
||||||
flow.addAttribute("points", double(m_points));
|
|
||||||
flow.addAttribute("components", double(m_nv));
|
|
||||||
|
|
||||||
if (m_desc != "") {
|
if (m_desc != "") {
|
||||||
addString(flow,"description",m_desc);
|
addString(flow,"description",m_desc);
|
||||||
|
|
@ -936,6 +933,7 @@ void StFlow::save(XML_Node& o, const doublereal* const sol)
|
||||||
addFloatArray(gv,m_thermo->speciesName(k),
|
addFloatArray(gv,m_thermo->speciesName(k),
|
||||||
x.size(),DATA_PTR(x),"","massFraction",0.0,1.0);
|
x.size(),DATA_PTR(x),"","massFraction",0.0,1.0);
|
||||||
}
|
}
|
||||||
|
return flow;
|
||||||
}
|
}
|
||||||
|
|
||||||
void StFlow::setJac(MultiJac* jac)
|
void StFlow::setJac(MultiJac* jac)
|
||||||
|
|
|
||||||
|
|
@ -238,15 +238,12 @@ eval(size_t jg, doublereal* xg, doublereal* rg,
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Inlet1D::
|
XML_Node& Inlet1D::
|
||||||
save(XML_Node& o, const doublereal* const soln)
|
save(XML_Node& o, const doublereal* const soln)
|
||||||
{
|
{
|
||||||
const doublereal* s = soln + loc();
|
const doublereal* s = soln + loc();
|
||||||
XML_Node& inlt = o.addChild("domain");
|
XML_Node& inlt = Domain1D::save(o, soln);
|
||||||
inlt.addAttribute("id",id());
|
|
||||||
inlt.addAttribute("points",1);
|
|
||||||
inlt.addAttribute("type","inlet");
|
inlt.addAttribute("type","inlet");
|
||||||
inlt.addAttribute("components", double(nComponents()));
|
|
||||||
for (size_t k = 0; k < nComponents(); k++) {
|
for (size_t k = 0; k < nComponents(); k++) {
|
||||||
ctml::addFloat(inlt, componentName(k), s[k], "", "",lowerBound(k), upperBound(k));
|
ctml::addFloat(inlt, componentName(k), s[k], "", "",lowerBound(k), upperBound(k));
|
||||||
}
|
}
|
||||||
|
|
@ -254,11 +251,13 @@ save(XML_Node& o, const doublereal* const soln)
|
||||||
ctml::addFloat(inlt, "massFraction", m_yin[k], "",
|
ctml::addFloat(inlt, "massFraction", m_yin[k], "",
|
||||||
m_flow->phase().speciesName(k));
|
m_flow->phase().speciesName(k));
|
||||||
}
|
}
|
||||||
|
return inlt;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Inlet1D::
|
void Inlet1D::
|
||||||
restore(const XML_Node& dom, doublereal* soln, int loglevel)
|
restore(const XML_Node& dom, doublereal* soln, int loglevel)
|
||||||
{
|
{
|
||||||
|
Domain1D::restore(dom, soln, loglevel);
|
||||||
soln[0] = m_mdot = ctml::getFloat(dom, "mdot", "massflowrate");
|
soln[0] = m_mdot = ctml::getFloat(dom, "mdot", "massflowrate");
|
||||||
soln[1] = m_temp = ctml::getFloat(dom, "temperature", "temperature");
|
soln[1] = m_temp = ctml::getFloat(dom, "temperature", "temperature");
|
||||||
|
|
||||||
|
|
@ -325,19 +324,18 @@ eval(size_t jg, doublereal* xg, doublereal* rg,
|
||||||
diag[0] = 0;
|
diag[0] = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Empty1D::
|
XML_Node& Empty1D::
|
||||||
save(XML_Node& o, const doublereal* const soln)
|
save(XML_Node& o, const doublereal* const soln)
|
||||||
{
|
{
|
||||||
XML_Node& symm = o.addChild("domain");
|
XML_Node& symm = Domain1D::save(o, soln);
|
||||||
symm.addAttribute("id",id());
|
|
||||||
symm.addAttribute("points",1);
|
|
||||||
symm.addAttribute("type","empty");
|
symm.addAttribute("type","empty");
|
||||||
symm.addAttribute("components", double(nComponents()));
|
return symm;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Empty1D::
|
void Empty1D::
|
||||||
restore(const XML_Node& dom, doublereal* soln, int loglevel)
|
restore(const XML_Node& dom, doublereal* soln, int loglevel)
|
||||||
{
|
{
|
||||||
|
Domain1D::restore(dom, soln, loglevel);
|
||||||
resize(1,1);
|
resize(1,1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -416,19 +414,18 @@ eval(size_t jg, doublereal* xg, doublereal* rg,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void Symm1D::
|
XML_Node& Symm1D::
|
||||||
save(XML_Node& o, const doublereal* const soln)
|
save(XML_Node& o, const doublereal* const soln)
|
||||||
{
|
{
|
||||||
XML_Node& symm = o.addChild("domain");
|
XML_Node& symm = Domain1D::save(o, soln);
|
||||||
symm.addAttribute("id",id());
|
|
||||||
symm.addAttribute("points",1);
|
|
||||||
symm.addAttribute("type","symmetry");
|
symm.addAttribute("type","symmetry");
|
||||||
symm.addAttribute("components", double(nComponents()));
|
return symm;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Symm1D::
|
void Symm1D::
|
||||||
restore(const XML_Node& dom, doublereal* soln, int loglevel)
|
restore(const XML_Node& dom, doublereal* soln, int loglevel)
|
||||||
{
|
{
|
||||||
|
Domain1D::restore(dom, soln, loglevel);
|
||||||
resize(1,1);
|
resize(1,1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -526,19 +523,18 @@ eval(size_t jg, doublereal* xg, doublereal* rg,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void Outlet1D::
|
XML_Node& Outlet1D::
|
||||||
save(XML_Node& o, const doublereal* const soln)
|
save(XML_Node& o, const doublereal* const soln)
|
||||||
{
|
{
|
||||||
XML_Node& outlt = o.addChild("domain");
|
XML_Node& outlt = Domain1D::save(o, soln);
|
||||||
outlt.addAttribute("id",id());
|
|
||||||
outlt.addAttribute("points",1);
|
|
||||||
outlt.addAttribute("type","outlet");
|
outlt.addAttribute("type","outlet");
|
||||||
outlt.addAttribute("components", double(nComponents()));
|
return outlt;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Outlet1D::
|
void Outlet1D::
|
||||||
restore(const XML_Node& dom, doublereal* soln, int loglevel)
|
restore(const XML_Node& dom, doublereal* soln, int loglevel)
|
||||||
{
|
{
|
||||||
|
Domain1D::restore(dom, soln, loglevel);
|
||||||
resize(1,1);
|
resize(1,1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -675,24 +671,23 @@ eval(size_t jg, doublereal* xg, doublereal* rg,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void OutletRes1D::
|
XML_Node& OutletRes1D::
|
||||||
save(XML_Node& o, const doublereal* const soln)
|
save(XML_Node& o, const doublereal* const soln)
|
||||||
{
|
{
|
||||||
XML_Node& outlt = o.addChild("domain");
|
XML_Node& outlt = Domain1D::save(o, soln);
|
||||||
outlt.addAttribute("id",id());
|
|
||||||
outlt.addAttribute("points",1);
|
|
||||||
outlt.addAttribute("type","outletres");
|
outlt.addAttribute("type","outletres");
|
||||||
outlt.addAttribute("components", double(nComponents()));
|
|
||||||
ctml::addFloat(outlt, "temperature", m_temp, "K");
|
ctml::addFloat(outlt, "temperature", m_temp, "K");
|
||||||
for (size_t k=0; k < m_nsp; k++) {
|
for (size_t k=0; k < m_nsp; k++) {
|
||||||
ctml::addFloat(outlt, "massFraction", m_yres[k], "",
|
ctml::addFloat(outlt, "massFraction", m_yres[k], "",
|
||||||
m_flow->phase().speciesName(k));
|
m_flow->phase().speciesName(k));
|
||||||
}
|
}
|
||||||
|
return outlt;
|
||||||
}
|
}
|
||||||
|
|
||||||
void OutletRes1D::
|
void OutletRes1D::
|
||||||
restore(const XML_Node& dom, doublereal* soln, int loglevel)
|
restore(const XML_Node& dom, doublereal* soln, int loglevel)
|
||||||
{
|
{
|
||||||
|
Domain1D::restore(dom, soln, loglevel);
|
||||||
m_temp = ctml::getFloat(dom, "temperature");
|
m_temp = ctml::getFloat(dom, "temperature");
|
||||||
|
|
||||||
m_yres.assign(m_nsp, 0.0);
|
m_yres.assign(m_nsp, 0.0);
|
||||||
|
|
@ -777,24 +772,23 @@ eval(size_t jg, doublereal* xg, doublereal* rg,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Surf1D::
|
XML_Node& Surf1D::
|
||||||
save(XML_Node& o, const doublereal* const soln)
|
save(XML_Node& o, const doublereal* const soln)
|
||||||
{
|
{
|
||||||
const doublereal* s = soln + loc();
|
const doublereal* s = soln + loc();
|
||||||
//XML_Node& inlt = o.addChild("inlet");
|
//XML_Node& inlt = o.addChild("inlet");
|
||||||
XML_Node& inlt = o.addChild("domain");
|
XML_Node& inlt = Domain1D::save(o, soln);
|
||||||
inlt.addAttribute("id",id());
|
|
||||||
inlt.addAttribute("points",1);
|
|
||||||
inlt.addAttribute("type","surface");
|
inlt.addAttribute("type","surface");
|
||||||
inlt.addAttribute("components", double(nComponents()));
|
|
||||||
for (size_t k = 0; k < nComponents(); k++) {
|
for (size_t k = 0; k < nComponents(); k++) {
|
||||||
ctml::addFloat(inlt, componentName(k), s[k], "", "",0.0, 1.0);
|
ctml::addFloat(inlt, componentName(k), s[k], "", "",0.0, 1.0);
|
||||||
}
|
}
|
||||||
|
return inlt;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Surf1D::
|
void Surf1D::
|
||||||
restore(const XML_Node& dom, doublereal* soln, int loglevel)
|
restore(const XML_Node& dom, doublereal* soln, int loglevel)
|
||||||
{
|
{
|
||||||
|
Domain1D::restore(dom, soln, loglevel);
|
||||||
soln[0] = m_temp = ctml::getFloat(dom, "temperature", "temperature");
|
soln[0] = m_temp = ctml::getFloat(dom, "temperature", "temperature");
|
||||||
resize(1,1);
|
resize(1,1);
|
||||||
}
|
}
|
||||||
|
|
@ -938,25 +932,24 @@ eval(size_t jg, doublereal* xg, doublereal* rg,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ReactingSurf1D::
|
XML_Node& ReactingSurf1D::
|
||||||
save(XML_Node& o, const doublereal* const soln)
|
save(XML_Node& o, const doublereal* const soln)
|
||||||
{
|
{
|
||||||
const doublereal* s = soln + loc();
|
const doublereal* s = soln + loc();
|
||||||
XML_Node& dom = o.addChild("domain");
|
XML_Node& dom = Domain1D::save(o, soln);
|
||||||
dom.addAttribute("id",id());
|
|
||||||
dom.addAttribute("points",1);
|
|
||||||
dom.addAttribute("type","surface");
|
dom.addAttribute("type","surface");
|
||||||
dom.addAttribute("components", double(nComponents()));
|
|
||||||
ctml::addFloat(dom, "temperature", s[0], "K");
|
ctml::addFloat(dom, "temperature", s[0], "K");
|
||||||
for (size_t k=0; k < m_nsp; k++) {
|
for (size_t k=0; k < m_nsp; k++) {
|
||||||
ctml::addFloat(dom, "coverage", s[k+1], "",
|
ctml::addFloat(dom, "coverage", s[k+1], "",
|
||||||
m_sphase->speciesName(k));
|
m_sphase->speciesName(k));
|
||||||
}
|
}
|
||||||
|
return dom;
|
||||||
}
|
}
|
||||||
|
|
||||||
void ReactingSurf1D::
|
void ReactingSurf1D::
|
||||||
restore(const XML_Node& dom, doublereal* soln, int loglevel)
|
restore(const XML_Node& dom, doublereal* soln, int loglevel)
|
||||||
{
|
{
|
||||||
|
Domain1D::restore(dom, soln, loglevel);
|
||||||
soln[0] = m_temp = ctml::getFloat(dom, "temperature");
|
soln[0] = m_temp = ctml::getFloat(dom, "temperature");
|
||||||
|
|
||||||
m_fixed_cov.assign(m_nsp, 0.0);
|
m_fixed_cov.assign(m_nsp, 0.0);
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue