Added documentation for the save() function for domains.

Made the save function for domains use a const solution vector.
This commit is contained in:
Harry Moffat 2009-10-15 21:52:32 +00:00
parent 686fb46591
commit c9ff753168
9 changed files with 554 additions and 514 deletions

File diff suppressed because it is too large Load diff

View file

@ -162,7 +162,7 @@ namespace Cantera {
virtual void init();
virtual void eval(int jg, doublereal* xg, doublereal* rg,
integer* diagg, doublereal rdt);
virtual void save(XML_Node& o, doublereal* soln);
virtual void save(XML_Node& o, const doublereal * const soln);
virtual void restore(const XML_Node& dom, doublereal* soln);
protected:
@ -196,7 +196,7 @@ namespace Cantera {
virtual void eval(int jg, doublereal* xg, doublereal* rg,
integer* diagg, doublereal rdt);
virtual void save(XML_Node& o, doublereal* soln);
virtual void save(XML_Node& o, const doublereal * const soln);
virtual void restore(const XML_Node& dom, doublereal* soln);
virtual void _finalize(const doublereal* x) {}
virtual void _getInitialSoln(doublereal* x) {
@ -227,7 +227,7 @@ namespace Cantera {
virtual void eval(int jg, doublereal* xg, doublereal* rg,
integer* diagg, doublereal rdt);
virtual void save(XML_Node& o, doublereal* soln);
virtual void save(XML_Node& o, const doublereal * const soln);
virtual void restore(const XML_Node& dom, doublereal* soln);
virtual void _finalize(const doublereal* x) {
; //m_temp = x[0];
@ -259,7 +259,7 @@ namespace Cantera {
virtual void eval(int jg, doublereal* xg, doublereal* rg,
integer* diagg, doublereal rdt);
virtual void save(XML_Node& o, doublereal* soln);
virtual void save(XML_Node& o, const doublereal * const soln);
virtual void restore(const XML_Node& dom, doublereal* soln);
virtual void _finalize(const doublereal* x) {
; //m_temp = x[0];
@ -306,7 +306,7 @@ namespace Cantera {
virtual void init();
virtual void eval(int jg, doublereal* xg, doublereal* rg,
integer* diagg, doublereal rdt);
virtual void save(XML_Node& o, doublereal* soln);
virtual void save(XML_Node& o, const doublereal * const soln);
virtual void restore(const XML_Node& dom, doublereal* soln);
protected:
@ -340,7 +340,7 @@ namespace Cantera {
virtual void eval(int jg, doublereal* xg, doublereal* rg,
integer* diagg, doublereal rdt);
virtual void save(XML_Node& o, doublereal* soln);
virtual void save(XML_Node& o, const doublereal * const soln);
virtual void restore(const XML_Node& dom, doublereal* soln);
virtual void _getInitialSoln(doublereal* x) {
@ -400,7 +400,7 @@ namespace Cantera {
virtual void eval(int jg, doublereal* xg, doublereal* rg,
integer* diagg, doublereal rdt);
virtual void save(XML_Node& o, doublereal* soln);
virtual void save(XML_Node& o, const doublereal * const soln);
virtual void restore(const XML_Node& dom, doublereal* soln);
virtual void _getInitialSoln(doublereal* x) {

View file

@ -221,7 +221,19 @@ namespace Cantera {
}
virtual void setJac(MultiJac* jac){}
virtual void save(XML_Node& o, doublereal* sol) {
//! Save the current solution for this domain into an XML_Node
/*!
* Base class version of the general domain1D save function. This
* base class version will throw an error condition. Inherited classes
* will know how to save the solution vector.
*
* @param o XML_Node to save the solution to.
* @param sol Current value of the solution vector.
* The object will pick out which part of the solution
* vector pertains to this object.
*/
virtual void save(XML_Node& o, const doublereal * const sol) {
throw CanteraError("Resid1D::save","base class method called");
}

View file

@ -544,7 +544,7 @@ namespace Cantera {
void Solid1D::save(XML_Node& o, doublereal* sol) {
void Solid1D::save(XML_Node& o, const doublereal * const sol) {
int k;
ArrayViewer soln(m_nv, m_points, sol + loc());

View file

@ -197,7 +197,15 @@ namespace Cantera {
virtual void showSolution(const doublereal* x);
virtual void save(XML_Node& o, doublereal* sol);
//! Save the current solution for this domain into an XML_Node
/*!
*
* @param o XML_Node to save the solution to.
* @param sol Current value of the solution vector.
* The object will pick out which part of the solution
* vector pertains to this object.
*/
virtual void save(XML_Node& o, const doublereal * const sol);
virtual void restore(XML_Node& dom, doublereal* soln);

View file

@ -1154,10 +1154,10 @@ namespace Cantera {
void StFlow::save(XML_Node& o, doublereal* sol) {
void StFlow::save(XML_Node& o, const doublereal * const sol) {
int k;
ArrayViewer soln(m_nv, m_points, sol + loc());
ArrayViewer soln(m_nv, m_points, const_cast<doublereal *>(sol) + loc());
XML_Node& flow = (XML_Node&)o.addChild("domain");
flow.addAttribute("type",flowType());

View file

@ -182,7 +182,15 @@ namespace Cantera {
virtual void showSolution(const doublereal* x);
virtual void save(XML_Node& o, doublereal* sol);
//! Save the current solution for this domain into an XML_Node
/*!
*
* @param o XML_Node to save the solution to.
* @param sol Current value of the solution vector.
* The object will pick out which part of the solution
* vector pertains to this object.
*/
virtual void save(XML_Node& o, const doublereal * const sol);
virtual void restore(const XML_Node& dom, doublereal* soln);

View file

@ -273,7 +273,7 @@ namespace Cantera {
}
}
virtual void save(XML_Node& o, doublereal* soln) {
virtual void save(XML_Node& o, const doublereal * const soln) {
doublereal* s = soln + loc();
XML_Node& surf = o.addChild("surface");
for (int k = 0; k < m_nsp; k++) {

View file

@ -242,8 +242,8 @@ namespace Cantera {
}
void Inlet1D::
save(XML_Node& o, doublereal* soln) {
doublereal* s = soln + loc();
save(XML_Node& o, const doublereal* const soln) {
const doublereal* s = soln + loc();
XML_Node& inlt = o.addChild("domain");
inlt.addAttribute("id",id());
inlt.addAttribute("points",1);
@ -305,7 +305,7 @@ namespace Cantera {
}
void Empty1D::
save(XML_Node& o, doublereal* soln) {
save(XML_Node& o, const doublereal * const soln) {
XML_Node& symm = o.addChild("domain");
symm.addAttribute("id",id());
symm.addAttribute("points",1);
@ -385,7 +385,7 @@ namespace Cantera {
void Symm1D::
save(XML_Node& o, doublereal* soln) {
save(XML_Node& o, const doublereal * const soln) {
XML_Node& symm = o.addChild("domain");
symm.addAttribute("id",id());
symm.addAttribute("points",1);
@ -480,7 +480,7 @@ namespace Cantera {
void Outlet1D::
save(XML_Node& o, doublereal* soln) {
save(XML_Node& o, const doublereal * const soln) {
XML_Node& outlt = o.addChild("domain");
outlt.addAttribute("id",id());
outlt.addAttribute("points",1);
@ -617,7 +617,7 @@ namespace Cantera {
void OutletRes1D::
save(XML_Node& o, doublereal* soln) {
save(XML_Node& o, const doublereal * const soln) {
XML_Node& outlt = o.addChild("domain");
outlt.addAttribute("id",id());
outlt.addAttribute("points",1);
@ -691,8 +691,8 @@ namespace Cantera {
}
void Surf1D::
save(XML_Node& o, doublereal* soln) {
doublereal* s = soln + loc();
save(XML_Node& o, const doublereal * const soln) {
const doublereal* s = soln + loc();
//XML_Node& inlt = o.addChild("inlet");
XML_Node& inlt = o.addChild("domain");
inlt.addAttribute("id",id());
@ -851,8 +851,8 @@ namespace Cantera {
}
void ReactingSurf1D::
save(XML_Node& o, doublereal* soln) {
doublereal* s = soln + loc();
save(XML_Node& o, const doublereal * const soln) {
const doublereal* s = soln + loc();
//XML_Node& inlt = o.addChild("inlet");
XML_Node& inlt = o.addChild("domain");
inlt.addAttribute("id",id());