![]() |
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.