![]() |
OpenCAEPoro
0.2.0 Sep/22/2022
A simulator for multicomponent porous media flow
|
Public Member Functions | |
| OCP_DBL | GetErrorPEC () override |
| OCP_ULL | GetSSMSTAiters () override |
| OCP_ULL | GetNRSTAiters () override |
| OCP_ULL | GetSSMSPiters () override |
| OCP_ULL | GetNRSPiters () override |
| OCP_ULL | GetRRiters () override |
| OCP_ULL | GetSSMSTAcounts () override |
| OCP_ULL | GetNRSTAcounts () override |
| OCP_ULL | GetSSMSPcounts () override |
| OCP_ULL | GetNRSPcounts () override |
| OCP_ULL | GetRRcounts () override |
| MixtureComp (const ParamReservoir &rs_param, const USI &i) | |
| MixtureComp (const EoSparam ¶m, const USI &i) | |
| 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) override |
| flash calculation with saturation of phases. | |
| 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) override |
| 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) override |
| void | Flash (const OCP_DBL &Pin, const OCP_DBL &Tin, const OCP_DBL *Niin, const USI &ftype, const USI &lastNP, const OCP_DBL *lastKs) override |
| Flash calculation with moles of components. | |
| void | CalFlash (const OCP_DBL &Pin, const OCP_DBL &Tin, const OCP_DBL *Niin) |
| void | FlashDeriv (const OCP_DBL &Pin, const OCP_DBL &Tin, const OCP_DBL *Niin, const USI &ftype, const USI &lastNP, const OCP_DBL *lastKs) override |
| Flash calculation with moles of components and Calculate the derivative. | |
| 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) override |
| OCP_DBL | XiPhase (const OCP_DBL &Pin, const OCP_DBL &Tin, const OCP_DBL *Ziin) override |
| OCP_DBL | RhoPhase (const OCP_DBL &Pin, const OCP_DBL &Tin, const OCP_DBL *Ziin) override |
| return mass density of phase. | |
| OCP_DBL | GammaPhaseO (const OCP_DBL &Pin, const OCP_DBL &Pbbin) override |
| return gamma of oil phase, gamma equals to mass density times gravity factor. | |
| OCP_DBL | GammaPhaseG (const OCP_DBL &Pin) override |
| return gamma of gas phase, gamma equals to mass density times gravity factor. | |
| OCP_DBL | GammaPhaseW (const OCP_DBL &Pin) override |
| return gamma of water phase, gamma equals to mass density times gravity factor. | |
| OCP_DBL | GammaPhaseOG (const OCP_DBL &Pin, const OCP_DBL &Tin, const OCP_DBL *Ziin) override |
| void | setPT (const OCP_DBL &p, const OCP_DBL &t) |
| void | setZi (const OCP_DBL *Ziin) |
| void | setZi () |
| void | setNi (const OCP_DBL *Niin) |
| void | CallId () |
| USI | GetFtype () override |
| void | CalSurfaceTension () |
| OCP_DBL | GetSurTen () override |
| 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 bool &NTflag=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 () |
| bool | PhaseStable () |
| bool | StableSSM (const USI &Id) |
| strict SSM | |
| bool | StableSSM01 (const USI &Id) |
| relaxable SSM | |
| bool | StableNR (const USI &Id) |
| void | CalFugXSTA () |
| Calculate d ln(Fug) / dx for Y. | |
| void | AssembleJmatSTA () |
| bool | CheckSplit () |
| void | PhaseSplit () |
| void | SplitSSM (const bool &flag) |
| void | SplitSSM2 (const bool &flag) |
| void | SplitSSM3 (const bool &flag) |
| void | RachfordRice2 () |
| Used when NP = 2. | |
| void | RachfordRice2P () |
| Used when NP = 2, improved RachfordRice2. | |
| 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 bool &Znflag=true) |
| void | PrintFugN () |
| void | AssembleJmatSP () |
| void | CalPhiNSTA () |
| Calculate d ln phi[i][j] / d n[k][j]. | |
| void | AssembleSkipMatSTA () |
| OCP_DBL | CalStepNRsp () |
| OCP_SIN | GetMinEigenSkip () override |
| bool | GetFlagSkip () override |
| 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 bool &Zpflag=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 bool &xflag=true) |
| void | CaldXsdXpAPI03 () |
| void | CaldXsdXp03 () |
| void | CalVfiVfp_full03 () |
| void | CalKeyDerx () |
| void | CalKeyDern () |
Public Member Functions inherited from Mixture | |
| 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. | |
| void | CheckNi (const OCP_DBL *Ni) |
Additional Inherited Members | |
Protected Attributes inherited from Mixture | |
| 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 | |
Definition at line 127 of file MixtureComp.hpp.
|
overridevirtual |
Becareful if NP > 2 (temp)
Implements Mixture.
Definition at line 514 of file MixtureComp.cpp.
References CONV1, CopyPhase(), Dcopy(), Dnorm1(), OCPTable::Eval_All(), GAS, Mixture::mu, Mixture::muP, Mixture::Ni, Mixture::nj, Mixture::Nt, Mixture::numCom, Mixture::numPhase, OIL, Mixture::pEnumCom, Mixture::phaseExist, Mixture::rho, Mixture::rhoP, Mixture::S, Mixture::v, Mixture::vf, Mixture::vfi, Mixture::vfp, Mixture::vji, Mixture::vjp, Mixture::xi, Mixture::xij, and Mixture::xiP.
|
overridevirtual |
return gamma of hydrocarbon mixture, gamma equals to mass density times gravity factor.
Implements Mixture.
Definition at line 704 of file MixtureComp.cpp.
References GRAVITY_FACTOR, and RhoPhase().
|
overridevirtual |
Return molar density of phase, it's used to calculate the molar density of injection fluids in injection wells.
Implements Mixture.
Definition at line 644 of file MixtureComp.cpp.
References CONV1, OCPTable::Eval_All(), GAS_CONSTANT, and Mixture::numCom.