miscUtilitiesBlackoil.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_MISCUTILITIESBLACKOIL_HEADER_INCLUDED
21#define OPM_MISCUTILITIESBLACKOIL_HEADER_INCLUDED
22
23#include <vector>
24
25struct Wells;
26
27namespace Opm
28{
29
30 class BlackoilPropertiesInterface;
31 class BlackoilState;
32 class WellState;
33
34
52 const BlackoilState& state,
53 const std::vector<double>& transport_src,
54 const double dt,
55 double* injected,
56 double* produced);
57
58
67 const std::vector<int>& cells,
68 const std::vector<double>& p,
69 const std::vector<double>& z,
70 const std::vector<double>& s,
71 std::vector<double>& totmob);
72
73
83 const std::vector<int>& cells,
84 const std::vector<double>& p,
85 const std::vector<double>& z,
86 const std::vector<double>& s,
87 std::vector<double>& totmob,
88 std::vector<double>& omega);
89
90
100 const std::vector<int>& cells,
101 const std::vector<double>& p,
102 const std::vector<double>& T,
103 const std::vector<double>& z,
104 const std::vector<double>& s,
105 std::vector<double>& pmobc);
106
107
117 const std::vector<int>& cells,
118 const std::vector<double>& p,
119 const std::vector<double>& T,
120 const std::vector<double>& z,
121 const std::vector<double>& s,
122 std::vector<double>& fractional_flows);
123
124
137 void computeSurfacevol(const int n,
138 const int np,
139 const double* A,
140 const double* saturation,
141 double* surfacevol);
142
145 BlackoilState& state);
146
158 const Wells* wells,
159 const WellState& well_state,
160 std::vector<double>& transport_src);
161
162} // namespace Opm
163
164#endif // OPM_MISCUTILITIESBLACKOIL_HEADER_INCLUDED
Definition: BlackoilPropertiesInterface.hpp:38
Simulator state for a blackoil simulator.
Definition: BlackoilState.hpp:41
The state of a set of wells.
Definition: WellState.hpp:40
Definition: AnisotropicEikonal.hpp:44
void computeTransportSource(const UnstructuredGrid &grid, const std::vector< double > &src, const std::vector< double > &faceflux, const double inflow_frac, const Wells *wells, const std::vector< double > &well_perfrates, std::vector< double > &transport_src)
void computeSurfacevol(const int n, const int np, const double *A, const double *saturation, double *surfacevol)
void computePhaseMobilities(const Opm::IncompPropertiesInterface &props, const std::vector< int > &cells, const std::vector< double > &s, std::vector< double > &pmobc)
Computes phase mobilities for a set of saturation values.
void computeSaturation(const BlackoilPropertiesInterface &props, BlackoilState &state)
Computes saturation from surface volume densities.
void computeFractionalFlow(const Opm::IncompPropertiesInterface &props, const std::vector< int > &cells, const std::vector< double > &saturations, std::vector< double > &fractional_flows)
void computeTotalMobilityOmega(const Opm::IncompPropertiesInterface &props, const std::vector< int > &cells, const std::vector< double > &s, std::vector< double > &totmob, std::vector< double > &omega)
Computes total mobility and omega for a set of saturation values.
void computeTotalMobility(const Opm::IncompPropertiesInterface &props, const std::vector< int > &cells, const std::vector< double > &s, std::vector< double > &totmob)
Computes total mobility for a set of saturation values.
void computeInjectedProduced(const IncompPropertiesInterface &props, const std::vector< double > &s, const std::vector< double > &src, const double dt, double *injected, double *produced)
Computes injected and produced volumes of all phases. Note 1: assumes that only the first phase is in...
Definition: wells.h:51