12 #ifndef __PARAMRESERVOIR_HEADER__
13 #define __PARAMRESERVOIR_HEADER__
30 void DisplayTable()
const;
35 vector<vector<vector<OCP_DBL>>>
data;
72 void InputCOM(ifstream& ifs);
75 void InputCOMPONENTS(ifstream& ifs,
const string& keyword);
80 void InputCNAMES(ifstream& ifs);
82 void InputLBCCOEF(ifstream& ifs);
84 void InputBIC(ifstream& ifs);
86 void InputSSMSTA(ifstream& ifs);
87 void InputNRSTA(ifstream& ifs);
88 void InputSSMSP(ifstream& ifs);
89 void InputNRSP(ifstream& ifs);
90 void InputRR(ifstream& ifs);
96 vector<vector<string>>
COM;
112 vector<vector<OCP_DBL>>
BIC;
114 bool miscible{
false};
126 vector<OCP_DBL> surTenRef;
168 bool ScalePcow{
false};
175 bool blackOil{
false};
214 vector<OCP_DBL>* FindPtr(
const string& varName);
218 TableSet* FindPtr_T(
const string& varName);
227 template <
typename T>
228 void setVal(vector<T>& obj,
const T& val,
const vector<USI>& index);
231 template <
typename T>
232 void CopyVal(vector<T>& obj,
const vector<T>& src,
const vector<USI>& index);
236 void MultiplyVal(vector<OCP_DBL>& obj,
const OCP_DBL& val,
237 const vector<USI>& index);
241 void InputCOMPS(ifstream& ifs);
245 void InputDIMENS(ifstream& ifs);
248 void DisplayDIMENS();
251 void InputRTEMP(ifstream& ifs);
256 void InputEQUALS(ifstream& ifs);
260 void InputGRID(ifstream& ifs,
string& keyword);
263 void InputCOPY(ifstream& ifs);
267 void InputMULTIPLY(ifstream& ifs);
270 void InputTABLE(ifstream& ifs,
const string& tabName);
274 void InputROCK(ifstream& ifs);
277 void InputMISCSTR(ifstream& ifs);
280 void InputGRAVITY(ifstream& ifs);
283 void InputDENSITY(ifstream& ifs);
286 void InputEQUIL(ifstream& ifs);
290 void InputTABDIMS(ifstream& ifs);
293 void InputRegion(ifstream& ifs,
const string& keyword);
297 void InputCNAMES(ifstream& ifs) { EoSp.
InputCNAMES(ifs); };
298 void InputCOM(ifstream& ifs) { EoSp.
InputCOM(ifs); };
299 void InputCOMPONENTS(ifstream& ifs,
const string& keyword) { EoSp.
InputCOMPONENTS(ifs, keyword); }
300 void InputLBCCOEF(ifstream& ifs) { EoSp.
InputLBCCOEF(ifs); }
301 void InputBIC(ifstream& ifs) { EoSp.
InputBIC(ifs); };
305 void InputSSMSTA(ifstream& ifs) { EoSp.
InputSSMSTA(ifs); };
306 void InputNRSTA(ifstream& ifs) { EoSp.
InputNRSTA(ifs); };
307 void InputSSMSP(ifstream& ifs) { EoSp.
InputSSMSP(ifs); };
308 void InputNRSP(ifstream& ifs) { EoSp.
InputNRSP(ifs); };
309 void InputRR(ifstream& ifs) { EoSp.
InputRR(ifs); };
319 void CheckEQUIL()
const;
322 void CheckDenGra()
const;
325 void CheckPhase()
const;
328 void CheckPhaseTab()
const;
331 void CheckRegion()
const;
334 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.
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.
EoSParam contains the params for Compositional Model and functions to read them.
Type_A_r< vector< OCP_DBL > > Zcvis
Critical Z-factor used for viscosity calculations only.
void InputBIC(ifstream &ifs)
Input the Binary interaction of components.
void InputCNAMES(ifstream &ifs)
Input the names of hydrocarbon components.
Type_A_r< vector< OCP_DBL > > Vcvis
Critical volume used for viscosity calculations only.
vector< string > RRparam
Params for Solving Rachford-Rice equations.
Type_A_r< vector< OCP_DBL > > Vshift
Volume shift of hydrocarbon components.
vector< string > SSMparamSP
Params for Solving Phase Spliting with SSM.
void InputSSMSTA(ifstream &ifs)
TODO: Add Doxygen.
vector< OCP_DBL > LBCcoef
LBC coefficients for viscosity calculation.
Type_A_r< vector< OCP_DBL > > MW
Molecular Weight of hydrocarbon components.
void InputCOM(ifstream &ifs)
Input the information of components.
vector< string > NRparamSTA
Params for Solving Phase Spliting with NR.
Type_A_r< vector< OCP_DBL > > Acf
Acentric factor of hydrocarbon components.
void InputCOMPONENTS(ifstream &ifs, const string &keyword)
Input the information of hydrocarbon components.
void InputNRSTA(ifstream &ifs)
TODO: Add Doxygen.
void InputNRSP(ifstream &ifs)
TODO: Add Doxygen.
vector< string > SSMparamSTA
Params for Solving Phase Spliting with SSM.
vector< string > NRparamSP
Params for Solving Phase Spliting with NR.
void InputRR(ifstream &ifs)
TODO: Add Doxygen.
vector< string > Cname
Name of hydrocarbon components.
Type_A_r< vector< OCP_DBL > > OmegaB
OMEGA_B of hydrocarbon components.
vector< vector< string > > COM
Components information.
void InputSSMSP(ifstream &ifs)
TODO: Add Doxygen.
void InputLBCCOEF(ifstream &ifs)
Input LBC coefficients for viscosity calculation.
Type_A_r< vector< OCP_DBL > > Pc
Critical pressure of hydrocarbon components.
Type_A_r< vector< OCP_DBL > > Vc
Critical volume of hydrocarbon components.
Type_A_r< vector< OCP_DBL > > OmegaA
OMEGA_A of hydrocarbon components.
vector< vector< OCP_DBL > > BIC
Binary interaction.
Type_A_r< vector< OCP_DBL > > Tc
Critical temperature of hydrocarbon components.
Type_A_r< vector< OCP_DBL > > Parachor
PARACHOR of hydrocarbon components.
Type_A_r< vector< OCP_DBL > > Zc
Critical Z-factor of hydrocarbon components.
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.
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.
USI numCom
Number of components(hydrocarbon components), used in Compositional Model when input.
vector< OCP_DBL > ntg
Net to gross for each grid.
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.
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.
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.
EoSparam EoSp
Initial component composition, used in compositional models.
Rock class contains information about the keyword ROCK.
OCP_DBL Cr
Compressibility factor of rock in reservoir.
OCP_DBL Pref
Reference pressure at initial porosity.
vector< vector< vector< OCP_DBL > > > data
All table with the same name.
USI colNum
Number of columns of table.
string name
Name of table.
vector< T > data
Data of param.