21 const int LeftInlet = 1;
22 const int RightInlet = -1;
54 virtual size_t nSpecies() {
79 virtual doublereal
mdot() {
83 virtual void setupGrid(
size_t n,
const doublereal* z) {}
88 StFlow* m_flow_left, *m_flow_right;
89 size_t m_ilr, m_left_nv, m_right_nv;
90 size_t m_left_loc, m_right_loc;
92 size_t m_left_nsp, m_right_nsp;
93 size_t m_sp_left, m_sp_right;
94 size_t m_start_left, m_start_right;
96 doublereal m_temp, m_mdot;
122 virtual size_t nSpecies() {
132 virtual void eval(
size_t jg, doublereal* xg, doublereal* rg,
133 integer* diagg, doublereal rdt);
135 virtual void restore(
const XML_Node& dom, doublereal* soln,
int loglevel);
161 virtual void eval(
size_t jg, doublereal* xg, doublereal* rg,
162 integer* diagg, doublereal rdt);
165 virtual void restore(
const XML_Node& dom, doublereal* soln,
int loglevel);
182 virtual void eval(
size_t jg, doublereal* xg, doublereal* rg,
183 integer* diagg, doublereal rdt);
186 virtual void restore(
const XML_Node& dom, doublereal* soln,
int loglevel);
198 m_type = cOutletType;
203 virtual void eval(
size_t jg, doublereal* xg, doublereal* rg,
204 integer* diagg, doublereal rdt);
207 virtual void restore(
const XML_Node& dom, doublereal* soln,
int loglevel);
222 virtual size_t nSpecies() {
232 virtual void eval(
size_t jg, doublereal* xg, doublereal* rg,
233 integer* diagg, doublereal rdt);
235 virtual void restore(
const XML_Node& dom, doublereal* soln,
int loglevel);
259 virtual void eval(
size_t jg, doublereal* xg, doublereal* rg,
260 integer* diagg, doublereal rdt);
263 virtual void restore(
const XML_Node& dom, doublereal* soln,
int loglevel);
265 virtual void showSolution_s(std::ostream& s,
const double* x);
268 writelog(
" Temperature: {:10.4g} K \n\n", m_temp);
283 void enableCoverageEquations(
bool docov) {
292 virtual void eval(
size_t jg, doublereal* xg, doublereal* rg,
293 integer* diagg, doublereal rdt);
296 virtual void restore(
const XML_Node& dom, doublereal* soln,
int loglevel);
303 std::copy(x, x+m_nsp, m_fixed_cov.begin());
311 size_t m_surfindex, m_nsp;
virtual void eval(size_t jg, doublereal *xg, doublereal *rg, integer *diagg, doublereal rdt)
Evaluate the residual function at point j.
Header for a simple thermodynamics model of a surface phase derived from ThermoPhase, assuming an ideal solution model (see Thermodynamic Properties and class SurfPhase).
virtual doublereal mdot()
The total mass flow rate [kg/m2/s].
virtual void restore(const XML_Node &dom, doublereal *soln, int loglevel)
Restore the solution for this domain from an XML_Node.
This class represents 1D flow domains that satisfy the one-dimensional similarity solution for chemic...
virtual void restore(const XML_Node &dom, doublereal *soln, int loglevel)
Restore the solution for this domain from an XML_Node.
An error indicating that an unimplemented function has been called.
virtual void setMoleFractions(const std::string &xin)
Set the mole fractions by specifying a std::string.
virtual void eval(size_t jg, doublereal *xg, doublereal *rg, integer *diagg, doublereal rdt)
Evaluate the residual function at point j.
virtual void showSolution(const doublereal *x)
Print the solution.
virtual XML_Node & save(XML_Node &o, const doublereal *const soln)
Save the current solution for this domain into an XML_Node.
virtual void restore(const XML_Node &dom, doublereal *soln, int loglevel)
Restore the solution for this domain from an XML_Node.
void writelog(const std::string &fmt, const Args &... args)
Write a formatted message to the screen.
virtual void setMoleFractions(const std::string &xin)
Set the mole fractions by specifying a std::string.
Class XML_Node is a tree-based representation of the contents of an XML file.
virtual void setTemperature(doublereal t)
Set the temperature.
virtual doublereal massFraction(size_t k)
Mass fraction of species k.
virtual void showSolution(const doublereal *x)
Print the solution.
virtual void eval(size_t jg, doublereal *xg, doublereal *rg, integer *diagg, doublereal rdt)
Evaluate the residual function at point j.
A terminator that does nothing.
virtual void eval(size_t jg, doublereal *xg, doublereal *rg, integer *diagg, doublereal rdt)
Evaluate the residual function at point j.
virtual doublereal massFraction(size_t k)
Mass fraction of species k.
virtual doublereal temperature()
Temperature [K].
virtual XML_Node & save(XML_Node &o, const doublereal *const soln)
Save the current solution for this domain into an XML_Node.
virtual XML_Node & save(XML_Node &o, const doublereal *const soln)
Save the current solution for this domain into an XML_Node.
virtual void showSolution(const double *x)
Print the solution.
Base class for a phase with thermodynamic properties.
virtual void restore(const XML_Node &dom, doublereal *soln, int loglevel)
Restore the solution for this domain from an XML_Node.
virtual void _getInitialSoln(doublereal *x)
Writes some or all initial solution values into the global solution array, beginning at the location ...
Base class for one-dimensional domains.
virtual XML_Node & save(XML_Node &o, const doublereal *const soln)
Save the current solution for this domain into an XML_Node.
A simple thermodynamic model for a surface phase, assuming an ideal solution model.
virtual void eval(size_t jg, doublereal *xg, doublereal *rg, integer *diagg, doublereal rdt)
Evaluate the residual function at point j.
virtual void showSolution(const doublereal *x)
Print the solution.
void getCoverages(doublereal *theta) const
Return a vector of surface coverages.
virtual XML_Node & save(XML_Node &o, const doublereal *const soln)
Save the current solution for this domain into an XML_Node.
A kinetics manager for heterogeneous reaction mechanisms.
virtual void setMdot(doublereal mdot)
Set the total mass flow rate.
virtual void setSpreadRate(doublereal V0)
set spreading rate
virtual void setupGrid(size_t n, const doublereal *z)
called to set up initial grid, and after grid refinement
An outlet with specified composition.
virtual double spreadRate()
spreading rate
The base class for boundaries between one-dimensional spatial domains.
virtual void setMoleFractions(const doublereal *xin)
Set the mole fractions by specifying an array.
virtual XML_Node & save(XML_Node &o, const doublereal *const soln)
Save the current solution for this domain into an XML_Node.
virtual void setMoleFractions(const std::string &xin)
Set the mole fractions by specifying a std::string.
virtual void eval(size_t jg, doublereal *xg, doublereal *rg, integer *diagg, doublereal rdt)
Evaluate the residual function at point j.
virtual void showSolution(const doublereal *x)
Print the solution.
virtual void eval(size_t jg, doublereal *xg, doublereal *rg, integer *diagg, doublereal rdt)
Evaluate the residual function at point j.
std::vector< double > vector_fp
Turn on the use of stl vectors for the basic array type within cantera Vector of doubles.
virtual void restore(const XML_Node &dom, doublereal *soln, int loglevel)
Restore the solution for this domain from an XML_Node.
virtual std::string componentName(size_t n) const
Name of the nth component. May be overloaded.
virtual void _finalize(const doublereal *x)
In some cases, a domain may need to set parameters that depend on the initial solution estimate...
virtual void restore(const XML_Node &dom, doublereal *soln, int loglevel)
Restore the solution for this domain from an XML_Node.
Namespace for the Cantera kernel.
virtual XML_Node & save(XML_Node &o, const doublereal *const soln)
Save the current solution for this domain into an XML_Node.
virtual doublereal massFraction(size_t k)
Mass fraction of species k.
virtual void restore(const XML_Node &dom, doublereal *soln, int loglevel)
Restore the solution for this domain from an XML_Node.
virtual void resetBadValues(double *xg)