MiscibilityProps.hpp
Go to the documentation of this file.
1 //===========================================================================
2 //
3 // File: MiscibilityProps.hpp
4 //
5 // Created: Wed Feb 10 09:04:35 2010
6 //
7 // Author: Bjørn Spjelkavik <bsp@sintef.no>
8 //
9 // Revision: $Id$
10 //
11 //===========================================================================
12 /*
13  Copyright 2010 SINTEF ICT, Applied Mathematics.
14 
15  This file is part of the Open Porous Media project (OPM).
16 
17  OPM is free software: you can redistribute it and/or modify
18  it under the terms of the GNU General Public License as published by
19  the Free Software Foundation, either version 3 of the License, or
20  (at your option) any later version.
21 
22  OPM is distributed in the hope that it will be useful,
23  but WITHOUT ANY WARRANTY; without even the implied warranty of
24  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
25  GNU General Public License for more details.
26 
27  You should have received a copy of the GNU General Public License
28  along with OPM. If not, see <http://www.gnu.org/licenses/>.
29 */
30 
31 #ifndef SINTEF_MISCIBILITYPROPS_HEADER
32 #define SINTEF_MISCIBILITYPROPS_HEADER
33 
38 #include "BlackoilDefs.hpp"
39 #include <vector>
40 #include <array>
41 
42 namespace Opm
43 {
44 
45 
47  {
48  public:
49  typedef CompVec surfvol_t;
50 
52  virtual ~MiscibilityProps();
53 
54  virtual double getViscosity(int region, double press, const surfvol_t& surfvol) const = 0;
55  virtual double B (int region, double press, const surfvol_t& surfvol) const = 0;
56  virtual double dBdp(int region, double press, const surfvol_t& surfvol) const = 0;
57  virtual double R (int region, double press, const surfvol_t& surfvol) const = 0;
58  virtual double dRdp(int region, double press, const surfvol_t& surfvol) const = 0;
59 
60  virtual void getViscosity(const std::vector<PhaseVec>& pressures,
61  const std::vector<CompVec>& surfvol,
62  int phase,
63  std::vector<double>& output) const = 0;
64  virtual void B(const std::vector<PhaseVec>& pressures,
65  const std::vector<CompVec>& surfvol,
66  int phase,
67  std::vector<double>& output) const = 0;
68  virtual void dBdp(const std::vector<PhaseVec>& pressures,
69  const std::vector<CompVec>& surfvol,
70  int phase,
71  std::vector<double>& output_B,
72  std::vector<double>& output_dBdp) const = 0;
73  virtual void R(const std::vector<PhaseVec>& pressures,
74  const std::vector<CompVec>& surfvol,
75  int phase,
76  std::vector<double>& output) const = 0;
77  virtual void dRdp(const std::vector<PhaseVec>& pressures,
78  const std::vector<CompVec>& surfvol,
79  int phase,
80  std::vector<double>& output_R,
81  std::vector<double>& output_dRdp) const = 0;
82  };
83 
84 } // namespace Opm
85 
86 #endif // SINTEF_MISCIBILITYPROPS_HEADER
87 
virtual double dRdp(int region, double press, const surfvol_t &surfvol) const =0
Definition: BlackoilFluid.hpp:31
Dune::FieldVector< Scalar, numComponents > CompVec
Definition: BlackoilDefs.hpp:40
virtual double R(int region, double press, const surfvol_t &surfvol) const =0
virtual double B(int region, double press, const surfvol_t &surfvol) const =0
CompVec surfvol_t
Definition: MiscibilityProps.hpp:49
virtual double dBdp(int region, double press, const surfvol_t &surfvol) const =0
Definition: MiscibilityProps.hpp:46
Definition: BlackoilDefs.hpp:30
virtual ~MiscibilityProps()
virtual double getViscosity(int region, double press, const surfvol_t &surfvol) const =0