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.