WellTracerRate.hpp
Go to the documentation of this file.
1// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
2// vi: set et ts=4 sw=4 sts=4:
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 2 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 Consult the COPYING file in the top-level source directory of this
20 module for the precise wording of the license and the list of
21 copyright holders.
22*/
23#ifndef OPM_WELL_TRACER_RATE_HPP
24#define OPM_WELL_TRACER_RATE_HPP
25
26#include <string>
27#include <unordered_map>
28
29namespace Opm {
30
31template<class Scalar>
33{
34 std::string name{};
35 Scalar rate{};
36
37 WellTracerRate() = default;
38
39 WellTracerRate(const std::string& n, const Scalar r)
40 : name(n), rate(r)
41 {}
42
43 template<class Serializer>
44 void serializeOp(Serializer& serializer)
45 {
46 serializer(name);
47 serializer(rate);
48 }
49
50 bool operator==(const WellTracerRate& that) const
51 {
52 return
53 this->name == that.name
54 && this->rate == that.rate;
55 }
56};
57
58template<class Scalar>
60{
61 std::string name{};
62 std::unordered_map<int,Scalar> rate{};
63
64 MSWellTracerRate() = default;
65
66 MSWellTracerRate(const std::string& n)
67 : name(n)
68 {}
69
70 template<class Serializer>
71 void serializeOp(Serializer& serializer)
72 {
73 serializer(name);
74 serializer(rate);
75 }
76
77 bool operator==(const MSWellTracerRate& that) const
78 {
79 return
80 this->name == that.name
81 && this->rate == that.rate;
82 }
83};
84
85} // namespace Opm
86
87#endif // OPM_WELL_TRACER_RATE_HPP
Definition: blackoilboundaryratevector.hh:39
Definition: WellTracerRate.hpp:60
std::string name
Definition: WellTracerRate.hpp:61
MSWellTracerRate()=default
std::unordered_map< int, Scalar > rate
Definition: WellTracerRate.hpp:62
MSWellTracerRate(const std::string &n)
Definition: WellTracerRate.hpp:66
void serializeOp(Serializer &serializer)
Definition: WellTracerRate.hpp:71
bool operator==(const MSWellTracerRate &that) const
Definition: WellTracerRate.hpp:77
Definition: WellTracerRate.hpp:33
std::string name
Definition: WellTracerRate.hpp:34
bool operator==(const WellTracerRate &that) const
Definition: WellTracerRate.hpp:50
Scalar rate
Definition: WellTracerRate.hpp:35
WellTracerRate(const std::string &n, const Scalar r)
Definition: WellTracerRate.hpp:39
WellTracerRate()=default
void serializeOp(Serializer &serializer)
Definition: WellTracerRate.hpp:44