OpenCAEPoro
v0.5.0
A simulator for multicomponent porous media flow
|
Public Member Functions | |
OCP_DBL | GetErrorPEC () override |
void | OutMixtureIters () const override |
MixtureComp (const ParamReservoir &rs_param, const USI &i) | |
MixtureComp (const ComponentParam ¶m, const USI &i) | |
void | InitPTZ (const OCP_DBL &Pin, const OCP_DBL &Tin, const OCP_DBL *Ziin) |
void | InitPTN (const OCP_DBL &Pin, const OCP_DBL &Tin, const OCP_DBL *Niin) |
void | Flash (const OCP_DBL &Pin, const OCP_DBL &Tin, const OCP_DBL *Niin) override |
flash calculation with saturation of phases. | |
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) override |
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) override |
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 | FlashIMPEC (const OCP_DBL &Pin, const OCP_DBL &Tin, const OCP_DBL *Niin, const USI &lastNP, const OCP_DBL *xijin, const OCP_USI &bId) override |
Flash calculation with moles of components. | |
void | CalFlash () |
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) override |
Flash calculation with moles of components and Calculate the derivative. | |
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) override |
OCP_DBL | XiPhase (const OCP_DBL &Pin, const OCP_DBL &Tin, const OCP_DBL *Ziin, const USI &tarPhase) override |
return mass density of phase | |
OCP_DBL | RhoPhase (const OCP_DBL &Pin, const OCP_DBL &Pbb, const OCP_DBL &Tin, const OCP_DBL *Ziin, const USI &tarPhase) override |
return mass density of phase | |
void | SetupWellOpt (WellOpt &opt, const vector< SolventINJ > &sols, const OCP_DBL &Psurf, const OCP_DBL &Tsurf) 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 |
void | CallId () |
void | AllocateEoS () |
void | SolEoS (OCP_DBL &ZjT, const OCP_DBL &AjT, const OCP_DBL &BjT) const |
void | CalAiBi () |
void | CalAjBj (OCP_DBL &AjT, OCP_DBL &BjT, const vector< OCP_DBL > &xj) const |
void | CalAjBj (OCP_DBL &AjT, OCP_DBL &BjT, const OCP_DBL *xj) const |
USI | CubicRoot (const OCP_DBL &a, const OCP_DBL &b, const OCP_DBL &c, const OCP_BOOL &NTflag=OCP_FALSE) const |
Result is stored in Ztmp. | |
void | PrintZtmp () |
test | |
void | AllocatePhase () |
void | CalFugPhi (vector< OCP_DBL > &phiT, vector< OCP_DBL > &fugT, const vector< OCP_DBL > &xj) |
void | CalFugPhi (OCP_DBL *phiT, OCP_DBL *fugT, const OCP_DBL *xj) |
void | CalFugPhi (OCP_DBL *fugT, const OCP_DBL *xj) |
void | CalFugPhiAll () |
void | CalMW () |
void | CalVfXiRho () |
void | CalSaturation () |
USI | FindMWmax () |
void | x2n () |
x[j][i] -> n[j][i] | |
void | PrintX () |
void | AllocateMethod () |
void | PhaseEquilibrium () |
void | CalKwilson () |
OCP_BOOL | PhaseStable () |
OCP_BOOL | StableSSM (const USI &Id) |
strict SSM | |
OCP_BOOL | StableSSM01 (const USI &Id) |
relaxed SSM | |
OCP_BOOL | StableNR (const USI &Id) |
void | CalFugXSTA () |
Calculate d ln(Fug) / dx for Y. | |
void | AssembleJmatSTA () |
OCP_BOOL | CheckSplit () |
void | PhaseSplit () |
void | SplitSSM (const OCP_BOOL &flag) |
void | SplitSSM2 (const OCP_BOOL &flag) |
void | SplitSSM3 (const OCP_BOOL &flag) |
void | RachfordRice2 () |
Used when NP = 2. | |
void | RachfordRice2P () |
Used when NP = 2, improved Rachford-Rice2. | |
void | RachfordRice3 () |
Used when NP > 2. | |
void | UpdateXRR () |
Update X according to RR. | |
void | SplitBFGS () |
Use BFGS to calculate phase splitting. | |
void | SplitNR () |
Use NR to calculate phase splitting. | |
void | CalResSP () |
void | CalFugNAll (const OCP_BOOL &Znflag=OCP_TRUE) |
void | PrintFugN () |
void | AssembleJmatSP () |
OCP_DBL | CalStepNRsp () |
void | AllocateOthers () |
void | IdentifyPhase () |
void | CopyPhase () |
Copy the basic properties from MixtureComp to Mixture. | |
void | CalViscosity () |
void | CalViscoLBC () |
void | CalViscoHZYT () |
void | CalFugXAll () |
void | CalFugPAll (const OCP_BOOL &Zpflag=OCP_TRUE) |
void | CalVjpVfpVfx_partial () |
void | CalXiPNX_partial () |
void | CalRhoPX_partial () |
void | CalMuPX_partial () |
void | CalMuPXLBC_partial () |
void | CalXiRhoMuPN_pfullx () |
void | CaldXsdXpAPI04 () |
void | CaldXsdXp04 () |
void | CalRhoPNX_full () |
void | CalXiPNX_full01 () |
void | CalRhoPNX_full01 () |
void | CalMuPX_full01 () |
void | CalMuPXLBC_full01 () |
void | CalVfiVfp_full01 () |
void | AssembleMatVfiVfp_full01 () |
void | AssembleRhsVfiVfp_full01 () |
void | CaldXsdXp01 () |
void | CaldXsdXpAPI01 () |
void | CalXiPNX_full02 () |
void | CalVfiVfp_full02 () |
void | AssembleMatVfiVfp_full02 () |
void | AssembleRhsVfiVfp_full02 () |
void | CaldXsdXpAPI02 () |
void | CaldXsdXpAPI02p () |
void | CalVjpVfpVfn_partial () |
void | CalXiPn_partial () |
void | CalRhoPn_partial () |
void | CalMuPn_partial () |
void | CalMuPnLBC_partial () |
void | CalXiRhoMuPN_pfullxn (const OCP_BOOL &xflag=OCP_TRUE) |
void | CaldXsdXpAPI03 () |
void | CaldXsdXp03 () |
void | CalVfiVfp_full03 () |
void | CalKeyDerx () |
void | CalKeyDern () |
void | SetupOptionalFeatures (OptionalFeatures &optFeatures, const OCP_USI &numBulk) override |
Public Member Functions inherited from Mixture | |
void | Allocate () |
Allocate memory for common variables for basic class. | |
USI | GetMixtureType () const |
return type of mixture. | |
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 Member Functions | |
void | AllocateSkip () |
Allocate memory for variables used in skipping stability analysis. | |
void | CalPhiNSkip () |
Calculate d ln phi[i][j] / d n[k][j]. | |
void | AssembleSkipMatSTA () |
Assemble matrix to Calculated eigen value used for skipping. | |
void | CalSkipForNextStep () |
Calculate skip info for next step. | |
void | CalFtypeIMPEC () |
Calculate Flash type for IMPEC. | |
void | CalFtypeFIM (const OCP_DBL *Sjin) |
Calculate Flash type for FIM. | |
void | InputMiscibleParam (const ComponentParam ¶m, const USI &tarId) |
void | CalSurfaceTension () |
Protected Member Functions inherited from Mixture | |
void | SetBulkId (const OCP_USI &n) |
Protected Attributes | |
SkipStaAnaly * | skipSta |
Skip analysis Term pointing to OptionalFeature. | |
USI | ftype {0} |
OCP_BOOL | flagSkip |
If ture, then skipping could be try,. | |
vector< OCP_DBL > | phiN |
d ln phi[i][j] / d n[k][j] | |
vector< OCP_SIN > | skipMatSTA |
vector< OCP_SIN > | eigenSkip |
eigen values of matrix for skipping Skip Stability Analysis. | |
vector< OCP_SIN > | eigenWork |
work space for computing eigenvalues with ssyevd_ | |
Miscible * | misTerm |
Miscible term pointing to OptionalFeature. | |
OCP_BOOL | ifUseMiscible |
OCP_DBL | surTen |
Surface tension between hydrocarbons phases. | |
vector< OCP_DBL > | parachor |
Parachor params of hydrocarbon components. | |
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 | |
Definition at line 125 of file MixtureComp.hpp.
|
overridevirtual |
Becareful if NP > 2 (temp)
Implements Mixture.
Definition at line 575 of file MixtureComp.cpp.
References Mixture::numPhase.
|
overridevirtual |
Setup injZi, injProdPhase and factorINJ for INJ well Setup prodPhaseWeight for PROD well
Implements Mixture.
Definition at line 770 of file MixtureComp.cpp.
References BHP_MODE, GAS, GRATE_MODE, INJ, LRATE_MODE, Mixture::numCom, Mixture::numPhase, OCP_ABORT, ORATE_MODE, PROD, WATER, WRATE_MODE, and XiPhase().
|
protected |
Decide the start point of flash
Definition at line 578 of file MixtureComp.hpp.
|
protected |
Miscible treatment of hydrocarbon phases for compositional Model
Definition at line 600 of file MixtureComp.hpp.
|
protected |
matrix for skipping Stability Analysis
Definition at line 583 of file MixtureComp.hpp.