IncompPropertiesInterface.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_INCOMPPROPERTIESINTERFACE_HEADER_INCLUDED
21#define OPM_INCOMPPROPERTIESINTERFACE_HEADER_INCLUDED
22
23namespace Opm
24{
25
36 {
37 public:
39
40 // ---- Rock interface ----
41
43 virtual int numDimensions() const = 0;
44
46 virtual int numCells() const = 0;
47
49 virtual const double* porosity() const = 0;
50
54 virtual const double* permeability() const = 0;
55
56
57 // ---- Fluid interface ----
58
60 virtual int numPhases() const = 0;
61
63 virtual const double* viscosity() const = 0;
64
67 virtual const double* density() const = 0;
68
79 virtual const double* surfaceDensity() const = 0;
80
90 virtual void relperm(const int n,
91 const double* s,
92 const int* cells,
93 double* kr,
94 double* dkrds) const = 0;
95
96
106 virtual void capPress(const int n,
107 const double* s,
108 const int* cells,
109 double* pc,
110 double* dpcds) const = 0;
111
119 virtual void satRange(const int n,
120 const int* cells,
121 double* smin,
122 double* smax) const = 0;
123 };
124
125
126
127} // namespace Opm
128
129
130#endif // OPM_INCOMPPROPERTIESINTERFACE_HEADER_INCLUDED
Definition: IncompPropertiesInterface.hpp:36
virtual const double * viscosity() const =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 int numDimensions() const =0
virtual ~IncompPropertiesInterface()
Definition: IncompPropertiesInterface.hpp:38
virtual const double * density() const =0
virtual const double * surfaceDensity() const =0
virtual const double * porosity() const =0
virtual const double * permeability() const =0
virtual int numCells() const =0
virtual void relperm(const int n, const double *s, const int *cells, double *kr, double *dkrds) const =0
Definition: AnisotropicEikonal.hpp:44