blackoilproblem.hh
Go to the documentation of this file.
1 // -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
2 // vi: set et ts=4 sw=4 sts=4:
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 2 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  Consult the COPYING file in the top-level source directory of this
20  module for the precise wording of the license and the list of
21  copyright holders.
22 */
28 #ifndef EWOMS_BLACKOIL_PROBLEM_HH
29 #define EWOMS_BLACKOIL_PROBLEM_HH
30 
31 #include "blackoilproperties.hh"
32 
34 
35 #include <opm/common/Unused.hpp>
36 
37 namespace Ewoms {
38 
43 template<class TypeTag>
44 class BlackOilProblem : public MultiPhaseBaseProblem<TypeTag>
45 {
46 private:
48  typedef typename GET_PROP_TYPE(TypeTag, Problem) Implementation;
49  typedef typename GET_PROP_TYPE(TypeTag, Scalar) Scalar;
50  typedef typename GET_PROP_TYPE(TypeTag, Simulator) Simulator;
51 
52 public:
60  {}
61 
65  template <class Context>
66  unsigned pvtRegionIndex(const Context& context OPM_UNUSED,
67  unsigned spaceIdx OPM_UNUSED,
68  unsigned timeIdx OPM_UNUSED) const
69  { return 0; }
70 
74  template <class Context>
75  unsigned satnumRegionIndex(const Context& context OPM_UNUSED,
76  unsigned spaceIdx OPM_UNUSED,
77  unsigned timeIdx OPM_UNUSED) const
78  { return 0; }
79 
83  template <class Context>
84  unsigned miscnumRegionIndex(const Context& context OPM_UNUSED,
85  unsigned spaceIdx OPM_UNUSED,
86  unsigned timeIdx OPM_UNUSED) const
87  { return 0; }
88 
92  template <class Context>
93  unsigned plmixnumRegionIndex(const Context& context OPM_UNUSED,
94  unsigned spaceIdx OPM_UNUSED,
95  unsigned timeIdx OPM_UNUSED) const
96  { return 0; }
97 
101  template <class Context>
102  Scalar rockCompressibility(const Context& context OPM_UNUSED,
103  unsigned spaceIdx OPM_UNUSED,
104  unsigned timeIdx OPM_UNUSED) const
105  { return 0.0; }
106 
110  template <class Context>
111  Scalar rockReferencePressure(const Context& context OPM_UNUSED,
112  unsigned spaceIdx OPM_UNUSED,
113  unsigned timeIdx OPM_UNUSED) const
114  { return 1e5; }
115 
116 private:
118  Implementation& asImp_()
119  { return *static_cast<Implementation *>(this); }
120 
122  const Implementation& asImp_() const
123  { return *static_cast<const Implementation *>(this); }
124 };
125 
126 } // namespace Ewoms
127 
128 #endif
BlackOilProblem(Simulator &simulator)
Definition: blackoilproblem.hh:58
Definition: baseauxiliarymodule.hh:37
unsigned miscnumRegionIndex(const Context &context OPM_UNUSED, unsigned spaceIdx OPM_UNUSED, unsigned timeIdx OPM_UNUSED) const
Returns the index of the relevant region for solvent mixing functions.
Definition: blackoilproblem.hh:84
unsigned pvtRegionIndex(const Context &context OPM_UNUSED, unsigned spaceIdx OPM_UNUSED, unsigned timeIdx OPM_UNUSED) const
Returns the index of the relevant region for thermodynmic properties.
Definition: blackoilproblem.hh:66
Scalar rockCompressibility(const Context &context OPM_UNUSED, unsigned spaceIdx OPM_UNUSED, unsigned timeIdx OPM_UNUSED) const
Returns the compressibility of the porous medium of a cell.
Definition: blackoilproblem.hh:102
unsigned plmixnumRegionIndex(const Context &context OPM_UNUSED, unsigned spaceIdx OPM_UNUSED, unsigned timeIdx OPM_UNUSED) const
Returns the index of the relevant region for polymer mixing functions.
Definition: blackoilproblem.hh:93
Declares the properties required by the black oil model.
Base class for all problems which use the black-oil model.
Definition: blackoilproblem.hh:44
Scalar rockReferencePressure(const Context &context OPM_UNUSED, unsigned spaceIdx OPM_UNUSED, unsigned timeIdx OPM_UNUSED) const
Returns the reference pressure for rock the compressibility of a cell.
Definition: blackoilproblem.hh:111
unsigned satnumRegionIndex(const Context &context OPM_UNUSED, unsigned spaceIdx OPM_UNUSED, unsigned timeIdx OPM_UNUSED) const
Returns the index of the relevant region for saturation functions.
Definition: blackoilproblem.hh:75
Simulator & simulator()
Returns Simulator object used by the simulation.
Definition: fvbaseproblem.hh:526
Manages the initializing and running of time dependent problems.
Definition: simulator.hh:75
The base class for the problems of ECFV discretizations which deal with a multi-phase flow through a ...
Definition: multiphasebaseproblem.hh:59
The base class for the problems of ECFV discretizations which deal with a multi-phase flow through a ...