RockCompressibility.hpp
Go to the documentation of this file.
1 /*
2  Copyright 2012 SINTEF ICT, Applied Mathematics.
3 
4  This file is part of the Open Porous Media project (OPM).
5 
6  OPM is free software: you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  OPM is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with OPM. If not, see <http://www.gnu.org/licenses/>.
18 */
19 
20 #ifndef OPM_ROCKCOMPRESSIBILITY_HEADER_INCLUDED
21 #define OPM_ROCKCOMPRESSIBILITY_HEADER_INCLUDED
22 
23 #include <opm/parser/eclipse/Deck/Deck.hpp>
24 #include <opm/parser/eclipse/EclipseState/EclipseState.hpp>
25 
26 #include <vector>
27 
28 namespace Opm
29 {
30 
31  namespace parameter { class ParameterGroup; }
32 
34  {
35  public:
38  RockCompressibility(Opm::DeckConstPtr deck,
39  Opm::EclipseStateConstPtr eclipseState);
40 
46 
48  bool isActive() const;
49 
51  double poroMult(double pressure) const;
52 
54  double poroMultDeriv(double pressure) const;
55 
57  double transMult(double pressure) const;
58 
60  double transMultDeriv(double pressure) const;
61 
63  double rockComp(double pressure) const;
64 
65  private:
66  std::vector<double> p_;
67  std::vector<double> poromult_;
68  std::vector<double> transmult_;
69  double pref_;
70  double rock_comp_;
71  };
72 
73 } // namespace Opm
74 
75 
76 #endif // OPM_ROCKCOMPRESSIBILITY_HEADER_INCLUDED
Definition: AnisotropicEikonal.hpp:43
Definition: ParameterGroup.hpp:109
RockCompressibility(Opm::DeckConstPtr deck, Opm::EclipseStateConstPtr eclipseState)
double poroMultDeriv(double pressure) const
Derivative of porosity multiplier with respect to pressure.
double transMult(double pressure) const
Transmissibility multiplier.
Definition: RockCompressibility.hpp:33
bool isActive() const
Returns true if there are compressibility effects.
double transMultDeriv(double pressure) const
Derivative of transmissibility multiplier with respect to pressure.
double rockComp(double pressure) const
Rock compressibility = (d poro / d p)*(1 / poro).
double poroMult(double pressure) const
Porosity multiplier.