MiscibilityLiveGas.hpp
Go to the documentation of this file.
1//===========================================================================
2//
3// File: MiscibilityLiveGas.hpp
4//
5// Created: Wed Feb 10 09:21:26 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_MISCIBILITYLIVEGAS_HEADER
32#define SINTEF_MISCIBILITYLIVEGAS_HEADER
33
38#include "MiscibilityProps.hpp"
39#include <opm/parser/eclipse/EclipseState/EclipseState.hpp>
40
41namespace Opm
42{
43
44 class PvtgTable;
45
47 {
48 public:
49 MiscibilityLiveGas(const Opm::PvtgTable& pvtgTable);
51
52 virtual double getViscosity(int region, double press, const surfvol_t& surfvol) const;
53 virtual double R(int region, double press, const surfvol_t& surfvol) const;
54 virtual double dRdp(int region, double press, const surfvol_t& surfvol) const;
55 virtual double B(int region, double press, const surfvol_t& surfvol) const;
56 virtual double dBdp(int region, double press, const surfvol_t& surfvol) const;
57
58 virtual void getViscosity(const std::vector<PhaseVec>& pressures,
59 const std::vector<CompVec>& surfvol,
60 int phase,
61 std::vector<double>& output) const;
62 virtual void B(const std::vector<PhaseVec>& pressures,
63 const std::vector<CompVec>& surfvol,
64 int phase,
65 std::vector<double>& output) const;
66 virtual void dBdp(const std::vector<PhaseVec>& pressures,
67 const std::vector<CompVec>& surfvol,
68 int phase,
69 std::vector<double>& output_B,
70 std::vector<double>& output_dBdp) const;
71 virtual void R(const std::vector<PhaseVec>& pressures,
72 const std::vector<CompVec>& surfvol,
73 int phase,
74 std::vector<double>& output) const;
75 virtual void dRdp(const std::vector<PhaseVec>& pressures,
76 const std::vector<CompVec>& surfvol,
77 int phase,
78 std::vector<double>& output_R,
79 std::vector<double>& output_dRdp) const;
80
81 protected:
82 // item: 1=B 2=mu;
83 double miscible_gas(double press, const surfvol_t& surfvol, int item,
84 bool deriv = false) const;
85 // PVT properties of wet gas (with vaporised oil)
86 std::vector<std::vector<double> > saturated_gas_table_;
87 std::vector<std::vector<std::vector<double> > > undersat_gas_tables_;
88
89 };
90
91}
92
93#endif // SINTEF_MISCIBILITYLIVEGAS_HEADER
94
Definition: MiscibilityLiveGas.hpp:47
virtual double getViscosity(int region, double press, const surfvol_t &surfvol) const
std::vector< std::vector< double > > saturated_gas_table_
Definition: MiscibilityLiveGas.hpp:86
virtual double dRdp(int region, double press, const surfvol_t &surfvol) const
std::vector< std::vector< std::vector< double > > > undersat_gas_tables_
Definition: MiscibilityLiveGas.hpp:87
virtual void R(const std::vector< PhaseVec > &pressures, const std::vector< CompVec > &surfvol, int phase, std::vector< double > &output) const
virtual void getViscosity(const std::vector< PhaseVec > &pressures, const std::vector< CompVec > &surfvol, int phase, std::vector< double > &output) const
virtual double B(int region, double press, const surfvol_t &surfvol) const
virtual double dBdp(int region, double press, const surfvol_t &surfvol) const
virtual void B(const std::vector< PhaseVec > &pressures, const std::vector< CompVec > &surfvol, int phase, std::vector< double > &output) const
double miscible_gas(double press, const surfvol_t &surfvol, int item, bool deriv=false) const
virtual double R(int region, double press, const surfvol_t &surfvol) const
virtual void dBdp(const std::vector< PhaseVec > &pressures, const std::vector< CompVec > &surfvol, int phase, std::vector< double > &output_B, std::vector< double > &output_dBdp) const
virtual void dRdp(const std::vector< PhaseVec > &pressures, const std::vector< CompVec > &surfvol, int phase, std::vector< double > &output_R, std::vector< double > &output_dRdp) const
MiscibilityLiveGas(const Opm::PvtgTable &pvtgTable)
Definition: MiscibilityProps.hpp:47
CompVec surfvol_t
Definition: MiscibilityProps.hpp:49
Definition: BlackoilFluid.hpp:32