BlackoilPropertiesBasic.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_BLACKOILPROPERTIESBASIC_HEADER_INCLUDED
21#define OPM_BLACKOILPROPERTIESBASIC_HEADER_INCLUDED
22
23
28#include <opm/core/utility/parameters/ParameterGroup.hpp>
29
30namespace Opm
31{
32
36 {
37 public:
46 BlackoilPropertiesBasic(const ParameterGroup& param,
47 const int dim,
48 const int num_cells);
49
52
53
54 // ---- Rock interface ----
55
57 virtual int numDimensions() const;
58
60 virtual int numCells() const;
61
64 virtual const int* cellPvtRegionIndex() const
65 { return NULL; }
66
68 virtual const double* porosity() const;
69
73 virtual const double* permeability() const;
74
75
76 // ---- Fluid interface ----
77
79 virtual int numPhases() const;
80
82 virtual PhaseUsage phaseUsage() const;
83
92 virtual void viscosity(const int n,
93 const double* p,
94 const double* T,
95 const double* z,
96 const int* cells,
97 double* mu,
98 double* dmudp) const;
99
111 virtual void matrix(const int n,
112 const double* p,
113 const double* T,
114 const double* z,
115 const int* cells,
116 double* A,
117 double* dAdp) const;
118
119
128 virtual void density(const int n,
129 const double* A,
130 const int* cells,
131 double* rho) const;
132
136 virtual const double* surfaceDensity(int cellIdx = 0) const;
137
147 virtual void relperm(const int n,
148 const double* s,
149 const int* cells,
150 double* kr,
151 double* dkrds) const;
152
153
163 virtual void capPress(const int n,
164 const double* s,
165 const int* cells,
166 double* pc,
167 double* dpcds) const;
168
169
177 virtual void satRange(const int n,
178 const int* cells,
179 double* smin,
180 double* smax) const;
181
182
187 virtual void swatInitScaling(const int cell,
188 const double pcow,
189 double & swat);
190
191
192 private:
193 RockBasic rock_;
195 SaturationPropsBasic satprops_;
196 };
197
198
199
200} // namespace Opm
201
202
203#endif // OPM_BLACKOILPROPERTIESBASIC_HEADER_INCLUDED
Definition: BlackoilPropertiesBasic.hpp:36
virtual int numCells() const
virtual void satRange(const int n, const int *cells, double *smin, double *smax) const
virtual void swatInitScaling(const int cell, const double pcow, double &swat)
virtual void density(const int n, const double *A, const int *cells, double *rho) const
virtual ~BlackoilPropertiesBasic()
Destructor.
BlackoilPropertiesBasic(const ParameterGroup &param, const int dim, const int num_cells)
virtual PhaseUsage phaseUsage() const
virtual int numDimensions() const
virtual void matrix(const int n, const double *p, const double *T, const double *z, const int *cells, double *A, double *dAdp) const
virtual const double * surfaceDensity(int cellIdx=0) const
virtual const int * cellPvtRegionIndex() const
Definition: BlackoilPropertiesBasic.hpp:64
virtual void relperm(const int n, const double *s, const int *cells, double *kr, double *dkrds) const
virtual void viscosity(const int n, const double *p, const double *T, const double *z, const int *cells, double *mu, double *dmudp) const
virtual int numPhases() const
virtual const double * porosity() const
virtual const double * permeability() const
virtual void capPress(const int n, const double *s, const int *cells, double *pc, double *dpcds) const
Definition: BlackoilPropertiesInterface.hpp:38
Definition: PvtPropertiesBasic.hpp:37
Definition: RockBasic.hpp:31
Definition: SaturationPropsBasic.hpp:37
Definition: AnisotropicEikonal.hpp:44
Definition: BlackoilPhases.hpp:44