#include <MultiReactionElectrochemical.h>

Public Member Functions | |
MultiReactionElectrochemical (Libpf::User::Defaults defaults, uint32_t id=0, Persistency *persistency=nullptr, Persistent *parent=nullptr, Persistent *root=nullptr) | |
Value | calceqconst (const Value &P0, const Value &P1, const Vector &x0, const Vector &x1) |
virtual void | calcE0 (const Value &P0, const Value &P1, const Vector &x0, const Vector &x1)=0 |
void | calculateEquilibrium (const Value &P0, const Value &P1) |
const std::string & | type (void) const |
![]() | |
MultiReaction (Libpf::User::Defaults defaults, uint32_t id=0, Persistency *persistency=nullptr, Persistent *parent=nullptr, Persistent *root=nullptr) | |
~MultiReaction (void) | |
ObjectiveNleAd * | objectiveFunction (void) |
returns a pointer to the model's objective function More... | |
void | initializeNonPersistents (void) |
estimates hidden, non-persistent unknowns from the current results More... | |
virtual void | calculate (int level=0) |
virtual void | setup (void) |
performs initializations required immediately before solution More... | |
Category | category (void) const |
return model Category More... | |
![]() | |
Model (Libpf::User::Defaults defaults, uint32_t id, Persistency *persistency, Persistent *parent, Persistent *root) | |
bool | isPristine (void) const |
void | unSetInput (void) |
wipes out all tags marked as inputs More... | |
void | reportMessages (void) |
recursively collect status of all sub-objects and report to parent More... | |
void | resetErrors (void) |
void | setWarning (std::string s) |
send new warning message to local queue More... | |
void | setError (std::string s) |
send new error message to local queue More... | |
void | reportWarning (std::string s) |
propagate warning message from sub-object to local queue More... | |
void | reportError (std::string s) |
propagate error message from sub-object to local queue More... | |
void | setCalculated (void) |
increments nCalculations counter and unsets pristinity More... | |
void | setPristineRecursive (void) |
force next calculation to restart as if the model had never been calculated during this runtime session, also for all contained objects More... | |
void | setPristine (void) |
force next calculation to restart as if the model had never been calculated during this runtime session More... | |
void | setRunTime (double t) |
set the run time More... | |
void | stash (void) const |
void | applyStash (void) |
void | clearStash (void) const |
clear the store cache More... | |
virtual int | maximumIterations (void) |
returns default maximum iterations for main computation; defaults to 200 More... | |
std::ostream & | print (std::ostream &os, bool strings, bool quantities, bool integers, bool recursive) const |
std::ostream & | printFull (std::ostream &) const |
print the model quantities, including derivative info, in text format to os More... | |
void | printHtml (const char *dir) const |
virtual void | printSvg (const char *fileName, bool tiny, bool raster, int offset) |
void | printSvgAll (const char *dir, bool tiny, bool raster, int offset, std::vector< std::string > &list) |
Recursively output the model and all descendants in SVG format as separate id.SVG files in the directory dir. More... | |
virtual void | printXml (const char *dir, Model *precedingSibling, Model *followingSibling) const |
void | printXmlToc (std::ofstream &toc, int indent) const |
void | printOds (std::ofstream &ods) const |
![]() | |
Object (Libpf::User::Defaults defaults, uint32_t id=0, Persistency *persistency=nullptr, Persistent *parent=nullptr, Persistent *root=nullptr) | |
Libpf::User::Defaults | defaults (void) const |
void | readVariables (Persistency *persistency) |
reads Q, QV and QM from persistency More... | |
void | readParameters (Persistency *persistency) |
reads I, IV, S and SV from persistency More... | |
Node & | operator= (const Node &) |
copy assignment operator More... | |
Node & | operator= (Node &&other) |
move assignment More... | |
~Object (void) | |
Object & | at (const std::string &fullRelativeTag) |
const Object & | at (const std::string &fullRelativeTag) const |
Object & | at (const std::string &fullRelativeTag, int index) |
const Value & | Q (const std::string &tag) const |
const Value & | Q (const std::string &tag, int index) const |
const Value & | Q (const std::string &tag, int row, int column) const |
Value & | Q (const std::string &tag) |
Value & | Q (const std::string &tag, int index) |
Value & | Q (const std::string &tag, int row, int column) |
const Value & | Q (const std::string &tag, std::string componentName) const |
Value & | Q (const std::string &tag, std::string componentName) |
const Value & | Q (const std::string &tag, int index, std::string componentName) const |
Value & | Q (const std::string &tag, int index, std::string componentName) |
const int & | I (const std::string &tag) const |
const int & | I (const std::string &tag, int index) const |
int & | I (const std::string &tag) |
int & | I (const std::string &tag, int index) |
const std::string & | S (const std::string &tag) const |
const std::string & | S (const std::string &tag, int index) const |
std::string & | S (const std::string &tag) |
std::string & | S (const std::string &tag, int index) |
bool | operator!= (const Object &rhs) const |
bool | operator== (const Object &rhs) const |
bool | compareParameters (const Object &rhs) const |
bool | existsI (const std::string &tag) const |
bool | existsS (const std::string &tag) const |
bool | existsQ (const std::string &tag) const |
const RangeQuantities | quantities (void) |
const ConstRangeQuantities | quantities (void) const |
![]() | |
Node (Libpf::User::Defaults defaults, uint32_t id=0, Persistency *persistency=nullptr, Persistent *parent=nullptr, Persistent *root=nullptr) | |
Node (const Node &other) | |
copy constructor More... | |
Node (Node &&other) | |
move constructor More... | |
virtual std::unique_ptr< Node > | clone (void) const |
~Node () | |
int | insert (Persistency *persistency) const |
int | update (Persistency *persistency) const |
void | restore (Persistency *persistency) |
void | remove (Persistency *persistency) const |
uint32_t | rootId (void) const |
uint32_t | range (void) const |
uint32_t | getId (void) |
returns the next available id and increments the internal counter More... | |
Node & | addChild (std::string type, uint32_t id, Persistency *persistency) |
Node & | addChild (std::string type, Libpf::User::Defaults defaults) |
Node & | addChild (const Node &child) |
Node & | addChild (std::unique_ptr< Node > child) |
std::unique_ptr< Node > | prune (const std::string &tag) |
const Node & | child (const std::string &tag) const |
Node & | at (const std::string &fullRelativeTag) |
const Node & | at (const std::string &fullRelativeTag) const |
uint32_t | descendants (void) const |
Persistent * | root (void) const |
void | renameChild (const std::string &oldName, const std::string &newName) |
bool | existsChild (std::string tag) const |
bool | exists (uint32_t id) |
Node & | search (uint32_t id) |
bool | operator!= (const Node &rhs) const |
bool | operator== (const Node &rhs) const |
bool | isRestored (void) const |
return whether the Node has just been retrieved from persistent storage More... | |
void | setIcon (std::string icon, double width, double height) |
bool | hasIcon (void) const |
std::string | iconName (bool raster) const |
double | iconWidth (void) const |
double | iconHeight (void) const |
const Range | children (void) |
const ConstRange | children (void) const |
![]() | |
Persistent (const std::string &tag, const std::string &description, Persistent *parent, uint32_t id) | |
main constructor More... | |
Persistent (const Persistent &) | |
copy constructor More... | |
Persistent & | operator= (const Persistent &) |
copy assignment More... | |
Persistent (Persistent &&other) | |
move constructor More... | |
Persistent & | operator= (Persistent &&other) |
move assignment More... | |
~Persistent (void) | |
uint32_t | id (void) const |
std::string | uuid (void) const |
uint32_t | parentId (void) const |
double | created_at (void) const |
double | updated_at (void) const |
void | updated_at (double u) const |
![]() | |
Item (const Item &other) | |
copy constructor copies all elements but parent which is set to nullptr More... | |
Item & | operator= (const Item &other) |
copy assignment operator copies all elements but parent which is set to nullptr More... | |
Item (const std::string &tag, const std::string &description, Persistent *parent) | |
Item (Item &&other) | |
move constructor More... | |
Item & | operator= (Item &&other) |
move assignment operator More... | |
virtual | ~Item (void) |
const std::string & | tag (void) const |
const std::string & | description (void) const |
std::string | fullTag (void) const |
const Persistent * | parent (void) const |
void | setTag (const std::string &tag) |
void | setDescription (const std::string &description) |
void | setWideTag (const std::wstring &tag) |
wide-character variant, More... | |
void | setWideDescription (const std::wstring &description) |
wide-character variant, More... | |
bool | operator!= (const Item &rhs) const |
bool | operator== (const Item &rhs) const |
![]() | |
Diagnostic (void) | |
void | setVerbosity (int verbosity) |
sets the verbosity level for this instance More... | |
int | verbosity (void) const |
Public Attributes | |
Quantity | Teq |
Equilibrium temperature = Tact + deltaT. More... | |
Quantity | Tact |
Actual temperature. More... | |
Quantity | deltaT |
Temperature approach to equilibrium. More... | |
Quantity | Kin |
Equilibrium constant at inlet stream compositions. More... | |
Quantity | Kout |
Equilibrium constant at outlet stream compositions. More... | |
Quantity | H |
Cell length. More... | |
Quantity | W |
Cell width. More... | |
Quantity | A |
Cell area. More... | |
Quantity | nCells |
Number of cells in a stack. More... | |
Quantity | E0 |
Themodynamic voltage. More... | |
Quantity | E |
Open circuit voltage (OCV) More... | |
Quantity | Rarea |
Areic electrical resistance. More... | |
Quantity | F |
Faraday constant. More... | |
Quantity | J |
Current density. More... | |
Quantity | Jset |
Set current density; used if option=J. More... | |
Quantity | I |
Current. More... | |
Quantity | Iset |
Set current; used if option=I. More... | |
Quantity | Voffset |
Correction to cell voltage to account for the effect of the microscale. More... | |
Quantity | V |
Cell voltage. More... | |
Quantity | Vset |
Set cell voltage; used if option=V. More... | |
Quantity | Vstack |
Stack voltage. More... | |
Quantity | Power |
Stack net power output. More... | |
Quantity | PowerDensity |
Stack areic power density. More... | |
String | option |
String | averageOption |
![]() | |
std::vector< PhaseM * > | outp |
Vector of reacting phase pointers. More... | |
std::vector< PhaseTotal > | phases |
Vector of phases containing component fluxes entering each reacting phase. More... | |
Integer | nPhases |
Number of reacting phases. More... | |
Quantity | z |
Fractional conversion in terms of key component. More... | |
Quantity | actz |
Actual fractional conversion in terms of key component. More... | |
Quantity | conv |
Rate of Reaction. More... | |
std::vector< std::vector < Quantity > > | coeffv |
Vector of vectors of stoichiometric coefficients for each reacting phase. More... | |
Integer | keyphase |
Phase the key component is located in. More... | |
Integer | keycomp |
Key component. More... | |
![]() | |
Integer | nCalculations |
number of times the model has been calculated More... | |
StringVector | errors |
errors from the last computation More... | |
StringVector | warnings |
warnings from the last computation More... | |
Static Public Attributes | |
static const std::string | type_ |
![]() | |
static const std::string | type_ |
Additional Inherited Members | |
![]() | |
void | printSvgXlink (std::ostream &svg, const std::string &link, double width, double height) |
void | addComponentVectorVariable (std::vector< Quantity > &variable, const std::string &tag, const std::string &description, Quantity::ValueType value) |
template<typename T > | |
void | addSubObjects (int verbosityFile, Libpf::User::Defaults defaults, Persistency *persistency, int count, const std::string &optionKey, const std::string &typeKey, const std::string &tagKey, const std::string &description, std::vector< T * > &vector) |
![]() | |
int | retrieveInteger (const Libpf::User::Defaults &defaults, uint32_t id, Persistency *persistency, std::string tag, int min, int max, int def=-1) |
std::string | retrieveString (const Libpf::User::Defaults &defaults, uint32_t id, Persistency *persistency, std::string tag, const std::string def) |
template<class T > | |
void | addVariable (T &variable) |
template<class T > | |
void | addVectorVariable (std::vector< T > &variable, const std::string &tag, const std::string &description, uint32_t size, typename T::ValueType value) |
Object (const Object &other) | |
copy constructor More... | |
Object (Object &&other) | |
move constructor More... | |
Object & | operator= (const Object &) |
copy assignment operator More... | |
Object & | operator= (Object &&other) |
move assignment operator More... | |
![]() | |
int | offset (void) const |
![]() | |
std::map< std::string, Integer * > | integers_ |
collection of integer variables More... | |
std::map< std::string, IntegerVector * > | integerVectors_ |
collection of integer variable vectors More... | |
std::map< std::string, Quantity * > | quantities_ |
collection of real variables More... | |
std::map< std::string, QuantityVector * > | quantityVectors_ |
collection of real variable vectors More... | |
std::map< std::string, QuantityMatrix * > | quantityMatrices_ |
collection of real variable matrices More... | |
std::map< std::string, String * > | strings_ |
collection of string variables More... | |
std::map< std::string, StringVector * > | stringVectors_ |
collection of string variable vectors More... | |
![]() | |
std::map< std::string, std::unique_ptr< Node > > | children_ |
the collection of direct descendants More... | |
![]() | |
Persistent * | parent_ |
pointer to the parent Persistent; set to this by the constructor if Item is self-standing or a root Persistent of a tree More... | |
![]() | |
int | verbosityInstance |
Detailed Description
Model for electrochemical multiphase reaction
#include <libpf/units/MultiReactionElectrochemical.h>
- Remarks
- Warning
- Thread safe:
- Extendable:
- Platform dependencies:
Constructor & Destructor Documentation
MultiReactionElectrochemical::MultiReactionElectrochemical | ( | Libpf::User::Defaults | defaults, |
uint32_t | id = 0 , |
||
Persistency * | persistency = nullptr , |
||
Persistent * | parent = nullptr , |
||
Persistent * | root = nullptr |
||
) |
Member Function Documentation
|
pure virtual |
compute thermodynamic voltage E0 and Rarea
- Parameters
-
P0 pressure anode side adimensionalized against the reference pressure of 1 bar P1 pressure cathode side adimensionalized against the reference pressure of 1 bar x0 mole fractions in the anode outlet x1 mole fractions in the cathode outlet
Value MultiReactionElectrochemical::calceqconst | ( | const Value & | P0, |
const Value & | P1, | ||
const Vector & | x0, | ||
const Vector & | x1 | ||
) |
compute K
- Parameters
-
P0 pressure anode side adimensionalized against the reference pressure of 1 bar P1 pressure cathode side adimensionalized against the reference pressure of 1 bar x0 mole fractions in the anode outlet x1 mole fractions in the cathode outlet
- Parameters
-
P0 pressure anode side adimensionalized against the reference pressure of 1 bar P1 pressure cathode side adimensionalized against the reference pressure of 1 bar
|
inlinevirtual |
- Returns
- the C++ name of the class the instance belongs to
- Note
- it is the responsibility of the caller to not access this reference after the lifecycle of the Item
Reimplemented from MultiReaction< 2 >.
Member Data Documentation
Quantity MultiReactionElectrochemical::A |
Cell area.
String MultiReactionElectrochemical::averageOption |
Composition average option:
- linear linear mean of the equilibrium constants based on inlet and outlet composition
- outlet equilibrium constant based on outlet composition
- log logarithm mean of the equilibrium constants based on inlet and outlet composition
Quantity MultiReactionElectrochemical::deltaT |
Temperature approach to equilibrium.
Quantity MultiReactionElectrochemical::E |
Open circuit voltage (OCV)
Quantity MultiReactionElectrochemical::E0 |
Themodynamic voltage.
Quantity MultiReactionElectrochemical::F |
Faraday constant.
Quantity MultiReactionElectrochemical::H |
Cell length.
Quantity MultiReactionElectrochemical::I |
Current.
Quantity MultiReactionElectrochemical::Iset |
Set current; used if option=I.
Quantity MultiReactionElectrochemical::J |
Current density.
Quantity MultiReactionElectrochemical::Jset |
Set current density; used if option=J.
Quantity MultiReactionElectrochemical::Kin |
Equilibrium constant at inlet stream compositions.
Quantity MultiReactionElectrochemical::Kout |
Equilibrium constant at outlet stream compositions.
Quantity MultiReactionElectrochemical::nCells |
Number of cells in a stack.
String MultiReactionElectrochemical::option |
Calculation option:
- z Fractional conversion in terms of key component is fixed by user
- V Cell voltage is fixed by user
- I Current is fixed by user
- J Current density is fixed by user
Quantity MultiReactionElectrochemical::Power |
Stack net power output.
Quantity MultiReactionElectrochemical::PowerDensity |
Stack areic power density.
Quantity MultiReactionElectrochemical::Rarea |
Areic electrical resistance.
Quantity MultiReactionElectrochemical::Tact |
Actual temperature.
Quantity MultiReactionElectrochemical::Teq |
Equilibrium temperature = Tact + deltaT.
|
static |
Quantity MultiReactionElectrochemical::V |
Cell voltage.
Quantity MultiReactionElectrochemical::Voffset |
Correction to cell voltage to account for the effect of the microscale.
Quantity MultiReactionElectrochemical::Vset |
Set cell voltage; used if option=V.
Quantity MultiReactionElectrochemical::Vstack |
Stack voltage.
Quantity MultiReactionElectrochemical::W |
Cell width.
The documentation for this class was generated from the following file: