FlowDiagnostics.hpp
Go to the documentation of this file.
1/*
2 Copyright 2015 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_FLOWDIAGNOSTICS_HEADER_INCLUDED
21#define OPM_FLOWDIAGNOSTICS_HEADER_INCLUDED
22
23
24#include <vector>
25#include <utility>
26#include <tuple>
27
28struct Wells;
29
30namespace Opm
31{
32
45 std::pair<std::vector<double>, std::vector<double>>
46 computeFandPhi(const std::vector<double>& pv,
47 const std::vector<double>& ftof,
48 const std::vector<double>& rtof);
49
50
67 double computeLorenz(const std::vector<double>& flowcap,
68 const std::vector<double>& storagecap);
69
70
80 std::pair<std::vector<double>, std::vector<double>>
81 computeSweep(const std::vector<double>& flowcap,
82 const std::vector<double>& storagecap);
83
84
95 std::vector<std::tuple<int, int, double>>
96 computeWellPairs(const Wells& wells,
97 const std::vector<double>& porevol,
98 const std::vector<double>& ftracer,
99 const std::vector<double>& btracer);
100
101} // namespace Opm
102
103#endif // OPM_FLOWDIAGNOSTICS_HEADER_INCLUDED
Definition: AnisotropicEikonal.hpp:44
std::vector< std::tuple< int, int, double > > computeWellPairs(const Wells &wells, const std::vector< double > &porevol, const std::vector< double > &ftracer, const std::vector< double > &btracer)
Compute volumes associated with injector-producer pairs.
std::pair< std::vector< double >, std::vector< double > > computeFandPhi(const std::vector< double > &pv, const std::vector< double > &ftof, const std::vector< double > &rtof)
Compute flow-capacity/storage-capacity based on time-of-flight.
std::pair< std::vector< double >, std::vector< double > > computeSweep(const std::vector< double > &flowcap, const std::vector< double > &storagecap)
Compute sweep efficiency versus dimensionless time (PVI).
double computeLorenz(const std::vector< double > &flowcap, const std::vector< double > &storagecap)
Compute the Lorenz coefficient based on the F-Phi curve.
Definition: wells.h:51