OpenCAEPoro
v0.5.0
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 | SetupOptionalFeatures (OptionalFeatures &optFeatures, const OCP_USI &numBulk)=0 |
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 | 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)=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 |
virtual void | CalProdWeight (const OCP_DBL &Pin, const OCP_DBL &Tin, const OCP_DBL *Niin, const vector< OCP_DBL > &prodPhase, vector< OCP_DBL > &prodWeight)=0 |
Calculate ProdWeight for PROD well. | |
virtual void | CalProdRate (const OCP_DBL &Pin, const OCP_DBL &Tin, const OCP_DBL *Niin, vector< OCP_DBL > &prodRate)=0 |
Calculate Production rate for PROD well. | |
virtual OCP_DBL | CalInjWellEnthalpy (const OCP_DBL &Tin, const OCP_DBL *Ziin)=0 |
void | CheckNi (const OCP_DBL *Ni) |
virtual OCP_DBL | GetErrorPEC ()=0 |
virtual void | OutMixtureIters () const =0 |
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 Member Functions | |
void | SetBulkId (const OCP_USI &n) |
Protected Attributes | |
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 | |
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 30 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 166 of file Mixture.hpp.
|
pure virtual |
Setup injZi, injProdPhase and factorINJ for INJ well Setup prodPhaseWeight for PROD well
Implemented in MixtureThermal_K01, MixtureComp, BOMixture_ODGW, BOMixture_OW, and BOMixture_W.
|
protected |
indicates the type of mixture, black oil or compositional or others.
Definition at line 238 of file Mixture.hpp.
|
protected |
dVf / dNi: numCom the derivative of volume of total fluids with respect to moles of components.
Definition at line 262 of file Mixture.hpp.
|
protected |
dVf / dP, the derivative of volume of total fluids with respect to pressure.
Definition at line 259 of file Mixture.hpp.