![]() |
OpenCAEPoro
v0.5.0
A simulator for multicomponent porous media flow
|
Physical information of each active reservoir bulk. More...
#include <Bulk.hpp>
Classes | |
| class | BulkTypeAIM |
Public Member Functions | |
| void | InputParam (const ParamReservoir &rs_param) |
| Input param from internal data structure ParamReservoir. More... | |
| void | InputParamBLKOIL (const ParamReservoir &rs_param) |
| void | InputParamCOMPS (const ParamReservoir &rs_param) |
| void | InputParamTHERMAL (const ParamReservoir &rs_param) |
| void | InputSatFunc (const ParamReservoir &rs_param) |
| void | InputRockFunc (const ParamReservoir &rs_param) |
| void | InputRockFuncT (const ParamReservoir &rs_param) |
| void | SetupIsoT (const Grid &myGrid) |
| Allocate memory for fluid grid for isothermal model. More... | |
| void | SetupT (const Grid &myGrid) |
| Allocate memory for fluid grid for ifThermal model. | |
| void | SetupOptionalFeatures (const Grid &myGrid, OptionalFeatures &optFeatures) |
| Setup optional features. | |
| OCP_USI | GetBulkNum () const |
| Return the number of bulks. | |
| USI | GetPhaseNum () const |
| Return the number of phases. | |
| USI | GetComNum () const |
| Return the number of components. | |
| void | InitPTSw (const USI &tabrow) |
| Calculate initial equilibrium – hydrostatic equilibration. | |
| void | AllocateRegion (const Grid &myGrid) |
| Allocate memory for region num. | |
| void | SetupBulkType (const Grid &myGrid) |
| Setup Bulk type. | |
| const vector< Mixture * > & | GetMixture () const |
| Return flash. | |
| void | OutMixtureIters () const |
| Output iterations in Mixture. | |
| OCP_BOOL | IfUseEoS () const |
| Return ifUseEoS. | |
| void | AllocateGridRockIsoT (const Grid &myGrid) |
| Allocate memory for Rock properties. | |
| void | AllocateGridRockT (const Grid &myGrid) |
| OCP_DBL | CalFPR () const |
| Calculate average pressure in reservoir. | |
| OCP_DBL | CalFTR () const |
| Calculate average Temperature in reservoir. | |
| OCP_DBL | GetP (const OCP_USI &n) const |
| Return pressure of the n-th bulk. | |
| OCP_DBL | GetSOIL (const OCP_USI &n) const |
| Return oil saturation of the n-th bulk. | |
| OCP_DBL | GetSGAS (const OCP_USI &n) const |
| Return gas saturation of the n-th bulk. | |
| OCP_DBL | GetSWAT (const OCP_USI &n) const |
| Return water saturation of the n-th bulk. | |
| OCP_DBL | CalNRdSmax (OCP_USI &index) |
| Calculate some auxiliary variable, for example, dSmax. | |
| OCP_DBL | GetNRdPmax () const |
| Return NRdPmax. | |
| OCP_DBL | GetNRdNmax () const |
| Return NRdNmax. | |
| OCP_INT | CheckP () const |
| Check if negative P occurs. More... | |
| OCP_INT | CheckT () const |
| Check if negative T occurs. | |
| OCP_INT | CheckNi () |
| Check if negative Ni occurs. More... | |
| OCP_INT | CheckVe (const OCP_DBL &Vlim) const |
| Check if relative volume error is outranged. More... | |
| OCP_INT | CheckCFL (const OCP_DBL &cflLim) const |
| Check if Cfl is outranged. | |
| void | CalMaxChange () |
| Calculate max change of indicator variables. | |
| OCP_DBL | GetdPmax () const |
| Return dPmax. | |
| OCP_DBL | GetdTmax () const |
| Return dTmax. | |
| OCP_DBL | GetdNmax () const |
| Return dNmax. | |
| OCP_DBL | GetdSmax () const |
| Return dSmax. | |
| OCP_DBL | GeteVmax () const |
| Return eVmax. | |
| OCP_DBL | GetMaxCFL () const |
| Return maxCFL. | |
| void | AllocateError () |
| void | ShowFIMBulk (const OCP_BOOL &flag=OCP_FALSE) const |
| Print Bulk which are implicit. | |
| void | AddWellBulkId (const OCP_USI &n) |
| push back an element for wellBulkId | |
Protected Attributes | |
| OCP_USI | numBulk |
| Number of bulks (active grids). | |
| USI | numPhase |
| Number of phase. | |
| USI | numCom |
| Number of component. | |
| USI | numComH |
| Number of HydroCarbon. | |
| vector< OCPTable > | initZi_Tab |
| Initial mole ratio of components vs. depth, table set. | |
| vector< OCPTable > | initT_Tab |
| Initial temperature vs. depth, table set. | |
| vector< OCP_DBL > | initT |
| Initial temperature of each bulk: numBulk. | |
| ParamEQUIL | EQUIL |
| Initial Equilibration. | |
| OCP_DBL | rsTemp |
| Reservoir temperature. | |
| vector< OCP_DBL > | thconp |
| Phase thermal conductivity: numPhase. | |
| USI | NTPVT |
| num of PVT regions | |
| USI | PVTmodeB |
| Identify PVT mode in black-oil model. | |
| vector< USI > | PVTNUM |
| Identify PVT region in black-oil model: numBulk. | |
| vector< Mixture * > | flashCal |
| Flash calculation class. | |
| USI | NTSFUN |
| num of SAT regions | |
| USI | SATmode |
| Identify SAT mode. | |
| vector< USI > | SATNUM |
| Identify SAT region: numBulk. | |
| vector< FlowUnit * > | flow |
| Vector for capillary pressure, relative perm. | |
| vector< vector< OCP_DBL > > | satcm |
| critical saturation when phase becomes mobile / immobile. | |
| USI | NTROCC |
| num of Rock regions | |
| vector< USI > | ROCKNUM |
| index of Rock table for each bulk | |
| vector< Rock * > | rock |
| rock model | |
| vector< USI > | bType |
| Indicate bulk type, 0: rock, 1: rock and fluid. | |
| vector< USI > | bLocation |
| Location of bulk: top, bottom, side. | |
| HeatLoss | hLoss |
| Heat loss iterm. | |
| OCP_BOOL | ifBlackOil {OCP_FALSE} |
| If OCP_TRUE, black-oil model will be used. | |
| OCP_BOOL | ifComps {OCP_FALSE} |
| If OCP_TRUE, compositional model will be used. | |
| OCP_BOOL | ifThermal {OCP_FALSE} |
| Id OCP_TRUE, ifThermal model will be used. | |
| OCP_BOOL | ifUseEoS {OCP_FALSE} |
| If OCP_TRUE, then EoS model is used. | |
| OCP_BOOL | oil {OCP_FALSE} |
| If OCP_TRUE, oil phase could exist. | |
| OCP_BOOL | gas {OCP_FALSE} |
| If OCP_TRUE, gas phase could exist. | |
| OCP_BOOL | water {OCP_FALSE} |
| If OCP_TRUE, water phase could exist. | |
| OCP_BOOL | disGas {OCP_FALSE} |
| If OCP_TRUE, dissolve gas in live oil could exist. | |
| vector< OCP_DBL > | dx |
| Size of cell in x-direction: activeGridNum. | |
| vector< OCP_DBL > | dy |
| Size of cell in y-direction: activeGridNum. | |
| vector< OCP_DBL > | dz |
| Size of cell in z-direction: activeGridNum. | |
| vector< OCP_DBL > | v |
| Volume of grids: activeGridNum. | |
| vector< OCP_DBL > | depth |
| Depth of center of grid cells: activeGridNum. | |
| vector< OCP_DBL > | ntg |
| net to gross of bulk. | |
| vector< OCP_DBL > | poroInit |
| initial rock porosity * ntg. | |
| vector< OCP_DBL > | poro |
| rock porosity * ntg. | |
| vector< OCP_DBL > | rockVp |
| pore volume = Vgrid * ntg * poro. | |
| vector< OCP_DBL > | rockKx |
| current rock permeability along the x direction. | |
| vector< OCP_DBL > | rockKy |
| current rock permeability along the y direction. | |
| vector< OCP_DBL > | rockKz |
| current rock permeability along the z direction. | |
| vector< OCP_DBL > | thconr |
| Rock ifThermal conductivity: activeGridNum. | |
| vector< OCP_DBL > | vr |
| Volume of rock: activeGridNum. | |
| vector< OCP_DBL > | Hr |
| Enthalpy of rock: activeGridNum. | |
| vector< OCP_DBL > | lporo |
| last poro. | |
| vector< OCP_DBL > | lrockVp |
| Pore volume: numBulk. | |
| vector< OCP_DBL > | lvr |
| Last vr: activeGridNum. | |
| vector< OCP_DBL > | lHr |
| Last Hr: activeGridNum. | |
| vector< OCP_DBL > | poroP |
| d poro / d P. | |
| vector< OCP_DBL > | poroT |
| d poro / d T. | |
| vector< OCP_DBL > | vrP |
| d vr / d p, numbulk | |
| vector< OCP_DBL > | vrT |
| dvr / dT: activeGridNum. | |
| vector< OCP_DBL > | HrT |
| dHr / dT: activeGridNum. | |
| vector< OCP_DBL > | lporoP |
| last poroP. | |
| vector< OCP_DBL > | lporoT |
| last poroT. | |
| vector< OCP_DBL > | lvrP |
| last vrp. | |
| vector< OCP_DBL > | lvrT |
| Last vrT. | |
| vector< OCP_DBL > | lHrT |
| Last HrT. | |
| vector< USI > | phase2Index |
| Location of phase according to its name: numPhase. | |
| vector< USI > | phaseNum |
| Num of hydrocarbon phase in each bulk. | |
| vector< OCP_DBL > | Nt |
| Total moles of components in bulks: numBulk. | |
| vector< OCP_DBL > | Ni |
| Moles of component: numCom*numBulk. | |
| vector< OCP_DBL > | vf |
| Total fluid volume: numBulk. | |
| vector< OCP_DBL > | T |
| Temperature: numBulk. | |
| vector< OCP_DBL > | P |
| Pressure: numBulk. | |
| vector< OCP_DBL > | Pb |
| Bubble point pressure: numBulk. | |
| vector< OCP_DBL > | Pj |
| Pressure of phase: numPhase*numBulk. | |
| vector< OCP_DBL > | Pc |
| Capillary pressure of phase: numPhase*numBulk. | |
| vector< OCP_BOOL > | phaseExist |
| Existence of phase: numPhase*numBulk. | |
| vector< OCP_DBL > | S |
| Saturation of phase: numPhase*numBulk. | |
| vector< OCP_DBL > | vj |
| Volume of phase: numPhase*numBulk. | |
| vector< OCP_DBL > | nj |
| moles number of phase: numPhase*numBulk. | |
| vector< OCP_DBL > | xij |
| Nij / Nj: numPhase*numCom*numBulk. | |
| vector< OCP_DBL > | rho |
| Mass density of phase: numPhase*numBulk. | |
| vector< OCP_DBL > | xi |
| Moles density of phase: numPhase*numBulk. | |
| vector< OCP_DBL > | mu |
| Viscosity of phase: numPhase*numBulk. | |
| vector< OCP_DBL > | kr |
| Relative permeability of phase: numPhase*numBulk. | |
| vector< OCP_DBL > | Uf |
| Internal energy of fluid: numBulk. | |
| vector< OCP_DBL > | H |
| Enthalpy of phase: numPhase*numBulk. | |
| vector< OCP_DBL > | kt |
| Coefficient of thermal diffusivity: activeGridNum. | |
| vector< USI > | lphaseNum |
| last phaseNum | |
| vector< OCP_DBL > | lNt |
| last Nt | |
| vector< OCP_DBL > | lNi |
| last Ni | |
| vector< OCP_DBL > | lvf |
| last vf | |
| vector< OCP_DBL > | lT |
| last T | |
| vector< OCP_DBL > | lP |
| last P | |
| vector< OCP_DBL > | lPj |
| last Pj | |
| vector< OCP_DBL > | lPc |
| last Pc | |
| vector< OCP_BOOL > | lphaseExist |
| last phaseExist | |
| vector< OCP_DBL > | lS |
| last S | |
| vector< OCP_DBL > | lvj |
| last vj | |
| vector< OCP_DBL > | lnj |
| last nj | |
| vector< OCP_DBL > | lxij |
| last xij | |
| vector< OCP_DBL > | lrho |
| last rho | |
| vector< OCP_DBL > | lxi |
| last xi | |
| vector< OCP_DBL > | lmu |
| last mu | |
| vector< OCP_DBL > | lkr |
| last kr | |
| vector< OCP_DBL > | lUf |
| last Uf | |
| vector< OCP_DBL > | lH |
| last H | |
| vector< OCP_DBL > | lkt |
| last kt | |
| vector< OCP_DBL > | vfP |
| d vf / d P: numBulk. | |
| vector< OCP_DBL > | vfT |
| d vf / d T, numBulk | |
| vector< OCP_DBL > | vfi |
| d vf / d Ni: numCom*numBulk. | |
| vector< OCP_DBL > | rhoP |
| d Rho / d P: numPhase*numBulk. | |
| vector< OCP_DBL > | rhoT |
| d rhoj / d T: numPhase * numbulk | |
| vector< OCP_DBL > | rhox |
| d Rhoj / d xij: numPhase*numCom*numBulk. | |
| vector< OCP_DBL > | xiP |
| d xi / d P: numPhase*numBulk. | |
| vector< OCP_DBL > | xiT |
| d xij / d T, numPhase * numbulk | |
| vector< OCP_DBL > | xix |
| d Xi_j / d xij: numPhase*numCom*numBulk. | |
| vector< OCP_DBL > | muP |
| d Mu / d P: numPhase*numBulk. | |
| vector< OCP_DBL > | muT |
| d muj / d T: numPhase * numbulk | |
| vector< OCP_DBL > | mux |
| d Muj / d xij: numPhase*numCom*numBulk. | |
| vector< OCP_DBL > | dPcj_dS |
| d Pcj / d Sk: numPhase * numPhase * bulk. | |
| vector< OCP_DBL > | dKr_dS |
| d Krj / d Sk: numPhase * numPhase * bulk. | |
| vector< OCP_DBL > | UfP |
| d Uf / d P: numbulk | |
| vector< OCP_DBL > | UfT |
| d Uf / d T: numbulk | |
| vector< OCP_DBL > | Ufi |
| d Uf / d Ni: numCom * numBulk | |
| vector< OCP_DBL > | HT |
| d Hj / d T: numPhase * numbulk | |
| vector< OCP_DBL > | Hx |
| d Hj / d xij: numPhase * numCom * numbulk | |
| vector< OCP_DBL > | ktP |
| d kt / d P: numbulk | |
| vector< OCP_DBL > | ktT |
| d kt / d T: activeGridNum. | |
| vector< OCP_DBL > | ktS |
| d kt / d S: numPhase * numbulk | |
| vector< OCP_DBL > | lvfP |
| last vfP | |
| vector< OCP_DBL > | lvfT |
| last vfT | |
| vector< OCP_DBL > | lvfi |
| last vfi | |
| vector< OCP_DBL > | lrhoP |
| last rhoP | |
| vector< OCP_DBL > | lrhoT |
| last rhoT | |
| vector< OCP_DBL > | lrhox |
| last rhox | |
| vector< OCP_DBL > | lxiP |
| last xiP | |
| vector< OCP_DBL > | lxiT |
| last xiT | |
| vector< OCP_DBL > | lxix |
| last xix | |
| vector< OCP_DBL > | lmuP |
| last muP | |
| vector< OCP_DBL > | lmuT |
| last muT | |
| vector< OCP_DBL > | lmux |
| last mux | |
| vector< OCP_DBL > | ldPcj_dS |
| last Pcj_dS | |
| vector< OCP_DBL > | ldKr_dS |
| last dKr_dS | |
| vector< OCP_DBL > | lUfP |
| last UfP | |
| vector< OCP_DBL > | lUfT |
| last UfT | |
| vector< OCP_DBL > | lUfi |
| last Ufi | |
| vector< OCP_DBL > | lHT |
| last HT | |
| vector< OCP_DBL > | lHx |
| last Hx | |
| vector< OCP_DBL > | lktP |
| last ktP | |
| vector< OCP_DBL > | lktT |
| last ktT | |
| vector< OCP_DBL > | lktS |
| last ktS | |
| vector< OCP_DBL > | dSNR |
| saturation change between NR steps | |
| vector< OCP_DBL > | dSNRP |
| predicted saturation change between NR steps | |
| vector< OCP_DBL > | dNNR |
| Ni change between NR steps. | |
| vector< OCP_DBL > | dPNR |
| P change between NR steps. | |
| vector< OCP_DBL > | dTNR |
| T change between NR steps. | |
| OCP_DBL | maxNRdSSP |
| max difference between dSNR and dSNRP | |
| OCP_USI | index_maxNRdSSP |
| index of grid which has maxNRdSSP | |
| OCP_DBL | NRdPmax |
| Max pressure difference in an NR step. | |
| OCP_DBL | NRdTmax |
| Max temperature difference in an NR step. | |
| OCP_DBL | NRdNmax |
| Max Ni difference in an NR step. | |
| OCP_DBL | NRdSmax |
| Max saturation difference in an NR step(Real) | |
| vector< OCP_DBL > | NRstep |
| NRstep for FIM. | |
| vector< USI > | NRphaseNum |
| phaseNum in NR step | |
| OCP_DBL | dPmax |
| Max change in pressure during the current time step. | |
| OCP_DBL | dTmax |
| Max change in temperature during the current time step. | |
| OCP_DBL | dSmax |
| Max change in saturation during the current time step. | |
| OCP_DBL | dNmax |
| Max change in moles of component during the current time step. | |
| OCP_DBL | eVmax |
| vector< OCP_DBL > | cfl |
| CFL number for each bulk. | |
| OCP_DBL | maxCFL |
| max CFL number | |
| vector< OCP_DBL > | ePEC |
| error for fugacity balance equations, EoS only now | |
| OCPRes | res |
| Residual for all equations. | |
| USI | maxLendSdP |
| length of dSec_dPri. | |
| vector< USI > | bRowSizedSdP |
| length of dSec_dPri in each bulk | |
| vector< OCP_DBL > | dSec_dPri |
| d Secondary variable / d Primary variable. | |
| vector< OCP_BOOL > | pSderExist |
| Existence of derivative of phase saturation. | |
| vector< USI > | pVnumCom |
| num of variable components in the phase | |
| vector< OCP_DBL > | res_n |
| residual for FIM_n | |
| vector< OCP_DBL > | resPc |
| a precalculated value | |
| vector< USI > | lbRowSizedSdP |
| last bRowSizedSdP | |
| vector< OCP_DBL > | ldSec_dPri |
| last dSec_dPri | |
| vector< OCP_BOOL > | lpSderExist |
| last pSderExist | |
| vector< USI > | lpVnumCom |
| last pVnumCom | |
| vector< OCP_DBL > | lres_n |
| last res_n | |
| vector< OCP_DBL > | lresPc |
| last lresPc; | |
| vector< OCP_USI > | wellBulkId |
| class Bulk::BulkTypeAIM | bulkTypeAIM |
| vector< OCP_DBL > | xijNR |
| store the current NR step's xij in AIM | |
Friends | |
| class | BulkConn |
| class | Well |
| class | Out4RPT |
| class | Out4VTK |
| class | Reservoir |
| class | IsothermalMethod |
| class | IsoT_IMPEC |
| class | IsoT_FIM |
| class | IsoT_FIMn |
| class | IsoT_AIMc |
| class | T_FIM |
| OCP_INT Bulk::CheckNi | ( | ) |
| OCP_INT Bulk::CheckP | ( | ) | const |
Check if negative P occurs.
Return OCP_TRUE if no negative pressure and OCP_FALSE otherwise.
Definition at line 1250 of file Bulk.cpp.
References numBulk, OCP_FUNCNAME, OCP_WARNING, and P.
| void Bulk::InputParam | ( | const ParamReservoir & | rs_param | ) |
Input param from internal data structure ParamReservoir.
Read parameters from rs_param data structure.
Definition at line 99 of file Bulk.cpp.
References ParamReservoir::blackOil, ParamReservoir::comps, ifBlackOil, ifComps, ifThermal, OCP_FUNCNAME, and ParamReservoir::thermal.
| void Bulk::SetupIsoT | ( | const Grid & | myGrid | ) |
Allocate memory for fluid grid for isothermal model.
Setup bulk information.
Definition at line 408 of file Bulk.cpp.
References Grid::activeGridNum, AllocateGridRockIsoT(), AllocateRegion(), numBulk, and OCP_FUNCNAME.
|
protected |
|
protected |