DerivedQuantities.hpp
Go to the documentation of this file.
1/*
2 Copyright 2016 Statoil ASA.
3 Copyright 2015, 2016 SINTEF ICT, Applied Mathematics.
4
5 This file is part of the Open Porous Media project (OPM).
6
7 OPM is free software: you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation, either version 3 of the License, or
10 (at your option) any later version.
11
12 OPM is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
16
17 You should have received a copy of the GNU General Public License
18 along with OPM. If not, see <http://www.gnu.org/licenses/>.
19*/
20
21#ifndef OPM_DERIVEDQUANTITIES_HEADER_INCLUDED
22#define OPM_DERIVEDQUANTITIES_HEADER_INCLUDED
23
27#include <utility>
28#include <vector>
29
30namespace Opm
31{
32namespace FlowDiagnostics
33{
37 using Graph = std::pair< std::vector<double>, std::vector<double> >;
38
57 const Toolbox::Reverse& producer_solution,
58 const std::vector<double>& pore_volume,
59 const double max_pv_fraction = 1.0);
60
65 Graph flowCapacityStorageCapacityCurve(const std::vector<double>& injector_tof,
66 const std::vector<double>& producer_tof,
67 const std::vector<double>& pore_volume,
68 const double max_pv_fraction = 1.0);
69
83 double lorenzCoefficient(const Graph& flowcap_storagecap_curve);
84
90 Graph sweepEfficiency(const Graph& flowcap_storagecap_curve);
91
93 double injectorProducerPairVolume(const Toolbox::Forward& injector_solution,
94 const Toolbox::Reverse& producer_solution,
95 const std::vector<double>& pore_volume,
96 const CellSetID& injector,
97 const CellSetID& producer);
98
110 std::pair<double, double>
112 const Toolbox::Reverse& producer_solution,
113 const CellSetID& injector,
114 const CellSetID& producer,
115 const std::map<CellSetID, CellSetValues>& inflow_flux);
116
117
118} // namespace FlowDiagnostics
119} // namespace Opm
120
121
122
123#endif // OPM_DERIVEDQUANTITIES_HEADER_INCLUDED
Definition: CellSet.hpp:35
Graph sweepEfficiency(const Graph &flowcap_storagecap_curve)
Graph flowCapacityStorageCapacityCurve(const Toolbox::Forward &injector_solution, const Toolbox::Reverse &producer_solution, const std::vector< double > &pore_volume, const double max_pv_fraction=1.0)
std::pair< std::vector< double >, std::vector< double > > Graph
Definition: DerivedQuantities.hpp:37
std::pair< double, double > injectorProducerPairFlux(const Toolbox::Forward &injector_solution, const Toolbox::Reverse &producer_solution, const CellSetID &injector, const CellSetID &producer, const std::map< CellSetID, CellSetValues > &inflow_flux)
double lorenzCoefficient(const Graph &flowcap_storagecap_curve)
double injectorProducerPairVolume(const Toolbox::Forward &injector_solution, const Toolbox::Reverse &producer_solution, const std::vector< double > &pore_volume, const CellSetID &injector, const CellSetID &producer)
Compute pore volume associated with an injector-producer pair.
Definition: A.hpp:4
Definition: Toolbox.hpp:70
Definition: Toolbox.hpp:75