#include <Flash.h>

Public Member Functions | |
Flash (void) | |
int | niter (void) const override |
return Flash iterations More... | |
void | prepare_Flash_residuals (void) override |
Value | calculateResidualsPressure (void) |
virtual Value | calculateResidualsFlashMode (void) |
virtual void | clip_ (void) |
int | calculateResiduals (std::vector< Value > &y, uint32_t offset) override |
void | estimate (const Value &Pres, const Value &Temp) override |
const Value & | Fraction (Libpf::Utility::PhaseIndex p, bool clip) const override |
during Flash iterations use this function to get the actual estimate of the fraction of phase p More... | |
Vector | X (Libpf::Utility::PhaseIndex p) const override |
const Value & | Sumx (Libpf::Utility::PhaseIndex p) const override |
void | estimateEquilibrium (const Value &Pres, const Value &Temp) override |
estimate equilibrium-related unknowns More... | |
SolverNleInterface * | solver (void) override |
bool | converged (void) const override |
returns true if the flash has been solved successfully, More... | |
![]() | |
ObjectiveNleAd (std::string t) | |
constructor More... | |
double | xmin (unsigned int i) |
return the lower bound on unknown i More... | |
double | xmax (unsigned int i) |
return the upper bound on unknown i More... | |
unsigned int | size (void) const override |
returns the current size of the problem More... | |
void | scalex (double *x) override |
transforms the vector of "real" variables x by applying the scaling More... | |
void | unscalex (double *x) override |
transforms back the vector of scaled variables x by applying the unscaling More... | |
void | operator() (double *, double *, Jacobian *J) override |
implements the () operator by calling calculateResiduals; derived class may override it More... | |
void | addUnknown (Value *x, Scaler scaler, const std::string &tag) |
void | changeUnknown (unsigned int i, Value *x, Scaler scaler, const std::string &tag) |
change the i-th unknown More... | |
void | addObjectiveFunction (ObjectiveNleAd &of) |
append the remote objective function More... | |
![]() | |
ObjectiveNleAuto (std::string t) | |
constructor More... | |
virtual unsigned int | size (void) const |
returns the current size of the problem 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 | scalex (double *) override |
transforms the vector of "real" variables x by applying the scaling More... | |
void | unscalex (double *x) override |
transforms back the vector of scaled variables x by applying the unscaling More... | |
void | operator() (double *, double *, Jacobian *J) override |
implements the () operator by calling calculateResiduals; derived class may override it More... | |
void | setx (unsigned int i, Value &x) |
sets the i-th unknown to x More... | |
const Value & | unknown (unsigned int i) const |
returns a reference to the i-th unknown More... | |
const std::string & | unknownTag (unsigned int i) const |
returns a reference to the tag of the i-th unknown More... | |
double | xmin (unsigned int i) |
return the lower bound on unknown i More... | |
double | xmax (unsigned int i) |
return the upper bound on unknown i More... | |
void | print (void) const |
lists unknowns More... | |
const std::string & | tagof (void) const |
returns the tag of the instance More... | |
void | settagof (std::string t) |
sets the tag of the instance More... | |
void | appendtagof (const std::string &t) |
appends to the tag of the instance More... | |
int | zero_residuals (std::vector< Value > &y, uint32_t offset) |
virtual int | calculateResiduals (std::vector< Value > &y, uint32_t offset)=0 |
void | addUnknown (Value *x, const std::string &tag) |
void | changeUnknown (unsigned int i, Value *x, const std::string &tag) |
change the i-th unknown More... | |
![]() | |
ObjectiveNleInterface (void) | |
virtual void | operator() (double *x, double *y, Jacobian *J)=0 |
computes the objective function vector y at the point x and optionally the Jacobian J More... | |
virtual void | scalex (double *x)=0 |
transforms the vector of "real" variables x by applying the scaling More... | |
virtual void | unscalex (double *x)=0 |
transforms back the vector of scaled variables x by applying the unscaling More... | |
![]() | |
Diagnostic (void) | |
void | setVerbosity (int verbosity) |
sets the verbosity level for this instance More... | |
int | verbosity (void) const |
![]() | |
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... | |
Protected Member Functions | |
void | setFlash_ (const Libpf::Utility::FlashMode &fm, const Value &x, const Value &y, bool strict=true) override |
Set the stream's state variables and the Flash. More... | |
int | solveFlash (bool simultaneous, bool skip) override |
std::string | message (int code) override |
void | setup_ (std::vector< Value * > pbeta_, std::vector< const double * > pbetamin_, std::vector< const double * > pbetamax_) override |
void | calculateInertSolids (const std::vector< Quantity > &totalx, std::vector< Quantity > &inertx, MutableVector fluidx, Value &inertfraction, Value &fluidfraction) |
![]() | |
void | prepare_ (double *x, Jacobian *J) override |
uscales x (unknowns) values from calling function and puts them in x_ Quantities More... | |
void | packResults_ (double *x, double *y, Jacobian *J) |
~ObjectiveNleAd () | |
![]() | |
~ObjectiveNleAuto () | |
![]() | |
~ObjectiveNleInterface () | |
![]() | |
virtual | ~Diagnostic ()=default |
![]() | |
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 Attributes | |
Value | sumx_ |
sum of molar fractions, or liquid phase molar fractions for multiphase derived classes More... | |
std::vector< Quantity > * | remotex_ |
SolverNle | NLEFlash_ |
Newton solver for the Flash. More... | |
![]() | |
std::vector< Scaler > | scaler_ |
provide scaling and unscaling More... | |
![]() | |
std::vector< Value > | residuals |
Residuals. More... | |
![]() | |
int | verbosityInstance |
![]() | |
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... | |
Additional Inherited Members | |
![]() | |
int | verbosityLocal |
Detailed Description
single-phase Flash
#include <libpf/streams/Flash.h>
- Remarks
- Warning
- Thread safe:
- Extendable:
- Platform dependencies:
Constructor & Destructor Documentation
◆ Flash()
Flash::Flash | ( | void | ) |
Member Function Documentation
◆ calculateInertSolids()
|
protected |
split away inert solids, for inert-solid containing Streams
- Parameters
-
[in] totalx the molar fractions of the total phase [out] inertx the molar fractions of the inert-solid containing phase [out] fluidx the molar fractions of the fluid containing phase [out] inertfraction the fraction of the inert-solid containing phase [out] fluidfraction the fraction of the fluid containing phase
◆ calculateResiduals()
|
overridevirtual |
evaluates the residuals, placing them into the supplied vector at the given offset
- Parameters
-
[out] y the vector of residuals to fill in [in] offset the offset inside the vector of residuals
- Returns
- the number of evaluated residuals
- Note
- by contract, implementations should write some value in the y[offset] .. y[offset+returned:value-1] and leave the rest of the vector unchanged
- if the objective function is designed to be solved by itself (i.e. not part of an assembly of objective functions, the offset parameter can be safely ignored
Implements ObjectiveNleAuto.
◆ calculateResidualsFlashMode()
◆ calculateResidualsPressure()
Value Flash::calculateResidualsPressure | ( | void | ) |
◆ clip_()
|
virtual |
clip unknowns within feasible reanges must be overridden when more unknowns are present
◆ converged()
|
overridevirtual |
returns true if the flash has been solved successfully,
- See also
- SolverNleInterface::nonConverged
Implements FlashBase.
◆ estimate()
◆ estimateEquilibrium()
estimate equilibrium-related unknowns
Implements FlashBase.
Reimplemented in StreamIapwsLiquidVapor, and StreamTwo< FlashVl >.
◆ Fraction()
|
overridevirtual |
during Flash iterations use this function to get the actual estimate of the fraction of phase p
- Parameters
-
p index of the phase clip whether to clip the fraction between 0 and 1
Implements FlashBase.
Reimplemented in FlashVl, and StreamOneSolid.
◆ message()
|
overrideprotectedvirtual |
Implements FlashBase.
◆ niter()
◆ prepare_Flash_residuals()
|
inlineoverridevirtual |
◆ setFlash_()
|
overrideprotectedvirtual |
◆ setup_()
|
overrideprotectedvirtual |
◆ solveFlash()
|
overrideprotectedvirtual |
solve the flash if !simultaneous, only calls calculateResiduals if simultaneous
- Parameters
-
simultaneous used if the flash is to solved during a simultaneous resolution of a larger set of equations skip skip flash calculation and force the residuals to zero; used for streams with negligible flow
Implements FlashBase.
◆ solver()
|
overridevirtual |
Implements FlashBase.
◆ Sumx()
|
overridevirtual |
◆ X()
|
overridevirtual |
during Flash iterations use this function to get the actual estimate of the molar fractions for phase p
Implements FlashBase.
Reimplemented in FlashVl, and StreamOneSolid.
Member Data Documentation
◆ NLEFlash_
◆ remotex_
|
protected |
◆ sumx_
|
protected |
sum of molar fractions, or liquid phase molar fractions for multiphase derived classes
The documentation for this class was generated from the following file: