adds molar representation to Mass More...

#include <MassMolar.h>

Inheritance diagram for Phase::MassMolar:

Public Member Functions

 MassMolar (Libpf::Persistency::Defaults defaults, uint32_t id=0, Persistency *persistency=nullptr, Persistent *parent=nullptr, Persistent *root=nullptr)
 
 QUANTITY (AMW, "Average molecular weight", 18.0, "kg/kmol")
 
 QUANTITY (ndot, "Molar flow", 10000.0/18.0, "kmol/h")
 
void calculateX (const Libpf::Utility::MassBalanceMode &mb) override
 
void setEquimolar (const Libpf::Utility::MassBalanceMode &mb) override
 sets equimolar composition, based on the supplied mass balance mode More...
 
void setEquimass (const Libpf::Utility::MassBalanceMode &mb) override
 sets equimass composition, based on the supplied mass balance mode More...
 
void setPure (const Libpf::Utility::MassBalanceMode &mb, int i) override
 sets phase composition to pure in component i, based on the supplied mass balance mode More...
 
void setImpure (const Libpf::Utility::MassBalanceMode &mb, int i, double eps) override
 sets phase composition to almost pure, based on the supplied mass balance mode More...
 
void setEquimolarNoKey (const Libpf::Utility::MassBalanceMode &mb, int i) override
 sets equimolar composition except for component i, based on the supplied mass balance mode More...
 
void setEquimassNoKey (const Libpf::Utility::MassBalanceMode &mb, int i) override
 sets equimass composition except for component i, based on the supplied mass balance mode More...
 
void setSymmetrical (const Libpf::Utility::MassBalanceMode &mb, double eps)
 sets phase composition to a symmetrical distribution, based on the supplied mass balance mode; More...
 
void setAsymmetrical (const Libpf::Utility::MassBalanceMode &mb, bool increasing, double eps)
 sets phase composition to an asymmetrical distribution, based on the supplied mass balance mode; More...
 
void calculate (int level=0) override
 
bool isPure (void) override
 
Libpf::Utility::MassBalanceMode representation (void) const override
 return default flow base More...
 
ValuetotalFlow (void) override
 return total flow in the default flow base More...
 
Valueflow (int i) override
 return flow for component i in the default flow base More...
 
const Valueflow (int i) const override
 return flow for component i in the default flow base More...
 
Valuefrac (int i) override
 return fraction for component i in the default flow base More...
 
std::vector< Quantity > & fracs (void) override
 return reference to the fractions for all components in the default flow base More...
 
void clearComposition (const Libpf::Utility::MassBalanceMode &mb) override
 set to zero the composition of each component, based on the supplied mass balance mode More...
 
Massoperator+= (const Mass &rhs) override
 mixes *this with the phase rhs More...
 
Massoperator-= (const Mass &rhs) override
 subtracts rhs from *this More...
 
Massoperator*= (const Value &factor) override
 scales the phase flows by factor More...
 
- Public Member Functions inherited from Phase::Mass
 Mass (Libpf::Persistency::Defaults defaults, uint32_t id=0, Persistency *persistency=nullptr, Persistent *parent=nullptr, Persistent *root=nullptr)
 
 GENERATE_COPY_MOVE_BASE (Mass)
 
 QUANTITY (fraction, "phase fraction", one, "")
 
 QUANTITY (mdot, "mass flow", 10000.0, "kg/h")
 
virtual void setPhaseType (Libpf::Utility::PhaseType pt)
 Set the phase type to pt (Vapor, Liquid, Solid) More...
 
Libpf::Utility::PhaseType phaseType (void) const
 Returns the phase type. More...
 
void setPhaseIndex (Libpf::Utility::PhaseIndex pi, int ordinal=0)
 Set the PhaseIndex pi plus ordinal. More...
 
Libpf::Utility::PhaseIndex phaseIndex (void) const
 Returns the phase index. More...
 
virtual Libpf::Utility::MassBalanceMode representation (void) const
 return default flow base More...
 
virtual ValuetotalFlow (void)
 return total flow in the default flow base More...
 
virtual Valueflow (int i)
 return flow for component i in the default flow base More...
 
virtual const Valueflow (int i) const
 return flow for component i in the default flow base More...
 
virtual Valuefrac (int i)
 return fraction for component i in the default flow base More...
 
virtual std::vector< Quantity > & fracs (void)
 return reference to the fractions for all components in the default flow base More...
 
virtual void calculateProperties (const Value &Pres, const Value &Temp, bool writeH=true)
 
virtual void calculateX (const Libpf::Utility::MassBalanceMode &mb)
 
virtual void setEquimolar (const Libpf::Utility::MassBalanceMode &mb)
 sets equimolar composition, based on the supplied mass balance mode More...
 
virtual void setEquimass (const Libpf::Utility::MassBalanceMode &mb)
 sets equimass composition, based on the supplied mass balance mode More...
 
virtual void setPure (const Libpf::Utility::MassBalanceMode &mb, int i)
 sets phase composition to pure in component i, based on the supplied mass balance mode More...
 
virtual void setImpure (const Libpf::Utility::MassBalanceMode &mb, int i, double eps)
 sets phase composition to almost pure, based on the supplied mass balance mode More...
 
virtual void setEquimolarNoKey (const Libpf::Utility::MassBalanceMode &mb, int i)
 sets equimolar composition except for component i, based on the supplied mass balance mode More...
 
virtual void setEquimassNoKey (const Libpf::Utility::MassBalanceMode &mb, int i)
 sets equimass composition except for component i, based on the supplied mass balance mode More...
 
void setSymmetrical (const Libpf::Utility::MassBalanceMode &mb, double eps)
 sets phase composition to a symmetrical distribution, based on the supplied mass balance mode; More...
 
void setAsymmetrical (const Libpf::Utility::MassBalanceMode &mb, bool increasing, double eps)
 sets phase composition to an asymmetrical distribution, based on the supplied mass balance mode; More...
 
virtual bool isPure (void)
 
virtual void clearComposition (const Libpf::Utility::MassBalanceMode &mb)
 
virtual Massoperator+= (const Mass &rhs)
 mixes *this with the phase rhs More...
 
virtual Massoperator-= (const Mass &rhs)
 subtracts rhs from *this More...
 
virtual Massoperator*= (const Value &factor)
 scales the phase flows by factor More...
 
MassaddComponents (const Mass &rhs, int istart, int iend)
 
MasssubtractComponents (const Mass &rhs, int istart, int iend)
 
ObjectiveNleAdobjectiveFunction (void) override
 returns a pointer to the model's objective function More...
 
void calculate (int level=0) override
 
void setup (void) override
 performs initializations required immediately before solution More...
 
Libpf::Utility::Category category (void) const override
 return model Category More...
 
- 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 ObjectiveNleAdobjectiveFunction (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...
 
Nodeoperator= (const Node &) override
 copy assignment operator More...
 
Nodeoperator= (Node &&other) override
 move assignment More...
 
 ~Object (void)
 
const std::string & type (void) const override
 
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
 
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< Nodeclone (void) const
 
virtual Nodeoperator= (const Node &other)
 copy assignment operator copies all elements but root which is set to nullptr More...
 
virtual Nodeoperator= (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...
 
NodeaddChild (std::string type, uint32_t id, Persistency *persistency)
 
NodeaddChild (std::string type, Libpf::Persistency::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
 
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...
 
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
 
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...
 
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 ()
 
const std::string & tag () const
 
const std::string & description () const
 
std::string fullTag () const
 
const Persistentparent () 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 Attributes

std::vector< Quantityx
 Mole fraction. More...
 
std::vector< Quantityndotcomps
 Mole flow of each component. More...
 
- Public Attributes inherited from Phase::Mass
std::vector< Quantityw
 Mass fraction. More...
 
std::vector< Quantitymdotcomps
 Mass flow of each component. More...
 

Protected Member Functions

void calculateMw_ (void) override
 assumes the phase has mdot and w[] filled in More...
 
void calculateM_ (void) override
 assumes the phase has mdotcomps[] filled in More...
 
virtual void calculateNx_ (void)
 perform calculation assuming the phase has ndot and x[] filled in (default) More...
 
virtual void calculateMx_ (void)
 assumes the phase has mdot and x[] filled in More...
 
virtual void calculateNw_ (void)
 assumes the phase has ndot and w[] filled in More...
 
virtual void calculateN_ (void)
 assumes the phase has ndotcomps[] filled in More...
 
- Protected Member Functions inherited from Phase::Mass
void addVariables (void)
 
virtual void calculateMw_ (void)
 assumes the phase has mdot and w[] filled in More...
 
virtual void calculateM_ (void)
 assumes the phase has mdotcomps[] filled in More...
 
- 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...
 
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 Diagnostic
virtual ~Diagnostic ()=default
 

Additional Inherited Members

- 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
 

Detailed Description

adds molar representation to Mass

#include <libpf/phases/MassMolar.h>

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

Constructor & Destructor Documentation

◆ MassMolar()

Phase::MassMolar::MassMolar ( Libpf::Persistency::Defaults  defaults,
uint32_t  id = 0,
Persistency persistency = nullptr,
Persistent parent = nullptr,
Persistent root = nullptr 
)

Member Function Documentation

◆ calculate()

void Phase::MassMolar::calculate ( int  level = 0)
overridevirtual

calculates the model; implementations must call setCalculated

Parameters
levelused for indenting, defaults to 0

Reimplemented from Phase::Mass.

◆ calculateM_()

void Phase::MassMolar::calculateM_ ( void  )
overrideprotectedvirtual

assumes the phase has mdotcomps[] filled in

Reimplemented from Phase::Mass.

Reimplemented in Phase::MassMolarProperties.

◆ calculateMw_()

void Phase::MassMolar::calculateMw_ ( void  )
overrideprotectedvirtual

assumes the phase has mdot and w[] filled in

Reimplemented from Phase::Mass.

Reimplemented in Phase::MassMolarProperties.

◆ calculateMx_()

virtual void Phase::MassMolar::calculateMx_ ( void  )
protectedvirtual

assumes the phase has mdot and x[] filled in

Reimplemented in Phase::MassMolarProperties.

◆ calculateN_()

virtual void Phase::MassMolar::calculateN_ ( void  )
protectedvirtual

assumes the phase has ndotcomps[] filled in

Reimplemented in Phase::MassMolarProperties.

◆ calculateNw_()

virtual void Phase::MassMolar::calculateNw_ ( void  )
protectedvirtual

assumes the phase has ndot and w[] filled in

Reimplemented in Phase::MassMolarProperties.

◆ calculateNx_()

virtual void Phase::MassMolar::calculateNx_ ( void  )
protectedvirtual

perform calculation assuming the phase has ndot and x[] filled in (default)

Reimplemented in Phase::MassMolarProperties.

◆ calculateX()

void Phase::MassMolar::calculateX ( const Libpf::Utility::MassBalanceMode mb)
overridevirtual

Reimplemented from Phase::Mass.

◆ clearComposition()

void Phase::MassMolar::clearComposition ( const Libpf::Utility::MassBalanceMode mb)
overridevirtual

set to zero the composition of each component, based on the supplied mass balance mode

Parameters
mbmass balance mode, one of:
  • 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
Exceptions
ifthe MassBalanceMode is unsupported
Note
does not set the flow to zero; does not change the default MassBalanceMode; does not recalculate the phase

Reimplemented from Phase::Mass.

◆ flow() [1/2]

const Value & Phase::MassMolar::flow ( int  i) const
overridevirtual

return flow for component i in the default flow base

Reimplemented from Phase::Mass.

◆ flow() [2/2]

Value & Phase::MassMolar::flow ( int  i)
overridevirtual

return flow for component i in the default flow base

Reimplemented from Phase::Mass.

◆ frac()

Value & Phase::MassMolar::frac ( int  i)
overridevirtual

return fraction for component i in the default flow base

Reimplemented from Phase::Mass.

◆ fracs()

std::vector< Quantity > & Phase::MassMolar::fracs ( void  )
overridevirtual

return reference to the fractions for all components in the default flow base

Reimplemented from Phase::Mass.

◆ isPure()

bool Phase::MassMolar::isPure ( void  )
overridevirtual
Note
tests on x

Reimplemented from Phase::Mass.

◆ operator*=()

Mass & Phase::MassMolar::operator*= ( const Value factor)
overridevirtual

scales the phase flows by factor

Reimplemented from Phase::Mass.

Reimplemented in Phase::MassMolarProperties.

◆ operator+=()

Mass & Phase::MassMolar::operator+= ( const Mass rhs)
overridevirtual

mixes *this with the phase rhs

Reimplemented from Phase::Mass.

Reimplemented in Phase::MassMolarProperties.

◆ operator-=()

Mass & Phase::MassMolar::operator-= ( const Mass rhs)
overridevirtual

subtracts rhs from *this

Reimplemented from Phase::Mass.

Reimplemented in Phase::MassMolarProperties.

◆ QUANTITY() [1/2]

Phase::MassMolar::QUANTITY ( AMW  ,
"Average molecular weight"  ,
18.  0,
"kg/kmol"   
)

◆ QUANTITY() [2/2]

Phase::MassMolar::QUANTITY ( ndot  ,
"Molar flow ,
10000.0/18.  0,
"kmol/h"   
)

◆ representation()

Libpf::Utility::MassBalanceMode Phase::MassMolar::representation ( void  ) const
inlineoverridevirtual

return default flow base

Reimplemented from Phase::Mass.

◆ setAsymmetrical()

void Phase::MassMolar::setAsymmetrical ( const Libpf::Utility::MassBalanceMode mb,
bool  increasing,
double  eps 
)

sets phase composition to an asymmetrical distribution, based on the supplied mass balance mode;

setAsymmetrical(MassBalanceMode::Nx, true, 1E-5)
will give x = [1E-5, 0.03832, 0.14745, 0.31078, 0.50344]]
will give x = [0.50344, 0.31078, 0.14745, 0.03832, 1E-5]]
std::vector< Quantity > x
Mole fraction.
Definition: MassMolar.h:82
void setAsymmetrical(const Libpf::Utility::MassBalanceMode &mb, bool increasing, double eps)
sets phase composition to an asymmetrical distribution, based on the supplied mass balance mode;
Parameters
mbmass balance mode, one of:
  • 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
[in]increasingif true, the distribution will be increasing, if false it will be decreasing
[in]epsno component will be present in an amount less than eps
Exceptions
ifthe MassBalanceMode is unsupported
Note
does not recalculate the phase
only molar or mass fractions are supported

◆ setEquimass()

void Phase::MassMolar::setEquimass ( const Libpf::Utility::MassBalanceMode mb)
overridevirtual

sets equimass composition, based on the supplied mass balance mode

Parameters
mbmass balance mode, one of:
  • 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
Exceptions
ifthe MassBalanceMode is unsupported
Note
does not recalculate the phase

Reimplemented from Phase::Mass.

◆ setEquimassNoKey()

void Phase::MassMolar::setEquimassNoKey ( const Libpf::Utility::MassBalanceMode mb,
int  i 
)
overridevirtual

sets equimass composition except for component i, based on the supplied mass balance mode

Parameters
mbmass balance mode, one of:
  • 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
icomponent index of the absent component
Exceptions
ifthe MassBalanceMode is unsupported
Note
does not recalculate the phase

Reimplemented from Phase::Mass.

◆ setEquimolar()

void Phase::MassMolar::setEquimolar ( const Libpf::Utility::MassBalanceMode mb)
overridevirtual

sets equimolar composition, based on the supplied mass balance mode

Parameters
mbmass balance mode, one of:
  • 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
Exceptions
ifthe MassBalanceMode is unsupported
Note
does not recalculate the phase

Reimplemented from Phase::Mass.

◆ setEquimolarNoKey()

void Phase::MassMolar::setEquimolarNoKey ( const Libpf::Utility::MassBalanceMode mb,
int  i 
)
overridevirtual

sets equimolar composition except for component i, based on the supplied mass balance mode

Parameters
mbmass balance mode, one of:
  • 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
icomponent index of the absent component
Exceptions
ifthe MassBalanceMode is unsupported
Note
does not recalculate the phase

Reimplemented from Phase::Mass.

◆ setImpure()

void Phase::MassMolar::setImpure ( const Libpf::Utility::MassBalanceMode mb,
int  i,
double  eps 
)
overridevirtual

sets phase composition to almost pure, based on the supplied mass balance mode

Parameters
mbmass balance mode, one of:
  • 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
icomponent index of the mostly present component
epsmolar fraction of the other components
Exceptions
ifthe MassBalanceMode is unsupported
Note
does not recalculate the phase

Reimplemented from Phase::Mass.

◆ setPure()

void Phase::MassMolar::setPure ( const Libpf::Utility::MassBalanceMode mb,
int  i 
)
overridevirtual

sets phase composition to pure in component i, based on the supplied mass balance mode

Parameters
mbmass balance mode, one of:
  • 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
icomponent index of the present component
Exceptions
ifthe MassBalanceMode is unsupported
Note
does not recalculate the phase

Reimplemented from Phase::Mass.

◆ setSymmetrical()

void Phase::MassMolar::setSymmetrical ( const Libpf::Utility::MassBalanceMode mb,
double  eps 
)

sets phase composition to a symmetrical distribution, based on the supplied mass balance mode;

setSymmetrical(MassBalanceMode::Nx, 1E-5)
will give x = [1E-5, 0.29289, 0.41421, 0.29289, 1E-5]
void setSymmetrical(const Libpf::Utility::MassBalanceMode &mb, double eps)
sets phase composition to a symmetrical distribution, based on the supplied mass balance mode;
Parameters
mbmass balance mode, one of:
  • 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
[in]epsno component will be present in an amount less than eps
Exceptions
ifthe MassBalanceMode is unsupported
Note
does not recalculate the phase
only molar or mass fractions are supported

◆ totalFlow()

Value & Phase::MassMolar::totalFlow ( void  )
overridevirtual

return total flow in the default flow base

Reimplemented from Phase::Mass.

Member Data Documentation

◆ ndotcomps

std::vector<Quantity> Phase::MassMolar::ndotcomps

Mole flow of each component.

◆ x

std::vector<Quantity> Phase::MassMolar::x

Mole fraction.


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