OpenCAEPoro  v0.5.0
A simulator for multicomponent porous media flow
Classes | Public Member Functions | Protected Attributes | Friends | List of all members
Bulk Class Reference

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< OCPTableinitZi_Tab
 Initial mole ratio of components vs. depth, table set.
 
vector< OCPTableinitT_Tab
 Initial temperature vs. depth, table set.
 
vector< OCP_DBLinitT
 Initial temperature of each bulk: numBulk.
 
ParamEQUIL EQUIL
 Initial Equilibration.
 
OCP_DBL rsTemp
 Reservoir temperature.
 
vector< OCP_DBLthconp
 Phase thermal conductivity: numPhase.
 
USI NTPVT
 num of PVT regions
 
USI PVTmodeB
 Identify PVT mode in black-oil model.
 
vector< USIPVTNUM
 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< USISATNUM
 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< USIROCKNUM
 index of Rock table for each bulk
 
vector< Rock * > rock
 rock model
 
vector< USIbType
 Indicate bulk type, 0: rock, 1: rock and fluid.
 
vector< USIbLocation
 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_DBLdx
 Size of cell in x-direction: activeGridNum.
 
vector< OCP_DBLdy
 Size of cell in y-direction: activeGridNum.
 
vector< OCP_DBLdz
 Size of cell in z-direction: activeGridNum.
 
vector< OCP_DBLv
 Volume of grids: activeGridNum.
 
vector< OCP_DBLdepth
 Depth of center of grid cells: activeGridNum.
 
vector< OCP_DBLntg
 net to gross of bulk.
 
vector< OCP_DBLporoInit
 initial rock porosity * ntg.
 
vector< OCP_DBLporo
 rock porosity * ntg.
 
vector< OCP_DBLrockVp
 pore volume = Vgrid * ntg * poro.
 
vector< OCP_DBLrockKx
 current rock permeability along the x direction.
 
vector< OCP_DBLrockKy
 current rock permeability along the y direction.
 
vector< OCP_DBLrockKz
 current rock permeability along the z direction.
 
vector< OCP_DBLthconr
 Rock ifThermal conductivity: activeGridNum.
 
vector< OCP_DBLvr
 Volume of rock: activeGridNum.
 
vector< OCP_DBLHr
 Enthalpy of rock: activeGridNum.
 
vector< OCP_DBLlporo
 last poro.
 
vector< OCP_DBLlrockVp
 Pore volume: numBulk.
 
vector< OCP_DBLlvr
 Last vr: activeGridNum.
 
vector< OCP_DBLlHr
 Last Hr: activeGridNum.
 
vector< OCP_DBLporoP
 d poro / d P.
 
vector< OCP_DBLporoT
 d poro / d T.
 
vector< OCP_DBLvrP
 d vr / d p, numbulk
 
vector< OCP_DBLvrT
 dvr / dT: activeGridNum.
 
vector< OCP_DBLHrT
 dHr / dT: activeGridNum.
 
vector< OCP_DBLlporoP
 last poroP.
 
vector< OCP_DBLlporoT
 last poroT.
 
vector< OCP_DBLlvrP
 last vrp.
 
vector< OCP_DBLlvrT
 Last vrT.
 
vector< OCP_DBLlHrT
 Last HrT.
 
vector< USIphase2Index
 Location of phase according to its name: numPhase.
 
vector< USIphaseNum
 Num of hydrocarbon phase in each bulk.
 
vector< OCP_DBLNt
 Total moles of components in bulks: numBulk.
 
vector< OCP_DBLNi
 Moles of component: numCom*numBulk.
 
vector< OCP_DBLvf
 Total fluid volume: numBulk.
 
vector< OCP_DBLT
 Temperature: numBulk.
 
vector< OCP_DBLP
 Pressure: numBulk.
 
vector< OCP_DBLPb
 Bubble point pressure: numBulk.
 
vector< OCP_DBLPj
 Pressure of phase: numPhase*numBulk.
 
vector< OCP_DBLPc
 Capillary pressure of phase: numPhase*numBulk.
 
vector< OCP_BOOLphaseExist
 Existence of phase: numPhase*numBulk.
 
vector< OCP_DBLS
 Saturation of phase: numPhase*numBulk.
 
vector< OCP_DBLvj
 Volume of phase: numPhase*numBulk.
 
vector< OCP_DBLnj
 moles number of phase: numPhase*numBulk.
 
vector< OCP_DBLxij
 Nij / Nj: numPhase*numCom*numBulk.
 
vector< OCP_DBLrho
 Mass density of phase: numPhase*numBulk.
 
vector< OCP_DBLxi
 Moles density of phase: numPhase*numBulk.
 
vector< OCP_DBLmu
 Viscosity of phase: numPhase*numBulk.
 
vector< OCP_DBLkr
 Relative permeability of phase: numPhase*numBulk.
 
vector< OCP_DBLUf
 Internal energy of fluid: numBulk.
 
vector< OCP_DBLH
 Enthalpy of phase: numPhase*numBulk.
 
vector< OCP_DBLkt
 Coefficient of thermal diffusivity: activeGridNum.
 
vector< USIlphaseNum
 last phaseNum
 
vector< OCP_DBLlNt
 last Nt
 
vector< OCP_DBLlNi
 last Ni
 
vector< OCP_DBLlvf
 last vf
 
vector< OCP_DBLlT
 last T
 
vector< OCP_DBLlP
 last P
 
vector< OCP_DBLlPj
 last Pj
 
vector< OCP_DBLlPc
 last Pc
 
vector< OCP_BOOLlphaseExist
 last phaseExist
 
vector< OCP_DBLlS
 last S
 
vector< OCP_DBLlvj
 last vj
 
vector< OCP_DBLlnj
 last nj
 
vector< OCP_DBLlxij
 last xij
 
vector< OCP_DBLlrho
 last rho
 
vector< OCP_DBLlxi
 last xi
 
vector< OCP_DBLlmu
 last mu
 
vector< OCP_DBLlkr
 last kr
 
vector< OCP_DBLlUf
 last Uf
 
vector< OCP_DBLlH
 last H
 
vector< OCP_DBLlkt
 last kt
 
vector< OCP_DBLvfP
 d vf / d P: numBulk.
 
vector< OCP_DBLvfT
 d vf / d T, numBulk
 
vector< OCP_DBLvfi
 d vf / d Ni: numCom*numBulk.
 
vector< OCP_DBLrhoP
 d Rho / d P: numPhase*numBulk.
 
vector< OCP_DBLrhoT
 d rhoj / d T: numPhase * numbulk
 
vector< OCP_DBLrhox
 d Rhoj / d xij: numPhase*numCom*numBulk.
 
vector< OCP_DBLxiP
 d xi / d P: numPhase*numBulk.
 
vector< OCP_DBLxiT
 d xij / d T, numPhase * numbulk
 
vector< OCP_DBLxix
 d Xi_j / d xij: numPhase*numCom*numBulk.
 
vector< OCP_DBLmuP
 d Mu / d P: numPhase*numBulk.
 
vector< OCP_DBLmuT
 d muj / d T: numPhase * numbulk
 
vector< OCP_DBLmux
 d Muj / d xij: numPhase*numCom*numBulk.
 
vector< OCP_DBLdPcj_dS
 d Pcj / d Sk: numPhase * numPhase * bulk.
 
vector< OCP_DBLdKr_dS
 d Krj / d Sk: numPhase * numPhase * bulk.
 
vector< OCP_DBLUfP
 d Uf / d P: numbulk
 
vector< OCP_DBLUfT
 d Uf / d T: numbulk
 
vector< OCP_DBLUfi
 d Uf / d Ni: numCom * numBulk
 
vector< OCP_DBLHT
 d Hj / d T: numPhase * numbulk
 
vector< OCP_DBLHx
 d Hj / d xij: numPhase * numCom * numbulk
 
vector< OCP_DBLktP
 d kt / d P: numbulk
 
vector< OCP_DBLktT
 d kt / d T: activeGridNum.
 
vector< OCP_DBLktS
 d kt / d S: numPhase * numbulk
 
vector< OCP_DBLlvfP
 last vfP
 
vector< OCP_DBLlvfT
 last vfT
 
vector< OCP_DBLlvfi
 last vfi
 
vector< OCP_DBLlrhoP
 last rhoP
 
vector< OCP_DBLlrhoT
 last rhoT
 
vector< OCP_DBLlrhox
 last rhox
 
vector< OCP_DBLlxiP
 last xiP
 
vector< OCP_DBLlxiT
 last xiT
 
vector< OCP_DBLlxix
 last xix
 
vector< OCP_DBLlmuP
 last muP
 
vector< OCP_DBLlmuT
 last muT
 
vector< OCP_DBLlmux
 last mux
 
vector< OCP_DBLldPcj_dS
 last Pcj_dS
 
vector< OCP_DBLldKr_dS
 last dKr_dS
 
vector< OCP_DBLlUfP
 last UfP
 
vector< OCP_DBLlUfT
 last UfT
 
vector< OCP_DBLlUfi
 last Ufi
 
vector< OCP_DBLlHT
 last HT
 
vector< OCP_DBLlHx
 last Hx
 
vector< OCP_DBLlktP
 last ktP
 
vector< OCP_DBLlktT
 last ktT
 
vector< OCP_DBLlktS
 last ktS
 
vector< OCP_DBLdSNR
 saturation change between NR steps
 
vector< OCP_DBLdSNRP
 predicted saturation change between NR steps
 
vector< OCP_DBLdNNR
 Ni change between NR steps.
 
vector< OCP_DBLdPNR
 P change between NR steps.
 
vector< OCP_DBLdTNR
 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_DBLNRstep
 NRstep for FIM.
 
vector< USINRphaseNum
 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_DBLcfl
 CFL number for each bulk.
 
OCP_DBL maxCFL
 max CFL number
 
vector< OCP_DBLePEC
 error for fugacity balance equations, EoS only now
 
OCPRes res
 Residual for all equations.
 
USI maxLendSdP
 length of dSec_dPri.
 
vector< USIbRowSizedSdP
 length of dSec_dPri in each bulk
 
vector< OCP_DBLdSec_dPri
 d Secondary variable / d Primary variable.
 
vector< OCP_BOOLpSderExist
 Existence of derivative of phase saturation.
 
vector< USIpVnumCom
 num of variable components in the phase
 
vector< OCP_DBLres_n
 residual for FIM_n
 
vector< OCP_DBLresPc
 a precalculated value
 
vector< USIlbRowSizedSdP
 last bRowSizedSdP
 
vector< OCP_DBLldSec_dPri
 last dSec_dPri
 
vector< OCP_BOOLlpSderExist
 last pSderExist
 
vector< USIlpVnumCom
 last pVnumCom
 
vector< OCP_DBLlres_n
 last res_n
 
vector< OCP_DBLlresPc
 last lresPc;
 
vector< OCP_USIwellBulkId
 
class Bulk::BulkTypeAIM bulkTypeAIM
 
vector< OCP_DBLxijNR
 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
 

Detailed Description

Physical information of each active reservoir bulk.

Definition at line 103 of file Bulk.hpp.

Member Function Documentation

◆ CheckNi()

OCP_INT Bulk::CheckNi ( )

Check if negative Ni occurs.

Return OCP_TRUE if no negative Ni and OCP_FALSE otherwise.

Definition at line 1285 of file Bulk.cpp.

1286 {
1287  OCP_FUNCNAME;
1288 
1289  OCP_USI len = numBulk * numCom;
1290  for (OCP_USI n = 0; n < len; n++) {
1291  if (Ni[n] < 0) {
1292  OCP_USI bId = n / numCom;
1293  if (Ni[n] > -1E-3 * Nt[bId] && OCP_FALSE) {
1294  Ni[n] = 1E-8 * Nt[bId];
1295  } else {
1296  USI cId = n - bId * numCom;
1297  std::ostringstream NiStringSci;
1298  NiStringSci << std::scientific << Ni[n];
1299  OCP_WARNING("Negative Ni: Ni[" + std::to_string(cId) + "] in Bulk[" +
1300  std::to_string(bId) + "] = " + NiStringSci.str() + ", " +
1301  "dNi = " + std::to_string(dNNR[n]));
1302 
1303  return BULK_NEGATIVE_COMPONENTS_MOLES;
1304  }
1305  }
1306  }
1307  return BULK_SUCCESS;
1308 }
unsigned int USI
Generic unsigned integer.
Definition: OCPConst.hpp:23
unsigned int OCP_USI
Long unsigned integer.
Definition: OCPConst.hpp:25
#define OCP_FUNCNAME
Print Function Name.
Definition: UtilError.hpp:73
#define OCP_WARNING(msg)
Log warning messages.
Definition: UtilError.hpp:39
vector< OCP_DBL > dNNR
Ni change between NR steps.
Definition: Bulk.hpp:411
vector< OCP_DBL > Ni
Moles of component: numCom*numBulk.
Definition: Bulk.hpp:306
vector< OCP_DBL > Nt
Total moles of components in bulks: numBulk.
Definition: Bulk.hpp:305
OCP_USI numBulk
Number of bulks (active grids).
Definition: Bulk.hpp:153
USI numCom
Number of component.
Definition: Bulk.hpp:155

References Ni, Nt, numBulk, numCom, and OCP_FUNCNAME.

◆ CheckP()

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.

1251 {
1252  OCP_FUNCNAME;
1253 
1254  for (OCP_USI n = 0; n < numBulk; n++) {
1255  if (P[n] < 0) {
1256  std::ostringstream PStringSci;
1257  PStringSci << std::scientific << P[n];
1258  OCP_WARNING("Negative pressure: P[" + std::to_string(n) +
1259  "] = " + PStringSci.str());
1260  cout << "P = " << P[n] << endl;
1261  return BULK_NEGATIVE_PRESSURE;
1262  }
1263  }
1264 
1265  return BULK_SUCCESS;
1266 }
vector< OCP_DBL > P
Pressure: numBulk.
Definition: Bulk.hpp:309

References numBulk, OCP_FUNCNAME, OCP_WARNING, and P.

◆ CheckVe()

OCP_INT Bulk::CheckVe ( const OCP_DBL Vlim) const

Check if relative volume error is outranged.

Return OCP_TRUE if all Ve < Vlim and OCP_FALSE otherwise.

Definition at line 1311 of file Bulk.cpp.

1312 {
1313  OCP_FUNCNAME;
1314 
1315  OCP_DBL dVe = 0.0;
1316  for (OCP_USI n = 0; n < numBulk; n++) {
1317  dVe = fabs(vf[n] - rockVp[n]) / rockVp[n];
1318  if (dVe > Vlim) {
1319  cout << "Volume error at Bulk[" << n << "] = " << setprecision(6) << dVe
1320  << " is too big!" << endl;
1321  return BULK_OUTRANGED_VOLUME_ERROR;
1322  }
1323  }
1324  return BULK_SUCCESS;
1325 }
double OCP_DBL
Double precision.
Definition: OCPConst.hpp:27
vector< OCP_DBL > rockVp
pore volume = Vgrid * ntg * poro.
Definition: Bulk.hpp:246
vector< OCP_DBL > vf
Total fluid volume: numBulk.
Definition: Bulk.hpp:307

References numBulk, OCP_FUNCNAME, rockVp, and vf.

◆ InputParam()

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.

100 {
101  OCP_FUNCNAME;
102 
103  // Common input
104  ifBlackOil = rs_param.blackOil;
105  ifComps = rs_param.comps;
106  ifThermal = rs_param.thermal;
107 
108  if (ifThermal) {
109  ifBlackOil = OCP_FALSE;
110  ifComps = OCP_FALSE;
111  }
112 
113  NTPVT = rs_param.NTPVT;
114  NTSFUN = rs_param.NTSFUN;
115  NTROCC = rs_param.NTROOC;
116 
117  if (rs_param.PBVD_T.data.size() > 0) EQUIL.PBVD.Setup(rs_param.PBVD_T.data[0]);
118 
119  if (ifBlackOil) {
120  // Isothermal blackoil model
121  InputParamBLKOIL(rs_param);
122  } else if (ifComps) {
123  // Isothermal compositional model
124  InputParamCOMPS(rs_param);
125  } else if (ifThermal) {
126  // ifThermal model
127  InputParamTHERMAL(rs_param);
128  }
129 
130  InputSatFunc(rs_param);
131 }
USI NTSFUN
num of SAT regions
Definition: Bulk.hpp:194
OCP_BOOL ifComps
If OCP_TRUE, compositional model will be used.
Definition: Bulk.hpp:219
USI NTROCC
num of Rock regions
Definition: Bulk.hpp:201
USI NTPVT
num of PVT regions
Definition: Bulk.hpp:189
OCP_BOOL ifThermal
Id OCP_TRUE, ifThermal model will be used.
Definition: Bulk.hpp:220
ParamEQUIL EQUIL
Initial Equilibration.
Definition: Bulk.hpp:170
OCP_BOOL ifBlackOil
If OCP_TRUE, black-oil model will be used.
Definition: Bulk.hpp:218
void Setup(const vector< vector< OCP_DBL >> &src)
Setup tables from existing data of table.
Definition: OCPTable.cpp:27
USI NTSFUN
Num of SAT regions.
USI NTROOC
Num of Rock regions.
TableSet PBVD_T
Table set of PBVD.
OCP_BOOL comps
If OCP_TRUE, compositional model will be used.
OCP_BOOL blackOil
If ture, blackoil model will be used.
USI NTPVT
Num of PVT regions.
OCP_BOOL thermal
If OCP_TRUE, ifThermal model will be used.
vector< vector< vector< OCP_DBL > > > data
All table with the same name.

References ParamReservoir::blackOil, ParamReservoir::comps, ifBlackOil, ifComps, ifThermal, OCP_FUNCNAME, and ParamReservoir::thermal.

◆ SetupIsoT()

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.

409 {
410  OCP_FUNCNAME;
411 
412  numBulk = myGrid.activeGridNum;
413  AllocateGridRockIsoT(myGrid);
414  AllocateRegion(myGrid);
415  AllocateError();
416 }
void AllocateRegion(const Grid &myGrid)
Allocate memory for region num.
Definition: Bulk.cpp:1078
void AllocateGridRockIsoT(const Grid &myGrid)
Allocate memory for Rock properties.
Definition: Bulk.cpp:1117
OCP_USI activeGridNum
Num of active grid.
Definition: Grid.hpp:190

References Grid::activeGridNum, AllocateGridRockIsoT(), AllocateRegion(), numBulk, and OCP_FUNCNAME.

Member Data Documentation

◆ eVmax

OCP_DBL Bulk::eVmax
protected

Max relative diff between fluid and pore volume during the current time step.

Definition at line 462 of file Bulk.hpp.

◆ wellBulkId

vector<OCP_USI> Bulk::wellBulkId
protected

Index of bulks which are penetrated by wells and their K-neighbor

Definition at line 507 of file Bulk.hpp.


The documentation for this class was generated from the following files: