Edge model for the mass and energy balance of a generic stream semi-abstract class Contains P, T and one Phase subobject: total phase. More...
#include <Stream.h>
Public Member Functions | |
Stream (Libpf::Persistency::Defaults defaults, uint32_t id=0, Persistency *persistency=nullptr, Persistent *parent=nullptr, Persistent *root=nullptr) | |
GENERATE_COPY_MOVE_BASE (Stream) | |
virtual | ~Stream (void) |
QUANTITY (T, "Temperature", 298.15, "K") | |
QUANTITY (P, "Pressure", 101325, "Pa") | |
INTEGER (NITER_NLEFlash, "Number of iterations for Flash", -1) | |
STRING (flowoption, "Feed stream flow configuration", "Nx") | |
STRING (flashoption, "Feed stream Flash configuration", "PT") | |
virtual Libpf::Utility::MassBalanceMode | representation (void) const =0 |
return default flow base More... | |
void | setup (void) override |
performs initializations required immediately before solution More... | |
Stream & | operator+= (const Stream &) |
Stream & | operator*= (const Value &factor) |
Stream & | operator/= (const Value &factor) |
Phase::Mass * | findPhase (const Libpf::Utility::PhaseIndex &pid) |
find phase identified by pid or return the nullptr More... | |
int | findPhaseIndex (const Libpf::Utility::PhaseIndex &pid) const |
find index of the phase identified by pid in the phases vector or return -1 More... | |
void | setphase (const Libpf::Utility::PhaseIndex &p) |
Sets the actual phase, copies current Tphase in the appropriate phases[?]. More... | |
Libpf::Utility::PhaseType | phaseType (int i) const |
return phase type of phase i More... | |
Libpf::Utility::PhaseIndex | phaseIndex (int i) const |
return phase id of phase i More... | |
int | nphases (void) const |
return number of phases More... | |
int | numberOfPhases (Libpf::Utility::PhaseType pt) const |
return number of phases of Libpf::Utility::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 (Libpf::Utility::FlashMode fm=Libpf::Utility::FlashMode::Null) |
virtual void | estimateFlash (void) |
virtual void | updateFlash (void) |
void | calculate (int level=0) override |
void | initializeNonPersistents (void) override |
initialize Flash unknowns More... | |
void | go (Calculatable::SolutionMode solutionMode, int level) override |
void | prepare_residuals (void) override |
call only if there is no iterative algorithm than changes the phases' compositions (such as FlashVl::x_ and y_ More... | |
int | calculateResidualsEos (std::vector< Value > &y, uint32_t offset) override |
void | estimateEos (const Value &Pres, const Value &Temp) override |
estimate eos roots-related unknowns More... | |
void | calculateX (const Libpf::Utility::MassBalanceMode &mb) |
void | calculateXnoFlash (const Libpf::Utility::MassBalanceMode &mb) |
const Value & | calculateTotalP (const Value &rho) const override |
const Value & | calculateTotalRho (void) const override |
calculates total molar density for all phases in kmol/m3 More... | |
const Value & | calculateTotalH (void) const override |
calculates molar enthalpy for all phases in J/kmol based on current values of the hidden unknowns More... | |
const Value & | calculateTotalS (void) const override |
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) |
const std::vector< Phase::Mass * > & | phases (void) const override |
const Value & | phase_fraction (Phase::Mass *phase) const override |
Public Member Functions inherited from EdgeBase | |
EdgeBase (Libpf::Persistency::Defaults defaults, uint32_t id=0, Persistency *persistency=nullptr, Persistent *parent=nullptr, Persistent *root=nullptr) | |
STRING (fromTAG, "Tag of source Vertex", "source") | |
STRING (toTAG, "Tag of destination Vertex", "sink") | |
STRING (fromPort, "Tag of port description for source", "out") | |
STRING (toPort, "Tag of port description for destination", "in") | |
STRING (cutsource, "TAG of source of cut stream", "") | |
STRING (cutdest, "TAG of dest of cut stream", "") | |
Libpf::Utility::Category | category (void) const override |
return model Category More... | |
virtual std::string | svgColor (void) const |
virtual double | svgWidth (void) const |
Public Member Functions inherited from Model | |
Model (Libpf::Persistency::Defaults defaults, uint32_t id, Persistency *persistency, Persistent *parent, Persistent *root) | |
INTEGER (nCalculations, "Number of times the model has been calculated", 0) | |
STRINGVECTOR (errors, "Errors from the last computation", 0, "") | |
STRINGVECTOR (warnings, "Warnings from the last computation", 0, "") | |
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... | |
virtual Libpf::Utility::Category | category (void) const =0 |
return model Category More... | |
virtual void | calculate (int level=0)=0 |
virtual void | setup (void)=0 |
performs initializations required immediately before solution More... | |
virtual int | maximumIterations (void) |
returns default maximum iterations for main computation; defaults to 200 More... | |
virtual void | initializeNonPersistents (void)=0 |
estimates hidden, non-persistent unknowns from the current results More... | |
virtual ObjectiveNleAd * | objectiveFunction (void)=0 |
returns a pointer to the model's objective function 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 |
Public Member Functions inherited from Object | |
Object (Libpf::Persistency::Defaults defaults, uint32_t id=0, Persistency *persistency=nullptr, Persistent *parent=nullptr, Persistent *root=nullptr) | |
Libpf::Persistency::Defaults | defaults (void) const |
std::ostream & | printJson (std::ostream &os, int level=0) const override |
print Node in JSON format More... | |
void | readVariables (Persistency *persistency) override |
reads Q, QV and QM from persistency More... | |
void | readParameters (Persistency *persistency) override |
reads I, IV, S and SV from persistency More... | |
Node & | operator= (const Node &) override |
copy assignment operator More... | |
Node & | operator= (Node &&other) override |
move assignment More... | |
~Object (void) | |
const std::string & | type (void) const override |
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 |
void | push (void) const |
store the current status of the object and all its sub-objects in the last-in-first-out queue of real variables values More... | |
void | pop (void) |
restore the status of the object and all its sub-objects from the last-in-first-out queue of real variables values More... | |
void | clear (void) const |
clear the last-in-first-out queue of real variables values used for storing and retrieving the status More... | |
const RangeQuantities | quantities (void) |
const ConstRangeQuantities | quantities (void) const |
Public Member Functions inherited from Node | |
Node (Libpf::Persistency::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 |
virtual Node & | operator= (const Node &other) |
copy assignment operator copies all elements but root which is set to nullptr More... | |
virtual Node & | operator= (Node &&other) |
move assignment More... | |
~Node () | |
int | insert (Persistency *persistency) const override |
int | update (Persistency *persistency) const override |
void | restore (Persistency *persistency) override |
void | remove (Persistency *persistency) const override |
uint32_t | rootId (void) const override |
uint32_t | range (void) const override |
uint32_t | getId (void) override |
returns the next available id and increments the internal counter More... | |
const std::string & | type (void) const override |
virtual std::ostream & | printJson (std::ostream &os, int level=0) const |
print Node in JSON format More... | |
Node & | addChild (std::string type, uint32_t id, Persistency *persistency) |
Node & | addChild (std::string type, Libpf::Persistency::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 |
virtual void | readVariables (Persistency *) |
reads Q, QV and QM from persistency More... | |
virtual void | readParameters (Persistency *) |
reads I, IV, S and SV from persistency More... | |
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 |
Public Member Functions inherited from Persistent | |
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 |
virtual uint32_t | rootId (void) const =0 |
virtual uint32_t | range (void) const =0 |
virtual uint32_t | getId (void)=0 |
returns the next available id and increments the internal counter More... | |
double | created_at (void) const |
double | updated_at (void) const |
void | updated_at (double u) const |
virtual int | insert (Persistency *persistency) const =0 |
virtual int | update (Persistency *persistency) const =0 |
virtual void | restore (Persistency *persistency)=0 |
virtual void | remove (Persistency *persistency) const =0 |
Public Member Functions inherited from Item | |
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 () |
const std::string & | tag () const |
const std::string & | description () const |
std::string | fullTag () const |
const Persistent * | parent () const |
virtual const std::string & | type () const =0 |
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 |
Public Member Functions inherited from Diagnostic | |
Diagnostic (void) | |
void | setVerbosity (int verbosity) |
sets the verbosity level for this instance More... | |
int | verbosity (void) const |
Public Member Functions inherited from Precedence | |
Precedence (void) | |
~Precedence (void) | |
void | initLock (void) |
invoke while in parallel section More... | |
void | set (void) |
void | unSet (void) |
void | destroy (void) |
virtual void | go (SolutionMode solutionMode, int level)=0 |
Public Member Functions inherited from FlashBase | |
FlashBase (void) | |
void | setIdeal (bool i) |
bool | isIdeal (void) |
virtual SolverNleInterface * | solver (void)=0 |
virtual int | niter (void) const =0 |
return Flash iterations More... | |
virtual void | estimate (const Value &Pres, const Value &Temp)=0 |
const Value & | Temperature (void) const |
const Value & | Pressure (void) const |
virtual const Value & | Fraction (Libpf::Utility::PhaseIndex p, bool clip=false) const =0 |
during Flash iterations use this function to get the actual estimate of the fraction of phase p More... | |
virtual Vector | X (Libpf::Utility::PhaseIndex p) const =0 |
virtual const Value & | Sumx (Libpf::Utility::PhaseIndex p) const =0 |
virtual bool | converged (void) const =0 |
returns true if the flash has been solved successfully, More... | |
virtual const std::vector< Phase::Mass * > & | phases (void) const =0 |
virtual const Value & | phase_fraction (Phase::Mass *phase) const =0 |
Public Attributes | |
Phase::Mass * | Tphase |
std::vector< Phase::Mass * > | phases_ |
vector of phases to hold internal values for the phase fractions and molar compositions More... | |
Public Attributes inherited from Precedence | |
int | weight |
for backTrack_ and findCycles More... | |
Protected Member Functions | |
void | addVariables (void) |
Phase::Mass * | addPhase (std::string type, std::string tag, std::string description, unsigned int index, Persistency *persistency) |
void | postconstruct_ (int cid) |
virtual void | precompute_isIdeal (void) |
Protected Member Functions inherited from Model | |
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::Persistency::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) |
Protected Member Functions inherited from Object | |
int | retrieveInteger (const Libpf::Persistency::Defaults &defaults, uint32_t id, Persistency *persistency, std::string tag, int min, int max, int def=-1) |
std::string | retrieveString (const Libpf::Persistency::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... | |
Protected Member Functions inherited from Node | |
int | offset (void) const |
Protected Member Functions inherited from Diagnostic | |
virtual | ~Diagnostic ()=default |
Protected Member Functions inherited from Calculatable | |
virtual | ~Calculatable ()=default |
Protected Member Functions inherited from FlashBase | |
virtual | ~FlashBase ()=default |
virtual const Value & | calculateTotalP (const Value &rho) const =0 |
virtual const Value & | calculateTotalRho (void) const =0 |
calculates total molar density for all phases in kmol/m3 More... | |
virtual const Value & | calculateTotalH (void) const =0 |
calculates molar enthalpy for all phases in J/kmol based on current values of the hidden unknowns More... | |
virtual const Value & | calculateTotalS (void) const =0 |
calculates molar entropy for all phases in J/kmol/K based on current values of the hidden unknowns More... | |
virtual void | prepare_residuals (void)=0 |
virtual void | prepare_Flash_residuals (void)=0 |
virtual int | calculateResidualsEos (std::vector< Value > &y, uint32_t offset)=0 |
virtual void | estimateEos (const Value &Pres, const Value &Temp)=0 |
estimate eos roots-related unknowns More... | |
virtual int | calculateResidualsEquilibrium (std::vector< Value > &y, uint32_t offset)=0 |
virtual void | estimateEquilibrium (const Value &Pres, const Value &Temp)=0 |
estimate equilibrium-related unknowns More... | |
virtual void | setFlash_ (const Libpf::Utility::FlashMode &fm, const Value &x, const Value &y, bool strict=true)=0 |
Set the stream's state variables and the Flash. More... | |
virtual int | solveFlash (bool simultaneous, bool skip)=0 |
virtual std::string | message (int code)=0 |
virtual void | setup_ (std::vector< Value * > pbeta_, std::vector< const double * > pbetamin_, std::vector< const double * > pbetamax_)=0 |
Protected Member Functions inherited from StreamInterface | |
virtual | ~StreamInterface ()=default |
Protected Attributes | |
int | vphases_ |
number of vapor phases More... | |
int | lphases_ |
number of liquid phases More... | |
int | sphases_ |
number of solid phases More... | |
Protected Attributes inherited from Object | |
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... | |
Protected Attributes inherited from Node | |
std::map< std::string, std::unique_ptr< Node > > | children_ |
the collection of direct descendants More... | |
Protected Attributes inherited from Item | |
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... | |
Protected Attributes inherited from Diagnostic | |
int | verbosityInstance |
Protected Attributes inherited from FlashBase | |
Libpf::Utility::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... | |
Static Protected Attributes | |
static double | minFlow_ |
Friends | |
class | PhaseTotal |
Additional Inherited Members | |
Public Types inherited from Calculatable | |
enum | SolutionMode { Null = 0 , sequential , simultaneous , singlePassSimultaneous } |
Detailed Description
Edge model for the mass and energy balance of a generic stream semi-abstract class Contains P, T and one Phase subobject: total phase.
#include <libpf/streams/Stream.h>
- Remarks
- Warning
- Requires the list of components to be populated before the construction
- Thread safe:
- Extendable:
- Platform dependencies:
Constructor & Destructor Documentation
◆ Stream()
Stream::Stream | ( | Libpf::Persistency::Defaults | defaults, |
uint32_t | id = 0 , |
||
Persistency * | persistency = nullptr , |
||
Persistent * | parent = nullptr , |
||
Persistent * | root = nullptr |
||
) |
◆ ~Stream()
|
inlinevirtual |
Member Function Documentation
◆ addPhase()
|
protected |
adds a new Phase of supplied type, creating a new node
- Parameters
-
type should be a concrete type derived from Phase::Mass tag tag of subobject description description of subobject index location for the phase pointer in the phases vector; use -1 for total phase in non-single-phase streams persistency database connection
◆ addVariables()
|
protected |
◆ calculate()
|
overridevirtual |
calculates the model; implementations must call setCalculated
- Parameters
-
level used for indenting, defaults to 0
Implements Model.
◆ calculateResidualsEos()
|
overridevirtual |
fill in residuals for the calculation of {vapor, liquid} eos roots as required returns the number of eos roots that are computed
Implements FlashBase.
◆ calculateTotalH()
|
overridevirtual |
calculates molar enthalpy for all phases in J/kmol based on current values of the hidden unknowns
Implements FlashBase.
◆ calculateTotalP()
◆ calculateTotalRho()
|
overridevirtual |
calculates total molar density for all phases in kmol/m3
Implements FlashBase.
◆ calculateTotalS()
|
overridevirtual |
calculates molar entropy for all phases in J/kmol/K based on current values of the hidden unknowns
Implements FlashBase.
◆ calculateX()
void Stream::calculateX | ( | const Libpf::Utility::MassBalanceMode & | mb | ) |
◆ calculateXnoFlash()
void Stream::calculateXnoFlash | ( | const Libpf::Utility::MassBalanceMode & | mb | ) |
◆ clearComposition()
void Stream::clearComposition | ( | void | ) |
set to zero the composition of each component in Tphase based on the current flow option
- Note
- does not recalculate the stream
◆ dhvl()
molar heat of vaporization as linear molar fraction based average of the pure routes.heats of vaporization
◆ estimateEos()
estimate eos roots-related unknowns
Implements FlashBase.
◆ estimateFlash()
|
inlinevirtual |
estimate hidden Flash unknowns from current stream variables must be overridden when more unknowns are present
Reimplemented in StreamIapwsLiquidVapor, StreamTwo< F >, StreamTwo< FlashVl >, and StreamTwoSolid< F >.
◆ findPhase()
Phase::Mass * Stream::findPhase | ( | const Libpf::Utility::PhaseIndex & | pid | ) |
find phase identified by pid or return the nullptr
◆ findPhaseIndex()
int Stream::findPhaseIndex | ( | const Libpf::Utility::PhaseIndex & | pid | ) | const |
find index of the phase identified by pid in the phases vector or return -1
◆ GENERATE_COPY_MOVE_BASE()
Stream::GENERATE_COPY_MOVE_BASE | ( | Stream | ) |
◆ go()
|
overridevirtual |
Calculate the Model
- Parameters
-
solutionMode solution mode to use level used for indenting
Implements Calculatable.
◆ initializeNonPersistents()
|
overridevirtual |
initialize Flash unknowns
Implements Model.
Reimplemented in StreamIapwsLiquidVapor, StreamTwo< F >, StreamTwo< FlashVl >, and StreamTwoSolid< F >.
◆ INTEGER()
Stream::INTEGER | ( | NITER_NLEFlash | , |
"Number of iterations for Flash" | , | ||
- | 1 | ||
) |
◆ nphases()
int Stream::nphases | ( | void | ) | const |
return number of phases
◆ numberOfPhases()
int Stream::numberOfPhases | ( | Libpf::Utility::PhaseType | pt | ) | const |
return number of phases of Libpf::Utility::PhaseType pt
◆ operator*=()
◆ operator+=()
◆ operator/=()
◆ phase_fraction()
|
overridevirtual |
- Returns
- the current estimate of the phase fraction during Flash iterations for the supplied phase, clipped within zero and one
Implements StreamInterface.
◆ phaseIndex()
Libpf::Utility::PhaseIndex Stream::phaseIndex | ( | int | i | ) | const |
return phase id of phase i
◆ phases()
|
overridevirtual |
Implements StreamInterface.
◆ phaseType()
Libpf::Utility::PhaseType Stream::phaseType | ( | int | i | ) | const |
return phase type of phase i
◆ postconstruct_()
|
protected |
◆ precompute_isIdeal()
|
inlineprotectedvirtual |
◆ prepare_residuals()
|
inlineoverridevirtual |
call only if there is no iterative algorithm than changes the phases' compositions (such as FlashVl::x_ and y_
Implements FlashBase.
Reimplemented in StreamOne, StreamOneSolid, StreamTwo< F >, StreamTwo< FlashVl >, and StreamTwoSolid< F >.
◆ QUANTITY() [1/2]
Stream::QUANTITY | ( | P | , |
"Pressure" | , | ||
101325 | , | ||
"Pa" | |||
) |
◆ QUANTITY() [2/2]
Stream::QUANTITY | ( | T | , |
"Temperature" | , | ||
298. | 15, | ||
"K" | |||
) |
◆ representation()
|
pure virtual |
return default flow base
Implemented in StreamIapwsLiquidVapor, StreamOne, StreamOneSolid, StreamBaseSimple, StreamTwo< F >, StreamTwo< FlashVl >, and StreamTwoSolid< F >.
◆ scale()
◆ setAsymmetrical()
void Stream::setAsymmetrical | ( | bool | increasing, |
double | eps | ||
) |
sets phase composition to an asymmetrical distribution, based on the current flow option;
- Parameters
-
[in] increasing if true, the distribution will be increasing, if false it will be decreasing [in] eps no component will be present in an amount less than eps
- Note
- does not recalculate the phase
- only molar or mass fractions are supported
◆ setEquimass()
void Stream::setEquimass | ( | ) |
sets equimass composition, based on the current flow option
- Note
- does not recalculate the phase
◆ setEquimassNoKey()
void Stream::setEquimassNoKey | ( | int | i | ) |
sets equimass composition except for component i, based on the current flow option
- Parameters
-
i component index of the absent component
- Note
- does not recalculate the phase
◆ setEquimolar()
void Stream::setEquimolar | ( | ) |
sets equimolar composition, based on the current flow option
- Note
- does not recalculate the phase
◆ setEquimolarNoKey()
void Stream::setEquimolarNoKey | ( | int | i | ) |
sets equimolar composition except for component i, based on the current flow option
- Parameters
-
i component index of the absent component
- Note
- does not recalculate the phase
◆ setFlash()
|
virtual |
Set the Flash according to its own specifications
- Parameters
-
fm if this FlashMode is specified, it will override the current spec
The FlashMode is two separate options, but not all combinations are supported:
- A assumes the vapor fraction (variable Vphase.fraction) is fixed; can be used with {P, S}
- H assumes the molar enthalpy (variable Tphase.H) is fixed; can be used with {P, R}
- P assumes the pressure (variable P) is fixed; can be used with {A, H, S, T}
- R assumes the molar volume (variable Tphase.v) is fixed; can be used with {H, T}
- S assumes the molar entropy (variable Tphase.S) is fixed; can be used with {P, A}
- T assumes the temperature (variable T) is fixed; can be used with {P, R}
Reimplemented in StreamIapwsLiquidVapor, StreamTwo< F >, StreamTwo< FlashVl >, and StreamTwoSolid< F >.
◆ setImpure()
void Stream::setImpure | ( | int | i, |
double | eps | ||
) |
sets phase composition to almost pure, based on the current flow option
- Parameters
-
i component index of the mostly present component eps molar fraction of the other components
- See also
- Phase::Mass::setImpure and Phase::MassMolar::setImpure
- Note
- does not recalculate the phase
◆ setMaximumIterations()
void Stream::setMaximumIterations | ( | int | m | ) |
sets the maximum number of iterations, overriding the default (500)
- Note
- to use as a class-level override (for "hard" flashes) call it in the stream constructors
after the call to Stream::postconstruct_
◆ setphase()
void Stream::setphase | ( | const Libpf::Utility::PhaseIndex & | p | ) |
Sets the actual phase, copies current Tphase in the appropriate phases[?].
◆ setPure()
void Stream::setPure | ( | int | i | ) |
sets phase composition to pure in component i, based on the current flow option
- Parameters
-
i component index of the present component
- See also
- Phase::Mass::setPure and Phase::MassMolar::setPure
- Note
- does not recalculate the phase
◆ setSymmetrical()
void Stream::setSymmetrical | ( | double | eps | ) |
sets phase composition to a symmetrical distribution, based on the current flow option;
- Parameters
-
[in] eps no component will be present in an amount less than eps
- Note
- does not recalculate the phase
- only molar or mass fractions are supported
◆ setup()
|
inlineoverridevirtual |
performs initializations required immediately before solution
Implements Model.
◆ STRING() [1/2]
Stream::STRING | ( | flashoption | , |
"Feed stream Flash configuration" | , | ||
"PT" | |||
) |
◆ STRING() [2/2]
Stream::STRING | ( | flowoption | , |
"Feed stream flow configuration" | , | ||
"Nx" | |||
) |
Feed stream flow configuration
- See also
- MassBalanceMode Nx [default] Supported MassBalnceMode:
- Nx total mole flow and molar composition of each component are fixed
- Mx total mass flow and molar composition of each component are fixed
- Nw total mole flow and mass composition of each component are fixed
- Mw total mass flow and mass composition of each component are fixed
- N mole flow of each component are fixed
- M mass flow of each component
◆ updateFlash()
|
virtual |
update stream variables with hidden Flash unknowns must be overridden when more unknowns are present
Reimplemented in StreamIapwsLiquidVapor, StreamBaseSimple, StreamTwo< F >, StreamTwo< FlashVl >, and StreamTwoSolid< F >.
Friends And Related Function Documentation
◆ PhaseTotal
|
friend |
Member Data Documentation
◆ lphases_
|
protected |
number of liquid phases
◆ minFlow_
|
staticprotected |
flash calculations will be bypassed when the absolte of the total flow in the total phase is lower than this threshold default value: DBL_EPSILON*100.0
◆ phases_
std::vector<Phase::Mass *> Stream::phases_ |
vector of phases to hold internal values for the phase fractions and molar compositions
◆ sphases_
|
protected |
number of solid phases
◆ Tphase
Phase::Mass* Stream::Tphase |
Total phase of stream
◆ vphases_
|
protected |
number of vapor phases
The documentation for this class was generated from the following file: