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< 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
 

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: