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
 
ObjectiveNleAdobjectiveFunction (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...
 
- Public Member Functions inherited from Stream
 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...
 
Streamoperator+= (const Stream &)
 
Streamoperator*= (const Value &factor)
 
Streamoperator/= (const Value &factor)
 
PhaseMfindPhase (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 ValuecalculateTotalP (const Value &rho) const
 
const ValuecalculateTotalRho (void) const
 calculates total molar density for all phases in kmol/m3 More...
 
const ValuecalculateTotalH (void) const
 calculates molar enthalpy for all phases in J/kmol based on current values of the hidden unknowns More...
 
const ValuecalculateTotalS (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)
 
- Public Member Functions inherited from EdgeBase
 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
 
- Public Member Functions inherited from Model
 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
 
- Public Member Functions inherited from Object
 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...
 
Nodeoperator= (const Node &)
 copy assignment operator More...
 
Nodeoperator= (Node &&other)
 move assignment More...
 
 ~Object (void)
 
const std::string & type (void) const
 
Objectat (const std::string &fullRelativeTag)
 
const Objectat (const std::string &fullRelativeTag) const
 
Objectat (const std::string &fullRelativeTag, int index)
 
const ValueQ (const std::string &tag) const
 
const ValueQ (const std::string &tag, int index) const
 
const ValueQ (const std::string &tag, int row, int column) const
 
ValueQ (const std::string &tag)
 
ValueQ (const std::string &tag, int index)
 
ValueQ (const std::string &tag, int row, int column)
 
const ValueQ (const std::string &tag, std::string componentName) const
 
ValueQ (const std::string &tag, std::string componentName)
 
const ValueQ (const std::string &tag, int index, std::string componentName) const
 
ValueQ (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
 
- Public Member Functions inherited from Node
 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< Nodeclone (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...
 
NodeaddChild (std::string type, uint32_t id, Persistency *persistency)
 
NodeaddChild (std::string type, Libpf::User::Defaults defaults)
 
NodeaddChild (const Node &child)
 
NodeaddChild (std::unique_ptr< Node > child)
 
std::unique_ptr< Nodeprune (const std::string &tag)
 
const Nodechild (const std::string &tag) const
 
Nodeat (const std::string &fullRelativeTag)
 
const Nodeat (const std::string &fullRelativeTag) const
 
uint32_t descendants (void) const
 
Persistentroot (void) const
 
void renameChild (const std::string &oldName, const std::string &newName)
 
bool existsChild (std::string tag) const
 
bool exists (uint32_t id)
 
Nodesearch (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
 
- 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...
 
Persistentoperator= (const Persistent &)
 copy assignment More...
 
 Persistent (Persistent &&other)
 move constructor More...
 
Persistentoperator= (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
 
- Public Member Functions inherited from Item
 Item (const Item &other)
 copy constructor copies all elements but parent which is set to nullptr More...
 
Itemoperator= (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...
 
Itemoperator= (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 Persistentparent (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
 
- 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)
 
- Public Member Functions inherited from FlashBase
 FlashBase (void)
 
void setIdeal (bool i)
 
bool isIdeal (void)
 
const ValueTemperature (void) const
 
const ValuePressure (void) const
 
- Public Member Functions inherited from Flash
 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 ValueFraction (PhaseIndex p) const
 
Vector X (PhaseIndex p) const
 
const ValueSumx (PhaseIndex p) const
 
void estimateEquilibrium (const Value &Pres, const Value &Temp)
 estimate equilibrium-related unknowns More...
 
SolverNleInterfacesolver (void)
 
bool converged (void) const
 returns true if the flash has been solved successfully, More...
 
- Public Member Functions inherited from ObjectiveNleAd
 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...
 
- Public Member Functions inherited from ObjectiveNleAuto
 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 Valueunknown (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...
 
- Public Member Functions inherited from ObjectiveNleInterface
 ObjectiveNleInterface (void)
 

Public Attributes

String embeddedTypePhase
 type of the embedded phase More...
 
- Public Attributes inherited from Stream
Quantity T
 Temperature. More...
 
Quantity P
 Pressure. More...
 
Integer NITER_NLEFlash
 Number of iterations for Flash. More...
 
String flowoption
 
String flashoption
 
PhaseMTphase
 
std::vector< PhaseM * > phases
 vector of phases to hold internal values for the phase fractions and molar compositions More...
 
- Public Attributes inherited from EdgeBase
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
 
- Public Attributes inherited from Model
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...
 
- Public Attributes inherited from Precedence
int weight
 for backTrack_ and findCycles More...
 
- Public Attributes inherited from ObjectiveNleInterface
int verbosityLocal
 

Static Public Attributes

static const std::string type_
 

Additional Inherited Members

- Public Types inherited from Calculatable
enum  SolutionMode { Null = 0, sequential, simultaneous, singlePassSimultaneous }
 
- Protected Member Functions inherited from Stream
void addVariables (void)
 
PhaseMaddPhase (std::string type, std::string tag, std::string description, 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::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)
 
- Protected Member Functions inherited from Object
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...
 
Objectoperator= (const Object &)
 copy assignment operator More...
 
Objectoperator= (Object &&other)
 move assignment operator More...
 
- Protected Member Functions inherited from Node
int offset (void) const
 
- Protected Member Functions inherited from Flash
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)
 
- Protected Member Functions inherited from ObjectiveNleAd
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 ()
 
- Protected Member Functions inherited from ObjectiveNleAuto
 ~ObjectiveNleAuto ()
 
- Protected Member Functions inherited from ObjectiveNleInterface
 ~ObjectiveNleInterface ()
 
- Protected Attributes inherited from Stream
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
Persistentparent_
 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
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...
 
- Protected Attributes inherited from Flash
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...
 
- Protected Attributes inherited from ObjectiveNleAd
std::vector< Scalerscaler_
 provide scaling and unscaling More...
 
- Protected Attributes inherited from ObjectiveNleAuto
std::vector< Valueresiduals
 Residuals. More...
 
- Static Protected Attributes inherited from Stream
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 
)
StreamOne::~StreamOne ( void  )
inline

Member Function Documentation

int StreamOne::calculateResidualsEquilibrium ( std::vector< Value > &  ,
uint32_t   
)
inlinevirtual

implement FlashBase virtual

Implements FlashBase.

StreamOne::GENERATE_COPY_MOVE ( StreamOne  )
StreamOne::GENERATE_COPY_MOVE_DERIVED ( StreamOne  ,
Stream   
)
ObjectiveNleAd* StreamOne::objectiveFunction ( void  )
inlinevirtual

returns a pointer to the model's objective function

Implements Model.

void StreamOne::prepare_residuals ( void  )
virtual

override stream; calculates sumx

Reimplemented from Stream.

MassBalanceMode StreamOne::representation ( void  ) const
inlinevirtual

return default flow base

Implements Stream.

const std::string& StreamOne::type ( void  ) const
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

Implements Item.

Member Data Documentation

String StreamOne::embeddedTypePhase

type of the embedded phase

const std::string StreamOne::type_
static

The documentation for this class was generated from the following file: