12 #ifndef __PARAMRESERVOIR_HEADER__
13 #define __PARAMRESERVOIR_HEADER__
30 void DisplayTable()
const;
37 vector<vector<vector<OCP_DBL>>>
data;
63 string type{
"LINEAR"};
94 void InputCOMPONENTS(ifstream& ifs,
const string& keyword);
99 void InputRefPR(ifstream& ifs,
const string& keyword);
101 vector<OCP_DBL>* FindPtr02(
const string& varName);
103 void InputCNAMES(ifstream& ifs);
105 void InputLBCCOEF(ifstream& ifs);
107 void InputBIC(ifstream& ifs);
109 void InputVISCTAB(ifstream& ifs);
111 void InputSSMSTA(ifstream& ifs);
112 void InputNRSTA(ifstream& ifs);
113 void InputSSMSP(ifstream& ifs);
114 void InputNRSP(ifstream& ifs);
115 void InputRR(ifstream& ifs);
138 vector<vector<OCP_DBL>>
BIC;
198 vector<OCP_DBL> surTenRef;
294 vector<OCP_DBL>* FindPtr(
const string& varName);
298 TableSet* FindPtr_T(
const string& varName);
307 template <
typename T>
308 void setVal(vector<T>& obj,
const T& val,
const vector<USI>& index);
311 template <
typename T>
312 void CopyVal(vector<T>& obj,
const vector<T>& src,
const vector<USI>& index);
317 MultiplyVal(vector<OCP_DBL>& obj,
const OCP_DBL& val,
const vector<USI>& index);
321 void InputCOMPS(ifstream& ifs);
325 void InputDIMENS(ifstream& ifs);
328 void DisplayDIMENS();
331 void InputRTEMP(ifstream& ifs);
336 void InputEQUALS(ifstream& ifs);
340 void InputGRID(ifstream& ifs,
string& keyword);
343 void InputCOPY(ifstream& ifs);
347 void InputMULTIPLY(ifstream& ifs);
350 void InputTABLE(ifstream& ifs,
const string& tabName);
354 void InputROCK(ifstream& ifs);
356 void InputROCKT(ifstream& ifs);
358 void InputHLOSS(ifstream& ifs);
361 void InputMISCSTR(ifstream& ifs);
364 void InputGRAVITY(ifstream& ifs);
367 void InputDENSITY(ifstream& ifs);
370 void InputTHCON(ifstream& ifs,
const string& keyword);
373 void InputEQUIL(ifstream& ifs);
377 void InputTABDIMS(ifstream& ifs);
380 void InputRegion(ifstream& ifs,
const string& keyword);
384 void InputCNAMES(ifstream& ifs) { comsParam.
InputCNAMES(ifs); };
385 void InputCOMPONENTS(ifstream& ifs,
const string& keyword)
389 void InputLBCCOEF(ifstream& ifs) { comsParam.
InputLBCCOEF(ifs); }
390 void InputBIC(ifstream& ifs) { comsParam.
InputBIC(ifs); };
391 void InputVISCTAB(ifstream& ifs) { comsParam.
InputVISCTAB(ifs); }
392 void InputRefPR(ifstream& ifs,
const string& keyword)
398 void InputSSMSTA(ifstream& ifs) { comsParam.
InputSSMSTA(ifs); };
399 void InputNRSTA(ifstream& ifs) { comsParam.
InputNRSTA(ifs); };
400 void InputSSMSP(ifstream& ifs) { comsParam.
InputSSMSP(ifs); };
401 void InputNRSP(ifstream& ifs) { comsParam.
InputNRSP(ifs); };
402 void InputRR(ifstream& ifs) { comsParam.
InputRR(ifs); };
415 void CheckEQUIL()
const;
418 void CheckDenGra()
const;
421 void CheckPhase()
const;
424 void CheckPhaseTab()
const;
427 void CheckRegion()
const;
430 void CheckEqlRegion()
const;
Definition of build-in datatypes and consts.
unsigned int USI
Generic unsigned integer.
double OCP_DBL
Double precision.
unsigned int OCP_USI
Long unsigned integer.
unsigned int OCP_BOOL
OCP_BOOL in OCP.
ComponentParam contains information of components.
Type_A_r< vector< OCP_DBL > > cpg4
Type_A_r< vector< OCP_DBL > > cpl1
void InputLBCCOEF(ifstream &ifs)
Input LBC coefficients for viscosity calculation.
void InputSSMSP(ifstream &ifs)
TODO: Add Doxygen.
Type_A_r< vector< OCP_DBL > > Tc
Critical temperature of hydrocarbon components.
Type_A_r< vector< OCP_DBL > > Vcvis
Critical volume used for viscosity calculations only.
Type_A_r< vector< OCP_DBL > > ev
coefficients in the vaporization enthalpy calculations
Type_A_r< vector< OCP_DBL > > Zc
Critical Z-factor of hydrocarbon components.
vector< string > SSMparamSP
Params for Solving Phase Spliting with SSM.
Type_A_r< vector< OCP_DBL > > MW
Molecular Weight of hydrocarbon components.
vector< string > SSMparamSTA
Params for Solving Phase Spliting with SSM.
Type_A_r< vector< OCP_DBL > > cpg2
Type_A_r< vector< OCP_DBL > > avisc
coefficients in water and oil viscosity correlation formulae
Type_A_r< vector< OCP_DBL > > bvisc
coefficients in water and oil viscosity correlation formulae
vector< OCP_DBL > Pref
reference pressure
Type_A_r< vector< OCP_DBL > > bvg
void InputRR(ifstream &ifs)
TODO: Add Doxygen.
Type_A_r< vector< OCP_DBL > > cpl3
void InputVISCTAB(ifstream &ifs)
Input VISCTAB.
void InputBIC(ifstream &ifs)
Input the Binary interaction of components.
Type_A_r< vector< OCP_DBL > > cpl4
Type_A_r< vector< OCP_DBL > > hvapr
coefficients in the component gas enthalpy calculations, Btu/lbmol
vector< string > Cname
Name of hydrocarbon components.
Type_A_r< vector< OCP_DBL > > ct1
the first ifThermal expansion coefficient, 1/F
Type_A_r< vector< OCP_DBL > > avg
coefficients Ak in gas viscosity correlation formulae
void InputCOMPONENTS(ifstream &ifs, const string &keyword)
Input the information of hydrocarbon components.
Type_A_r< vector< OCP_DBL > > cpt
Type_A_r< vector< OCP_DBL > > Acf
Acentric factor of hydrocarbon components.
void InputNRSTA(ifstream &ifs)
TODO: Add Doxygen.
Type_A_r< vector< OCP_DBL > > Vshift
Volume shift of hydrocarbon components.
Type_A_r< vector< OCP_DBL > > hvr
coefficients in the vaporization enthalpy calculations
vector< string > NRparamSP
Params for Solving Phase Spliting with NR.
void InputCNAMES(ifstream &ifs)
Input the names of hydrocarbon components.
Type_A_r< vector< OCP_DBL > > Zcvis
Critical Z-factor used for viscosity calculations only.
Type_A_r< vector< OCP_DBL > > OmegaB
OMEGA_B of hydrocarbon components.
Type_A_r< vector< OCP_DBL > > cpg1
vector< string > NRparamSTA
Params for Solving Phase Spliting with NR.
vector< string > RRparam
Params for Solving Rachford-Rice equations.
Type_A_r< vector< OCP_DBL > > ct2
the second ifThermal expansion coefficient, 1/F
Type_A_r< vector< OCP_DBL > > Vc
Critical volume of hydrocarbon components.
Type_A_r< vector< OCP_DBL > > cpg3
Type_A_r< vector< OCP_DBL > > Pc
Critical pressure of hydrocarbon components.
void InputSSMSTA(ifstream &ifs)
TODO: Add Doxygen.
Type_A_r< vector< OCP_DBL > > cpl2
Type_A_r< vector< OCP_DBL > > OmegaA
OMEGA_A of hydrocarbon components.
Type_A_r< vector< OCP_DBL > > cp
component compressibility, 1/psi
vector< vector< OCP_DBL > > BIC
Binary interaction.
void InputNRSP(ifstream &ifs)
TODO: Add Doxygen.
Type_A_r< vector< OCP_DBL > > molden
vector< OCP_DBL > LBCcoef
LBC coefficients for viscosity calculation.
vector< OCP_DBL > Tref
reference temperature
void InputRefPR(ifstream &ifs, const string &keyword)
input reference pressure, temperature
Type_A_r< vector< OCP_DBL > > Parachor
PARACHOR of hydrocarbon components.
Dimens contains the dimensions of grids.
USI nx
Num of bulks along x-direction.
USI ny
Num of bulks along y-direction.
USI nz
Num of bulks along z-direction.
OCP_DBL obC
Volumetric heat capacity of overburden rock.
OCP_DBL obK
Thermal conductivity of overburden rock.
OCP_DBL ubK
Thermal conductivity of underburden rock.
OCP_DBL ubC
Volumetric heat capacity of underburden rock.
vector< RockParam > rockSet
a set of rock
vector< OCP_DBL > permY
Permeability along the y-direction for each grid.
vector< OCP_DBL > Ni
Initial moles of components in each grid.
vector< OCP_DBL > zcorn
TODO: Add Doxygen.
Type_A_r< OCP_DBL > SATNUM
Records the index of SAT region for each grid.
TableSet ZMFVD_T
Table set of ZMFVD.
vector< OCP_DBL > EQUIL
See ParamEQUIL.
Type_A_r< OCP_DBL > ACTNUM
Records the index of Active region for each grid.
vector< OCP_DBL > poro
Porosity for each grid.
USI numPhase
Number of phases.
ComponentParam comsParam
information for components
vector< OCP_DBL > dy
Size along the y - direction for each grid.
vector< OCP_DBL > permX
Permeability along the x - direction for each grid.
TableSet PVDG_T
Table set of PVDG.
vector< OCP_DBL > permZ
Permeability along the z-direction for each grid.
TableSet SOF3_T
Table set of SOF3.
vector< OCP_DBL > dx
Size along the x - direction for each grid.
TableSet PBVD_T
Table set of PBVD.
Type_A_r< OCP_DBL > density
Density of oil, water, gas in standard conditions.
TableSet PVDO_T
Table set of PVDO.
vector< OCP_DBL > tops
Depth of the top surface of the uppermost grids.
TableSet SGOF_T
Table set of SGOF.
Type_A_r< OCP_DBL > PVTNUM
Records the index of PVT region for each grid.
TableSet TEMPVD_T
Table set of TEMPVD.
vector< OCP_DBL > ntg
Net to gross for each grid.
vector< OCP_DBL > thconr
Rock ifThermal conductivity.
TableSet SGFN_T
Table set of SGFN.
vector< OCP_DBL > coord
TODO: Add Doxygen.
Type_A_r< OCP_DBL > gravity
Gravity of oil, water, gas in standard conditions.
TableSet PVTW_T
Table set of PVTW.
Dimens dimens
Dimension of grid: the number of grids along x,y,z direction.
Type_A_r< OCP_DBL > ROCKNUM
Records the index of ROCK region for each grid.
vector< OCP_DBL > dz
Size along the z - direction for each grid.
TableSet SWOF_T
Table set of SWOF.
vector< OCP_DBL > Swat
Initial water saturation in each grid.
Miscstr miscstr
reference Miscibility surface tension
vector< OCP_DBL > P
Initial pressure of components in each grid.
HLoss hLoss
Heat loss property.
TableSet PVCO_T
Table set of PVCO.
TableSet SWFN_T
Table set of SWFN.
OCP_DBL rsTemp
Temperature for reservoir.
OCP_USI numGrid
Num of grids.
RockParam class contains information about the keyword ROCK.
vector< string > refName
name of refData
vector< vector< vector< OCP_DBL > > > data
All table with the same name.
vector< OCP_DBL > refData
refData for each sub data.
USI colNum
Number of columns of table.
string name
Name of table.
vector< T > data
Data of param.