SaturationPropsInterface.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_SATURATIONPROPSINTERFACE_HEADER_INCLUDED
21 #define OPM_SATURATIONPROPSINTERFACE_HEADER_INCLUDED
22 
24 
25 
26 namespace Opm
27 {
28 
30  {
31  public:
34 
36  virtual int numPhases() const = 0;
37 
47  virtual void relperm(const int n,
48  const double* s,
49  const int* cells,
50  double* kr,
51  double* dkrds) const = 0;
52 
62  virtual void capPress(const int n,
63  const double* s,
64  const int* cells,
65  double* pc,
66  double* dpcds) const = 0;
67 
72  virtual void satRange(const int n,
73  const int* cells,
74  double* smin,
75  double* smax) const = 0;
76 
80  virtual void updateSatHyst(const int n,
81  const int* cells,
82  const double* s) = 0;
83 
88  virtual void swatInitScaling(const int cell,
89  const double pcow,
90  double & swat) = 0;
91 
92  };
93 
94 
95 
96 } // namespace Opm
97 
98 
99 
100 #endif // OPM_SATURATIONPROPSINTERFACE_HEADER_INCLUDED
virtual void updateSatHyst(const int n, const int *cells, const double *s)=0
virtual int numPhases() const =0
Definition: AnisotropicEikonal.hpp:43
Definition: BlackoilPhases.hpp:27
virtual void swatInitScaling(const int cell, const double pcow, double &swat)=0
virtual void capPress(const int n, const double *s, const int *cells, double *pc, double *dpcds) const =0
Definition: SaturationPropsInterface.hpp:29
virtual void satRange(const int n, const int *cells, double *smin, double *smax) const =0
virtual ~SaturationPropsInterface()
Virtual destructor.
Definition: SaturationPropsInterface.hpp:33
virtual void relperm(const int n, const double *s, const int *cells, double *kr, double *dkrds) const =0