OpenCAEPoro  v0.5.0
A simulator for multicomponent porous media flow
Public Member Functions | Protected Attributes | List of all members
BOMixture Class Reference

BOMixture is inherited class of Mixture, it's used for black oil model. More...

#include <MixtureBO.hpp>

Inheritance diagram for BOMixture:
Mixture BOMixture_ODGW BOMixture_OW BOMixture_W

Public Member Functions

void SetupOptionalFeatures (OptionalFeatures &optFeatures, const OCP_USI &numBulk) override
 
void BOMixtureInit (const ParamReservoir &rs_param)
 
void InitFlashFIMn (const OCP_DBL &Pin, const OCP_DBL &Pbbin, const OCP_DBL &Tin, const OCP_DBL *Sjin, const OCP_DBL &Vpore, const OCP_DBL *Ziin, const OCP_USI &bId) override
 
void CalProdWeight (const OCP_DBL &Pin, const OCP_DBL &Tin, const OCP_DBL *Niin, const vector< OCP_DBL > &prodPhase, vector< OCP_DBL > &prodWeight) override
 Calculate ProdWeight for PROD well.
 
void CalProdRate (const OCP_DBL &Pin, const OCP_DBL &Tin, const OCP_DBL *Niin, vector< OCP_DBL > &prodRate) override
 Calculate Production rate for PROD well.
 
OCP_DBL CalInjWellEnthalpy (const OCP_DBL &Tin, const OCP_DBL *Ziin) override
 
OCP_DBL GetErrorPEC () override
 
void OutMixtureIters () const override
 
- Public Member Functions inherited from Mixture
void Allocate ()
 Allocate memory for common variables for basic class.
 
USI GetMixtureType () const
 return type of mixture.
 
virtual void Flash (const OCP_DBL &Pin, const OCP_DBL &Tin, const OCP_DBL *Niin)=0
 flash calculation with saturation of phases.
 
virtual void InitFlashIMPEC (const OCP_DBL &Pin, const OCP_DBL &Pbbin, const OCP_DBL &Tin, const OCP_DBL *Sjin, const OCP_DBL &Vpore, const OCP_DBL *Ziin, const OCP_USI &bId)=0
 
virtual void InitFlashFIM (const OCP_DBL &Pin, const OCP_DBL &Pbbin, const OCP_DBL &Tin, const OCP_DBL *Sjin, const OCP_DBL &Vpore, const OCP_DBL *Ziin, const OCP_USI &bId)=0
 
virtual void FlashIMPEC (const OCP_DBL &Pin, const OCP_DBL &Tin, const OCP_DBL *Niin, const USI &lastNP, const OCP_DBL *xijin, const OCP_USI &bId)=0
 Flash calculation with moles of components.
 
virtual void FlashFIM (const OCP_DBL &Pin, const OCP_DBL &Tin, const OCP_DBL *Niin, const OCP_DBL *Sjin, const USI &lastNP, const OCP_DBL *xijin, const OCP_USI &bId)=0
 Flash calculation with moles of components and Calculate the derivative.
 
virtual void FlashFIMn (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 *phaseExistin, const USI &lastNP, const OCP_USI &bId)=0
 
virtual OCP_DBL XiPhase (const OCP_DBL &Pin, const OCP_DBL &Tin, const OCP_DBL *Ziin, const USI &tarPhase)=0
 return mass density of phase
 
virtual OCP_DBL RhoPhase (const OCP_DBL &Pin, const OCP_DBL &Pbb, const OCP_DBL &Tin, const OCP_DBL *Ziin, const USI &tarPhase)=0
 return mass density of phase
 
virtual void SetupWellOpt (WellOpt &opt, const vector< SolventINJ > &sols, const OCP_DBL &Psurf, const OCP_DBL &Tsurf)=0
 
void CheckNi (const OCP_DBL *Ni)
 
const OCP_DBL & GetNt () const
 
const OCP_DBL & GetNi (const USI &i) const
 
const OCP_DBL & GetVf () const
 
const OCP_BOOL & GetPhaseExist (const USI &j) const
 
const OCP_DBL & GetS (const USI &j) const
 
const OCP_DBL & GetVj (const USI &j) const
 
const OCP_DBL & GetNj (const USI &j) const
 
const OCP_DBL & GetXij (const USI &j, const USI &i) const
 
const OCP_DBL & GetRho (const USI &j) const
 
const OCP_DBL & GetXi (const USI &j) const
 
const OCP_DBL & GetMu (const USI &j) const
 
const OCP_DBL & GetVfP () const
 
const OCP_DBL & GetVfT () const
 
const OCP_DBL & GetVfi (const USI &i) const
 
const OCP_DBL & GetRhoP (const USI &j) const
 
const OCP_DBL & GetRhoT (const USI &j) const
 
const OCP_DBL & GetXiP (const USI &j) const
 
const OCP_DBL & GetXiT (const USI &j) const
 
const OCP_DBL & GetMuP (const USI &j) const
 
const OCP_DBL & GetMuT (const USI &j) const
 
const OCP_DBL & GetRhoX (const USI &j, const USI &i) const
 
const OCP_DBL & GetXiX (const USI &j, const USI &i) const
 
const OCP_DBL & GetMuX (const USI &j, const USI &i) const
 
const OCP_BOOL & GetPSderExist (const USI &j) const
 
const USI & GetPVnumCom (const USI &j) const
 
const vector< OCP_DBL > & GetDXsDXp () const
 
const vector< OCP_DBL > & GetRes () const
 
const OCP_DBL GetResPc () const
 
const OCP_DBL GetUf () const
 
const OCP_DBL GetUfP () const
 
const OCP_DBL GetUfT () const
 
const OCP_DBL GetUfi (const USI &i) const
 
const OCP_DBL GetH (const USI &j) const
 
const OCP_DBL GetHT (const USI &j) const
 
const OCP_DBL & GetHx (const USI &j, const USI &i) const
 

Protected Attributes

OCP_DBL std_RhoO
 < others. More...
 
OCP_DBL std_RhoG
 The density of gas at surface conditions : lb/ft3.
 
OCP_DBL std_RhoW
 The density of water at surface conditions : lb/ft3.
 
- Protected Attributes inherited from Mixture
USI mixtureType
 
OCP_USI bulkId
 index of current bulk
 
USI numPhase
 num of phases.
 
USI numCom
 num of components.
 
OCP_DBL P
 pressure when flash calculation.
 
OCP_DBL T
 temperature when flash calculation.
 
OCP_DBL vf
 volume of total fluids.
 
OCP_DBL Nt
 Total moles of Components.
 
vector< OCP_DBL > Ni
 moles of component: numCom
 
vector< OCP_BOOL > phaseExist
 existence of phase: numPhase
 
vector< OCP_DBL > S
 saturation of phase: numPhase
 
vector< OCP_DBL > vj
 volume of phase: numPhase;
 
vector< OCP_DBL > nj
 mole number of phase j
 
vector< OCP_DBL > xij
 Nij / nj: numPhase*numCom.
 
vector< OCP_DBL > rho
 mass density of phase: numPhase
 
vector< OCP_DBL > xi
 molar density of phase: numPhase
 
vector< OCP_DBL > mu
 viscosity of phase: numPhase
 
OCP_DBL vfP
 
OCP_DBL vfT
 d vf / dT
 
vector< OCP_DBL > vfi
 
vector< OCP_DBL > rhoP
 d rho / dP: numphase
 
vector< OCP_DBL > rhoT
 d rho j / dT: numPhase
 
vector< OCP_DBL > rhox
 d rho[j] / d x[i][j]: numphase * numCom
 
vector< OCP_DBL > xiP
 d xi / dP: numphase
 
vector< OCP_DBL > xiT
 d xi j / dT: numPhase
 
vector< OCP_DBL > xix
 d xi[j] / d x[i][j]: numphase * numCom
 
vector< OCP_DBL > muP
 d mu / dP: numPhase
 
vector< OCP_DBL > muT
 d mu j / dT: numPhase
 
vector< OCP_DBL > mux
 d mu[j] / d x[i][j]: numphase * numCom
 
vector< OCP_DBL > dXsdXp
 derivatives of second variables wrt. primary variables
 
OCP_DBL Uf
 Internal energy of fluid.
 
OCP_DBL UfP
 dUf / dP
 
OCP_DBL UfT
 dUf / dT
 
vector< OCP_DBL > Ufi
 dUf / dNi
 
vector< OCP_DBL > H
 Enthalpy.
 
vector< OCP_DBL > HT
 d Hj / d T
 
vector< OCP_DBL > Hx
 d Hj / d xij
 
vector< OCP_BOOL > pSderExist
 Existence of derivative of phase saturation.
 
vector< USI > pVnumCom
 num of variable components in the phase
 
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
 

Additional Inherited Members

- Protected Member Functions inherited from Mixture
void SetBulkId (const OCP_USI &n)
 

Detailed Description

BOMixture is inherited class of Mixture, it's used for black oil model.

Definition at line 22 of file MixtureBO.hpp.

Member Data Documentation

◆ std_RhoO

OCP_DBL BOMixture::std_RhoO
protected

< others.

The density of oil at surface conditions : lb/ft3

Definition at line 75 of file MixtureBO.hpp.


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