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
26namespace 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
Definition: BlackoilPhases.hpp:28
Definition: SaturationPropsInterface.hpp:30
virtual void updateSatHyst(const int n, const int *cells, const double *s)=0
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
virtual int numPhases() const =0
virtual void satRange(const int n, const int *cells, double *smin, double *smax) const =0
virtual void relperm(const int n, const double *s, const int *cells, double *kr, double *dkrds) const =0
virtual ~SaturationPropsInterface()
Virtual destructor.
Definition: SaturationPropsInterface.hpp:33
Definition: AnisotropicEikonal.hpp:44