OpenCAEPoro
0.2.0 Sep/22/2022
A simulator for multicomponent porous media flow
|
#include <Mixture.hpp>
Public Member Functions | |
void | Allocate () |
Allocate memory for common variables for basic class. | |
virtual void | SetPVTW () |
USI | GetType () const |
return type of mixture. | |
virtual bool | IsEmpty_PVDG () const |
Check whether Table PVDG is empty, it will only be used in black oil model. | |
virtual void | InitFlash (const OCP_DBL &Pin, const OCP_DBL &Pbbin, const OCP_DBL &Tin, const OCP_DBL *Sjin, const OCP_DBL &Vpore, const OCP_DBL *Ziin)=0 |
flash calculation with saturation of phases. | |
virtual void | InitFlashDer (const OCP_DBL &Pin, const OCP_DBL &Pbbin, const OCP_DBL &Tin, const OCP_DBL *Sjin, const OCP_DBL &Vpore, const OCP_DBL *Ziin)=0 |
virtual void | InitFlashDer_n (const OCP_DBL &Pin, const OCP_DBL &Pbbin, const OCP_DBL &Tin, const OCP_DBL *Sjin, const OCP_DBL &Vpore, const OCP_DBL *Ziin)=0 |
virtual void | Flash (const OCP_DBL &Pin, const OCP_DBL &Tin, const OCP_DBL *Niin, const USI &ftype, const USI &lastNP, const OCP_DBL *lastKs)=0 |
Flash calculation with moles of components. | |
virtual void | FlashDeriv (const OCP_DBL &Pin, const OCP_DBL &Tin, const OCP_DBL *Niin, const USI &ftype, const USI &lastNP, const OCP_DBL *lastKs)=0 |
Flash calculation with moles of components and Calculate the derivative. | |
virtual void | FlashDeriv_n (const OCP_DBL &Pin, const OCP_DBL &Tin, const OCP_DBL *Niin, const OCP_DBL *Sjin, const OCP_DBL *xijin, const OCP_DBL *njin, const USI &ftype, const USI *phaseExistin, const USI &lastNP, const OCP_DBL *lastKs)=0 |
virtual OCP_DBL | XiPhase (const OCP_DBL &Pin, const OCP_DBL &Tin, const OCP_DBL *Ziin)=0 |
virtual OCP_DBL | RhoPhase (const OCP_DBL &Pin, const OCP_DBL &Tin, const OCP_DBL *Ziin)=0 |
return mass density of phase. | |
virtual OCP_DBL | GammaPhaseO (const OCP_DBL &Pin, const OCP_DBL &Pbbin)=0 |
return gamma of oil phase, gamma equals to mass density times gravity factor. | |
virtual OCP_DBL | GammaPhaseW (const OCP_DBL &Pin)=0 |
return gamma of water phase, gamma equals to mass density times gravity factor. | |
virtual OCP_DBL | GammaPhaseG (const OCP_DBL &Pin)=0 |
return gamma of gas phase, gamma equals to mass density times gravity factor. | |
virtual OCP_DBL | GammaPhaseOG (const OCP_DBL &Pin, const OCP_DBL &Tin, const OCP_DBL *Ziin)=0 |
void | CheckNi (const OCP_DBL *Ni) |
virtual USI | GetFtype ()=0 |
virtual OCP_SIN | GetMinEigenSkip ()=0 |
virtual bool | GetFlagSkip ()=0 |
virtual OCP_DBL | GetSurTen ()=0 |
virtual OCP_DBL | GetErrorPEC ()=0 |
virtual OCP_ULL | GetSSMSTAiters ()=0 |
virtual OCP_ULL | GetNRSTAiters ()=0 |
virtual OCP_ULL | GetSSMSPiters ()=0 |
virtual OCP_ULL | GetNRSPiters ()=0 |
virtual OCP_ULL | GetRRiters ()=0 |
virtual OCP_ULL | GetSSMSTAcounts ()=0 |
virtual OCP_ULL | GetNRSTAcounts ()=0 |
virtual OCP_ULL | GetSSMSPcounts ()=0 |
virtual OCP_ULL | GetNRSPcounts ()=0 |
virtual OCP_ULL | GetRRcounts ()=0 |
Protected Attributes | |
USI | mixtureType |
USI | numPhase |
num of phases. | |
USI | numCom |
num of components. | |
OCP_DBL | P |
pressure when flash calculation. | |
OCP_DBL | T |
temperature when flash calculation. | |
vector< OCP_DBL > | Ni |
moles of component: numCom | |
vector< bool > | phaseExist |
existence of phase: numPhase | |
vector< OCP_DBL > | S |
saturation of phase: numPhase | |
vector< OCP_DBL > | rho |
mass density of phase: numPhase | |
vector< OCP_DBL > | xi |
molar density of phase: numPhase | |
vector< OCP_DBL > | xij |
vector< OCP_DBL > | nj |
mole number of phase j | |
vector< OCP_DBL > | mu |
viscosity of phase: numPhase | |
vector< OCP_DBL > | v |
volume of phase: numPhase; | |
OCP_DBL | vf |
volume of total fluids. | |
OCP_DBL | Nt |
Total moles of Components. | |
vector< vector< OCP_DBL > > | vji |
dvj / dNi, used in 2 hydrocarbon phase in EOS; or dvj / dnij | |
vector< OCP_DBL > | vjp |
dvj / dp, used in 2 hydrocarbon phase in EOS | |
OCP_DBL | vfp |
vector< OCP_DBL > | vfi |
vector< OCP_DBL > | muP |
d mu / dP: numPhase | |
vector< OCP_DBL > | xiP |
d xi / dP: numphase | |
vector< OCP_DBL > | rhoP |
d rho / dP: numphase | |
vector< OCP_DBL > | muN |
d mu[j] / d N[i]: numphase * numCom | |
vector< OCP_DBL > | xiN |
d xi[j] / d N[i]: numphase * numCom | |
vector< OCP_DBL > | rhoN |
d rho[j] / d N[i]: numphase * numCom | |
vector< OCP_DBL > | mux |
d mu[j] / d x[i][j]: numphase * numCom | |
vector< OCP_DBL > | xix |
d xi[j] / d x[i][j]: numphase * numCom | |
vector< OCP_DBL > | rhox |
d rho[j] / d x[i][j]: numphase * numCom | |
vector< OCP_DBL > | dXsdXp |
the derivates of second variables wrt. primary variables | |
vector< USI > | pEnumCom |
see pEnumCom in bulk | |
vector< OCP_DBL > | res |
residual of a set of equations | |
OCP_DBL | resPc |
a precalculated value | |
vector< OCP_DBL > | keyDer |
d (xij*xi/mu) / dP or dNk | |
Friends | |
class | Bulk |
class | Well |
class | AllWells |
Mixture is an abstract class, who contains all information used for flash calculation including variables, functions. any properties of phases such as mass density can calculated by it. it has the same data structure as the ones in bulks.
Definition at line 28 of file Mixture.hpp.
|
inline |
check if Ni input from param is negative, it's used in debug mode to check Hidden trouble. actually, very small error in very short time may not make trouble.
Definition at line 122 of file Mixture.hpp.
References OCP_ABORT.
|
pure virtual |
return gamma of hydrocarbon mixture, gamma equals to mass density times gravity factor.
Implemented in MixtureComp, and BOMixture.
|
pure virtual |
Return molar density of phase, it's used to calculate the molar density of injection fluids in injection wells.
Implemented in MixtureComp, BOMixture_ODGW, BOMixture_OW, and BOMixture_W.
|
protected |
indicates the type of mixture, black oil or compositional or others.
Definition at line 153 of file Mixture.hpp.
|
protected |
dVf / dNi: numCom the derivative of volume of total fluids with respect to moles of components.
Definition at line 182 of file Mixture.hpp.
|
protected |
dVf / dP, the derivative of volume of total fluids with respect to pressure.
Definition at line 180 of file Mixture.hpp.
|
protected |
Nij / Nj: numPhase*numCom, Nij is the moles of component i in phase j, Nj is the moles of phase j.
Definition at line 166 of file Mixture.hpp.