IncompPropertiesBasic.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_INCOMPPROPERTIESBASIC_HEADER_INCLUDED
21#define OPM_INCOMPPROPERTIESBASIC_HEADER_INCLUDED
22
27
28namespace Opm
29{
30
42 {
43 public:
54 IncompPropertiesBasic(const ParameterGroup& param,
55 const int dim,
56 const int num_cells);
57
58
69 IncompPropertiesBasic(const int num_phases,
70 const SaturationPropsBasic::RelPermFunc& relpermfunc,
71 const std::vector<double>& rho,
72 const std::vector<double>& mu,
73 const double porosity,
74 const double permeability,
75 const int dim,
76 const int num_cells);
77
80
81 // ---- Rock interface ----
82
84 virtual int numDimensions() const;
85
87 virtual int numCells() const;
88
90 virtual const double* porosity() const;
91
95 virtual const double* permeability() const;
96
97
98 // ---- Fluid interface ----
99
101 virtual int numPhases() const;
102
104 virtual const double* viscosity() const;
105
108 virtual const double* density() const;
109
112 virtual const double* surfaceDensity() const;
113
123 virtual void relperm(const int n,
124 const double* s,
125 const int* cells,
126 double* kr,
127 double* dkrds) const;
128
129
139 virtual void capPress(const int n,
140 const double* s,
141 const int* cells,
142 double* pc,
143 double* dpcds) const;
144
145
153 virtual void satRange(const int n,
154 const int* cells,
155 double* smin,
156 double* smax) const;
157 private:
158 RockBasic rock_;
160 SaturationPropsBasic satprops_;
161 std::vector<double> viscosity_;
162 };
163
164
165
166} // namespace Opm
167
168
169#endif // OPM_INCOMPPROPERTIESBASIC_HEADER_INCLUDED
Definition: IncompPropertiesBasic.hpp:42
virtual const double * surfaceDensity() const
virtual const double * porosity() const
virtual const double * permeability() const
virtual int numCells() const
virtual int numDimensions() const
IncompPropertiesBasic(const ParameterGroup &param, const int dim, const int num_cells)
virtual int numPhases() const
virtual void capPress(const int n, const double *s, const int *cells, double *pc, double *dpcds) const
IncompPropertiesBasic(const int num_phases, const SaturationPropsBasic::RelPermFunc &relpermfunc, const std::vector< double > &rho, const std::vector< double > &mu, const double porosity, const double permeability, const int dim, const int num_cells)
virtual ~IncompPropertiesBasic()
Destructor.
virtual const double * density() const
virtual void relperm(const int n, const double *s, const int *cells, double *kr, double *dkrds) const
virtual const double * viscosity() const
virtual void satRange(const int n, const int *cells, double *smin, double *smax) const
Definition: IncompPropertiesInterface.hpp:36
Definition: PvtPropertiesBasic.hpp:37
Definition: RockBasic.hpp:31
Definition: SaturationPropsBasic.hpp:37
RelPermFunc
Definition: SaturationPropsBasic.hpp:48
Definition: AnisotropicEikonal.hpp:44