StreamOne Class Reference
stream with a single fluid phase More...
#include <StreamOne.h>
Inheritance diagram for StreamOne:

Public Member Functions | |
StreamOne (Libpf::User::Defaults defaults, uint32_t id=0, Persistency *persistency=nullptr, Persistent *parent=nullptr, Persistent *root=nullptr) | |
GENERATE_COPY_MOVE (StreamOne) | |
GENERATE_COPY_MOVE_DERIVED (StreamOne, Stream) | |
~StreamOne (void) | |
MassBalanceMode | representation (void) const |
return default flow base More... | |
const std::string & | type (void) const |
ObjectiveNleAd * | objectiveFunction (void) |
returns a pointer to the model's objective function More... | |
void | prepare_residuals (void) |
override stream; calculates sumx More... | |
int | calculateResidualsEquilibrium (std::vector< Value > &, uint32_t) |
implement FlashBase virtual More... | |
![]() | |
Stream (Libpf::User::Defaults defaults, uint32_t id=0, Persistency *persistency=nullptr, Persistent *parent=nullptr, Persistent *root=nullptr) | |
GENERATE_COPY_MOVE_BASE (Stream) | |
virtual | ~Stream (void) |
void | setup (void) |
performs initializations required immediately before solution More... | |
Stream & | operator+= (const Stream &) |
Stream & | operator*= (const Value &factor) |
Stream & | operator/= (const Value &factor) |
PhaseM * | findPhase (const PhaseIndex &pid) |
find phase identified by pid or return NULL More... | |
int | findPhaseIndex (const PhaseIndex &pid) const |
find index of the phase identified by pid in the phases vector or return -1 More... | |
void | setphase (const PhaseIndex &p) |
Sets the actual phase, copies current Tphase in the appropriate phases[?]. More... | |
PhaseType | ptype (int i) const |
return phase type of phase i More... | |
PhaseIndex | pid (int i) const |
return phase id of phase i More... | |
int | nphases (void) const |
return number of phases More... | |
int | numberOfPhases (PhaseType pt) const |
return number of phases of PhaseType pt More... | |
void | scale (const Value &factor=One) |
multiply the Stream extensive properties by factor More... | |
void | setEquimolar () |
void | setEquimass () |
void | setPure (int i) |
void | setImpure (int i, double eps) |
void | setEquimolarNoKey (int i) |
void | setEquimassNoKey (int i) |
void | setSymmetrical (double eps) |
void | setAsymmetrical (bool increasing, double eps) |
void | clearcomposition (void) |
virtual void | setFlash (FlashMode fm=FlashMode::Null) |
virtual void | estimateFlash (void) |
virtual void | updateFlash (void) |
void | calculate (int level=0) |
void | initializeNonPersistents (void) |
estimates hidden, non-persistent unknowns from the current results More... | |
void | go (Calculatable::SolutionMode solutionMode, int level) |
int | calculateResidualsEos (std::vector< Value > &y, uint32_t offset) |
void | estimateEos (const Value &Pres, const Value &Temp) |
estimate eos roots-related unknowns More... | |
void | calculateX (const MassBalanceMode &mb) |
void | calculateXnoFlash (const MassBalanceMode &mb) |
const Value & | calculateTotalP (const Value &rho) const |
const Value & | calculateTotalRho (void) const |
calculates total molar density for all phases in kmol/m3 More... | |
const Value & | calculateTotalH (void) const |
calculates molar enthalpy for all phases in J/kmol based on current values of the hidden unknowns More... | |
const Value & | calculateTotalS (void) const |
calculates molar entropy for all phases in J/kmol/K based on current values of the hidden unknowns More... | |
Value | dhvl (const Value &T) const |
molar heat of vaporization as linear molar fraction based average of the pure routes.heats of vaporization More... | |
void | setMaximumIterations (int m) |
![]() | |
EdgeBase (Libpf::User::Defaults defaults, uint32_t id=0, Persistency *persistency=nullptr, Persistent *parent=nullptr, Persistent *root=nullptr) | |
Category | category (void) const |
return model Category More... | |
virtual std::string | svgColor (void) const |
virtual double | svgWidth (void) const |
![]() | |
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) | |
const std::string & | type (void) const |
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 |
![]() | |
Precedence (void) | |
~Precedence (void) | |
void | initLock (void) |
invoke while in parallel section More... | |
void | set (void) |
void | unSet (void) |
void | destroy (void) |
![]() | |
FlashBase (void) | |
void | setIdeal (bool i) |
bool | isIdeal (void) |
const Value & | Temperature (void) const |
const Value & | Pressure (void) const |
![]() | |
Flash (void) | |
int | niter (void) const |
return Flash iterations More... | |
void | prepare_Flash_residuals (void) |
Value | calculateResidualsPressure (void) |
virtual Value | calculateResidualsFlashMode (void) |
virtual void | clip_ (void) |
int | calculateResiduals (std::vector< Value > &y, uint32_t offset) |
void | estimate (const Value &Pres, const Value &Temp) |
const Value & | Fraction (PhaseIndex p) const |
Vector | X (PhaseIndex p) const |
const Value & | Sumx (PhaseIndex p) const |
void | estimateEquilibrium (const Value &Pres, const Value &Temp) |
estimate equilibrium-related unknowns More... | |
SolverNleInterface * | solver (void) |
bool | converged (void) const |
returns true if the flash has been solved successfully, More... | |
![]() | |
ObjectiveNleAd (std::string t) | |
constructor More... | |
double | xmin (unsigned int i) |
return the lower bound on unknown i More... | |
double | xmax (unsigned int i) |
return the upper bound on unknown i More... | |
unsigned int | size (void) const |
returns the current size of the problem More... | |
void | scalex (double *x) |
transforms the vector of "real" variables x by applying the scaling More... | |
void | unscalex (double *x) |
transforms back the vector of scaled variables x by applying the unscaling More... | |
void | operator() (double *, double *, Jacobian *J) |
implements the () operator by calling calculateResiduals; derived class may override it More... | |
void | addUnknown (Value *x, Scaler scaler, const std::string &tag) |
void | changeUnknown (unsigned int i, Value *x, Scaler scaler, const std::string &tag) |
change the i-th unknown More... | |
void | addObjectiveFunction (ObjectiveNleAd &of) |
append the remote objective function More... | |
![]() | |
ObjectiveNleAuto (std::string t) | |
constructor More... | |
bool | init (double *x) |
void | setValue (unsigned int i, double x) |
copies the value for the i-th unknown from x in the Value pointed to, without altering the derivatives More... | |
void | copyresults (double *x) |
copies the unknown values from the x vector into the Values pointed to More... | |
void | inactivate (void) |
inactivates all unknowns More... | |
void | clearderivatives (void) |
clears the derivative information for all unknowns without setting to inactive More... | |
void | setActive (unsigned int i) |
activates the i-th unknown More... | |
void | operator() (double *, double *, Jacobian *J) |
implements the () operator by calling calculateResiduals; derived class may override it More... | |
void | setx (unsigned int i, Value &x) |
sets the i-th unknown to x More... | |
const Value & | unknown (unsigned int i) const |
returns a reference to the i-th unknown More... | |
const std::string & | unknownTag (unsigned int i) const |
returns a reference to the tag of the i-th unknown More... | |
double | xmin (unsigned int i) |
return the lower bound on unknown i More... | |
double | xmax (unsigned int i) |
return the upper bound on unknown i More... | |
void | print (void) const |
lists unknowns More... | |
const std::string & | tagof (void) const |
returns the tag of the instance More... | |
void | settagof (std::string t) |
sets the tag of the instance More... | |
void | appendtagof (const std::string &t) |
appends to the tag of the instance More... | |
int | zero_residuals (std::vector< Value > &y, uint32_t offset) |
void | addUnknown (Value *x, const std::string &tag) |
void | changeUnknown (unsigned int i, Value *x, const std::string &tag) |
change the i-th unknown More... | |
![]() | |
ObjectiveNleInterface (void) | |
Public Attributes | |
String | embeddedTypePhase |
type of the embedded phase More... | |
![]() | |
Quantity | T |
Temperature. More... | |
Quantity | P |
Pressure. More... | |
Integer | NITER_NLEFlash |
Number of iterations for Flash. More... | |
String | flowoption |
String | flashoption |
PhaseM * | Tphase |
std::vector< PhaseM * > | phases |
vector of phases to hold internal values for the phase fractions and molar compositions More... | |
![]() | |
String | fromTAG |
tag of the source Vertex for this edge More... | |
String | toTAG |
tag of the destination Vertex for this edge More... | |
String | fromPort |
tag of the port in the source Vertex this edge is connected to More... | |
String | toPort |
tag of the port in the destination Vertex this edge is connected to More... | |
String | cutsource |
String | cutdest |
![]() | |
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... | |
![]() | |
int | weight |
for backTrack_ and findCycles More... | |
![]() | |
int | verbosityLocal |
Static Public Attributes | |
static const std::string | type_ |
Additional Inherited Members | |
![]() | |
enum | SolutionMode { Null = 0, sequential, simultaneous, singlePassSimultaneous } |
![]() | |
void | addVariables (void) |
PhaseM * | addPhase (std::string type, std::string tag, std::string description, int index, Persistency *persistency) |
void | postconstruct_ (int cid) |
virtual void | precompute_isIdeal (void) |
![]() | |
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 |
![]() | |
void | setFlash_ (const FlashMode &fm, const Value &x, const Value &y, bool strict=true) |
Set the stream's state variables and the Flash. More... | |
int | solveFlash (bool simultaneous, bool skip) |
std::string | message (int code) |
void | setup_ (std::vector< Value * > pbeta_, std::vector< const double * > pbetamin_, std::vector< const double * > pbetamax_) |
void | calculateInertSolids (const std::vector< Quantity > &totalx, std::vector< Quantity > &inertx, MutableVector fluidx, Value &inertfraction, Value &fluidfraction) |
![]() | |
void | prepare_ (double *x, Jacobian *J) |
uscales x (unknowns) values from calling function and puts them in x_ Quantities More... | |
void | packResults_ (double *x, double *y, Jacobian *J) |
~ObjectiveNleAd () | |
![]() | |
~ObjectiveNleAuto () | |
![]() | |
~ObjectiveNleInterface () | |
![]() | |
int | vphases_ |
number of vapor phases More... | |
int | lphases_ |
number of liquid phases More... | |
int | sphases_ |
number of solid phases More... | |
![]() | |
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 |
![]() | |
FlashMode | fm_ |
bool | zero_residuals_ |
used to skip Flash residuals calculations if stream is empty More... | |
Value | T_ |
Temperature, unknown. More... | |
Value | P_ |
Pressure, unknown. More... | |
Value | Pset_ |
specified pressure, Pa More... | |
Value | Tset_ |
specified temperature, K More... | |
Value | Hset_ |
specified molar enthalpy, J/kmol More... | |
Value | Sset_ |
specified molar entropy, J/(kmol*K) More... | |
Value | rhoset_ |
specified molar density, kmol/m3 More... | |
![]() | |
Value | sumx_ |
sum of molar fractions, or liquid phase molar fractions for multiphase derived classes More... | |
std::vector< Quantity > * | remotex_ |
SolverNle | NLEFlash_ |
Newton solver for the Flash. More... | |
![]() | |
std::vector< Scaler > | scaler_ |
provide scaling and unscaling More... | |
![]() | |
std::vector< Value > | residuals |
Residuals. More... | |
![]() | |
static double | minFlow_ |
Detailed Description
stream with a single fluid phase
Use molar parameters in models that involve StreamOne.
i.e.: for a flashdrum "RX" with 1 reaction O("RX:reactions", 0)->I("keycomp")->set(1); *O("RX:reactions", 0)->Q("coeff", "Water") = 0.0; *O("RX:reactions", 0)->Q("coeff", "Table Salt") = -1.0; *O("RX:reactions", 0)->Q("coeff", "Pepper") = 1.0;
Supported StreamOne types:
- StreamVapor
- StreamLiquid
- StreamSolid
- StreamEosVapor
- StreamEosLiquid
- StreamNrtl1Liquid
- StreamNrtl2Liquid
- StreamPcsaftVapor
- StreamPcsaftLiquid
- StreamGerg2004Vapor
- StreamGerg2004Liquid
- StreamIapwsVapor
- StreamIapwsLiquid
#include <libpf/streams/StreamOne.h>
- Remarks
- use for vapor-only or liquid-only streams
- Warning
- Requires the list of components to be populated before the construction
- Thread safe:
- Extendable:
- Platform dependencies:
Constructor & Destructor Documentation
StreamOne::StreamOne | ( | Libpf::User::Defaults | defaults, |
uint32_t | id = 0 , |
||
Persistency * | persistency = nullptr , |
||
Persistent * | parent = nullptr , |
||
Persistent * | root = nullptr |
||
) |
|
inline |
Member Function Documentation
|
inlinevirtual |
StreamOne::GENERATE_COPY_MOVE | ( | StreamOne | ) |
|
inlinevirtual |
returns a pointer to the model's objective function
Implements Model.
|
virtual |
override stream; calculates sumx
Reimplemented from Stream.
|
inlinevirtual |
return default flow base
Implements Stream.
|
inlinevirtual |
Member Data Documentation
String StreamOne::embeddedTypePhase |
type of the embedded phase
|
static |
The documentation for this class was generated from the following file: