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 
29 
30 namespace Opm
31 {
32 
36  {
37  public:
47  const int dim,
48  const int num_cells);
49 
51  virtual ~BlackoilPropertiesBasic();
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_;
194  PvtPropertiesBasic pvt_;
195  SaturationPropsBasic satprops_;
196  };
197 
198 
199 
200 } // namespace Opm
201 
202 
203 #endif // OPM_BLACKOILPROPERTIESBASIC_HEADER_INCLUDED
Definition: RockBasic.hpp:30
virtual PhaseUsage phaseUsage() const
Definition: AnisotropicEikonal.hpp:43
virtual const int * cellPvtRegionIndex() const
Definition: BlackoilPropertiesBasic.hpp:64
virtual void swatInitScaling(const int cell, const double pcow, double &swat)
Definition: ParameterGroup.hpp:109
virtual int numPhases() const
virtual ~BlackoilPropertiesBasic()
Destructor.
virtual void matrix(const int n, const double *p, const double *T, const double *z, const int *cells, double *A, double *dAdp) 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 void relperm(const int n, const double *s, const int *cells, double *kr, double *dkrds) const
BlackoilPropertiesBasic(const parameter::ParameterGroup &param, const int dim, const int num_cells)
Definition: BlackoilPropertiesInterface.hpp:37
virtual const double * porosity() const
virtual const double * surfaceDensity(int cellIdx=0) const
virtual int numDimensions() const
virtual void capPress(const int n, const double *s, const int *cells, double *pc, double *dpcds) const
Definition: BlackoilPropertiesBasic.hpp:35
Definition: SaturationPropsBasic.hpp:36
virtual int numCells() const
virtual void satRange(const int n, const int *cells, double *smin, double *smax) const
virtual const double * permeability() const
virtual void density(const int n, const double *A, const int *cells, double *rho) const
Definition: BlackoilPhases.hpp:36
Definition: PvtPropertiesBasic.hpp:36