PhaseIdeal< T > Class Template Reference

{vapor, liquid, solid} ideal phase model More...

#include <PhaseIdeal.h>

Inheritance diagram for PhaseIdeal< T >:

Public Member Functions

 PhaseIdeal (Libpf::User::Defaults defaults, uint32_t id=0, Persistency *persistency=nullptr, Persistent *parent=nullptr, Persistent *root=nullptr)
 
 GENERATE_COPY_MOVE (PhaseIdeal)
 
 GENERATE_COPY_MOVE_DERIVED (PhaseIdeal, PhaseM)
 
 ~PhaseIdeal (void)
 
const std::string & type (void) const
 
void initializeNonPersistents (void)
 estimates hidden, non-persistent unknowns from the current results More...
 
- Public Member Functions inherited from PhaseMNProperties
 PhaseMNProperties (Libpf::User::Defaults defaults, uint32_t id=0, Persistency *persistency=nullptr, Persistent *parent=nullptr, Persistent *root=nullptr)
 
virtual ~PhaseMNProperties (void)
 
PhaseMoperator+= (const PhaseM &rhs)
 mixes *this with the phase rhs More...
 
PhaseMoperator-= (const PhaseM &rhs)
 subtracts rhs from *this More...
 
PhaseMoperator*= (const Value &factor)
 scales the phase flows by factor More...
 
void calculateProperties (const Value &Pres, const Value &Temp, bool writeH)
 
const Valuecalculate_P (const Value &rho, const Value &Temp)
 
const Valuecalculate_rho (const Value &Pres, const Value &Temp) const
 calculates molar density in kmol/m3 More...
 
const Valuecalculate_H (const Value &Pres, const Value &Temp) const
 calculates molar enthalpy in J/kmol More...
 
const Valuecalculate_Cp (const Value &Pres, const Value &Temp) const
 calculates molar constant pressure heat capacity in J/kmol/K More...
 
const Valuecalculate_S (const Value &Pres, const Value &Temp) const
 calculates molar entropy in J/kmol/K More...
 
Value mu (const Value &Pres, const Value &Temp) const
 
Value kappa (const Value &Pres, const Value &Temp) const
 
Value sigma (const Value &Pres, const Value &Temp) const
 
Value prandtl (const Value &Pres, const Value &Temp) const
 
- Public Member Functions inherited from PhaseMN
 PhaseMN (Libpf::User::Defaults defaults, uint32_t id=0, Persistency *persistency=nullptr, Persistent *parent=nullptr, Persistent *root=nullptr)
 
void calculateX (const MassBalanceMode &mb)
 
void setEquimolar (const MassBalanceMode &mb)
 
void setEquimass (const MassBalanceMode &mb)
 
void setPure (const MassBalanceMode &mb, int i)
 
void setImpure (const MassBalanceMode &mb, int i, double eps)
 
void setEquimolarNoKey (const MassBalanceMode &mb, int i)
 
void setEquimassNoKey (const MassBalanceMode &mb, int i)
 
void setSymmetrical (const MassBalanceMode &mb, double eps)
 
void setAsymmetrical (const MassBalanceMode &mb, bool increasing, double eps)
 
void calculate (int level=0)
 
bool isPure (void)
 
MassBalanceMode representation (void) const
 return default flow base More...
 
Valuetotalflow (void)
 return total flow in the default flow base More...
 
Valueflow (int i)
 return flow for component i in the default flow base More...
 
const Valueflow (int i) const
 return flow for component i in the default flow base More...
 
Valuefrac (int i)
 return fraction for component i in the default flow base More...
 
std::vector< Quantity > & fracs (void)
 return reference to the fractions for all components in the default flow base More...
 
void clearcomposition (const MassBalanceMode &mb)
 
- Public Member Functions inherited from PhaseM
 PhaseM (Libpf::User::Defaults defaults, uint32_t id=0, Persistency *persistency=nullptr, Persistent *parent=nullptr, Persistent *root=nullptr)
 
 GENERATE_COPY_MOVE_BASE (PhaseM)
 
void setptype (PhaseType pt)
 Set the phase type to pt (Vapor, Liquid, Solid) More...
 
PhaseType ptype (void) const
 Returns the phase type. More...
 
void setpid (PhaseIndex pi, int ordinal=0)
 Set the PhaseIndex pi plus ordinal. More...
 
PhaseIndex pid (void) const
 Returns the phase index. More...
 
void setSymmetrical (const MassBalanceMode &mb, double eps)
 
void setAsymmetrical (const MassBalanceMode &mb, bool increasing, double eps)
 
PhaseMsumcomponents (const PhaseM &rhs, int istart, int iend)
 
PhaseMsubtractcomponents (const PhaseM &rhs, int istart, int iend)
 
ObjectiveNleAdobjectiveFunction (void)
 returns a pointer to the model's objective function More...
 
void setup (void)
 performs initializations required immediately before solution More...
 
Category category (void) const
 return model Category More...
 
- 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 PhaseInterfaceIdeal
 PhaseInterfaceIdeal (void)
 
const Valuefugacity (int i) const
 

Static Public Attributes

static const std::string type_
 

Additional Inherited Members

- Public Attributes inherited from PhaseMNProperties
Quantity vdot
 Volume flow. More...
 
Quantity v
 Molar volume. More...
 
Quantity rho
 Mass Density. More...
 
Quantity h
 Specific Enthalpy, by mass. More...
 
Quantity H
 Specific Enthalpy, by moles. More...
 
Quantity cp
 Specific Heat, by mass. More...
 
Quantity Cp
 Specific Heat, by moles. More...
 
Quantity s
 Specific Entropy, by mass. More...
 
Quantity S
 Specific Entropy, by moles. More...
 
Quantity g
 Specific Gibbs free energy, by mass. More...
 
- Public Attributes inherited from PhaseMN
Quantity AMW
 Average molecular weight. More...
 
Quantity ndot
 Mole flow. More...
 
std::vector< Quantityx
 Mole fraction. More...
 
std::vector< Quantityndotcomps
 Mole flow of each component. More...
 
- Public Attributes inherited from PhaseM
Quantity fraction
 phase fraction More...
 
Quantity mdot
 Mass flow. More...
 
std::vector< Quantityw
 Mass fraction. More...
 
std::vector< Quantitymdotcomps
 Mass flow of each component. More...
 
- 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...
 
- Protected Member Functions inherited from PhaseMNProperties
void calculateMw_ (void)
 assumes the phase has mdot and w[] filled in More...
 
void calculateM_ (void)
 assumes the phase has mdotcomps[] filled in More...
 
void calculateNx_ (void)
 perform calculation assuming the phase has ndot and x[] filled in (default) More...
 
void calculateMx_ (void)
 assumes the phase has mdot and x[] filled in More...
 
void calculateNw_ (void)
 assumes the phase has ndot and w[] filled in More...
 
void calculateN_ (void)
 assumes the phase has ndotcomps[] filled in More...
 
- Protected Member Functions inherited from PhaseM
void addVariables (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 PhaseInterfaceIdeal
const Valuecalculate_P_ (const Value &rho, const Value &Temp, const Vector &x, const Value &sum) const
 
const Valuecalculate_rho_ (const Value &Pres, const Value &Temp, const Vector &x) const
 
const Valuecalculate_H_ (const Value &Pres, const Value &Temp, const Vector &x) const
 
const Valuecalculate_S_ (const Value &Pres, const Value &Temp, const Vector &x) const
 
const Valuecalculate_Cp_ (const Value &Pres, const Value &Temp, const Vector &x) const
 
Value mu_ (const Value &T, const Value &P, const Vector &x) const
 dynamic viscosity, Pa*m More...
 
Value kappa_ (const Value &TT, const Value &PP, const Vector &x) const
 thermal conductivity, W/(m*K) More...
 
Value sigma_ (const Value &T, const Value &P, const Vector &x) const
 surface tension, N/m More...
 
void prepare (const Value &, const Vector &)
 
void preparefugacity (const Value &Pres, const Value &Temp, const Vector &x, const Value &sumx) const
 for PhaseInterfaceIdeal, the fugacity coefficients do not depend on the composition 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 PhaseInterfaceIdeal
Value P_
 
Value rhomol_
 
Value vmol_
 
Value rhomoli_
 
Value hmol_
 
Value hmoli_
 
Value smol_
 
Value smoli_
 
Value cpmol_
 
Value cpmoli_
 
std::vector< Valuephi_
 

Detailed Description

template<enum PhaseType::type T>
class PhaseIdeal< T >

{vapor, liquid, solid} ideal phase model

#include <libpf/phases/PhaseIdeal.h>

Remarks
Warning
Requires the list of components to be populated before the construction
Thread safe:
Extendable:
Platform dependencies:

Constructor & Destructor Documentation

template<enum PhaseType::type T>
PhaseIdeal< T >::PhaseIdeal ( Libpf::User::Defaults  defaults,
uint32_t  id = 0,
Persistency persistency = nullptr,
Persistent parent = nullptr,
Persistent root = nullptr 
)
template<enum PhaseType::type T>
PhaseIdeal< T >::~PhaseIdeal ( void  )

Member Function Documentation

template<enum PhaseType::type T>
PhaseIdeal< T >::GENERATE_COPY_MOVE ( PhaseIdeal< T >  )
template<enum PhaseType::type T>
PhaseIdeal< T >::GENERATE_COPY_MOVE_DERIVED ( PhaseIdeal< T >  ,
PhaseM   
)
template<enum PhaseType::type T>
void PhaseIdeal< T >::initializeNonPersistents ( void  )
virtual

estimates hidden, non-persistent unknowns from the current results

Implements Model.

template<enum PhaseType::type T>
const std::string& PhaseIdeal< T >::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

template<enum PhaseType::type T>
const std::string PhaseIdeal< T >::type_
static

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