My Project
Loading...
Searching...
No Matches
MICPpara.hpp
1/*
2 Copyright 2021 NORCE.
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#ifndef OPM_PARSER_MICPPARA_HPP
20#define OPM_PARSER_MICPPARA_HPP
21
22namespace Opm {
23
24class Deck;
25
26 class MICPpara {
27 public:
28
29 MICPpara();
30
31 explicit MICPpara(const Deck& deck);
32
33
34 static MICPpara serializationTestObject()
35 {
36 MICPpara mp;
37 mp.m_density_biofilm = 100;
38 mp.m_fitting_factor = 77;
39 mp.m_maximum_oxygen_concentration = -1;
40 return mp;
41 }
42
43 double getDensityBiofilm() const {
44 return m_density_biofilm;
45 }
46
47 double getDensityCalcite() const {
48 return m_density_calcite;
49 }
50
51 double getDetachmentRate() const {
52 return m_detachment_rate;
53 }
54
55 double getCriticalPorosity() const {
56 return m_critical_porosity;
57 }
58
59 double getFittingFactor() const {
60 return m_fitting_factor;
61 }
62
63 double getHalfVelocityOxygen() const {
64 return m_half_velocity_oxygen;
65 }
66
67 double getHalfVelocityUrea() const {
68 return m_half_velocity_urea;
69 }
70
71 double getMaximumGrowthRate() const {
72 return m_maximum_growth_rate;
73 }
74
75 double getMaximumOxygenConcentration() const {
76 return m_maximum_oxygen_concentration;
77 }
78
79 double getMaximumUreaConcentration() const {
80 return m_maximum_urea_concentration;
81 }
82
83 double getMaximumUreaUtilization() const {
84 return m_maximum_urea_utilization;
85 }
86
87 double getMicrobialAttachmentRate() const {
88 return m_microbial_attachment_rate;
89 }
90
91 double getMicrobialDeathRate() const {
92 return m_microbial_death_rate;
93 }
94
95 double getMinimumPermeability() const {
96 return m_minimum_permeability;
97 }
98
99 double getOxygenConsumptionFactor() const {
100 return m_oxygen_consumption_factor;
101 }
102
103 double getToleranceBeforeClogging() const {
104 return m_tolerance_before_clogging;
105 }
106
107 double getYieldGrowthCoefficient() const {
108 return m_yield_growth_coefficient;
109 }
110
111 bool operator==(const MICPpara& data) const
112 {
113 return this->getDensityBiofilm() == data.getDensityBiofilm() &&
114 this->getDensityCalcite() == data.getDensityCalcite() &&
115 this->getDetachmentRate() == data.getDetachmentRate() &&
116 this->getCriticalPorosity() == data.getCriticalPorosity() &&
117 this->getFittingFactor() == data.getFittingFactor() &&
118 this->getHalfVelocityOxygen() == data.getHalfVelocityOxygen() &&
119 this->getHalfVelocityUrea() == data.getHalfVelocityUrea() &&
120 this->getMaximumGrowthRate() == data.getMaximumGrowthRate() &&
121 this->getMaximumOxygenConcentration() == data.getMaximumOxygenConcentration() &&
122 this->getMaximumUreaConcentration() == data.getMaximumUreaConcentration() &&
123 this->getMaximumUreaUtilization() == data.getMaximumUreaUtilization() &&
124 this->getMicrobialAttachmentRate() == data.getMicrobialAttachmentRate() &&
125 this->getMicrobialDeathRate() == data.getMicrobialDeathRate() &&
126 this->getMinimumPermeability() == data.getMinimumPermeability() &&
127 this->getOxygenConsumptionFactor() == data.getOxygenConsumptionFactor() &&
128 this->getToleranceBeforeClogging() == data.getToleranceBeforeClogging() &&
129 this->getYieldGrowthCoefficient() == data.getYieldGrowthCoefficient();
130 }
131
132 template<class Serializer>
133 void serializeOp(Serializer& serializer)
134 {
135 serializer(m_density_biofilm);
136 serializer(m_density_calcite);
137 serializer(m_detachment_rate);
138 serializer(m_critical_porosity);
139 serializer(m_fitting_factor);
140 serializer(m_half_velocity_oxygen);
141 serializer(m_half_velocity_urea);
142 serializer(m_maximum_growth_rate);
143 serializer(m_maximum_oxygen_concentration);
144 serializer(m_maximum_urea_concentration);
145 serializer(m_maximum_urea_utilization);
146 serializer(m_microbial_attachment_rate);
147 serializer(m_microbial_death_rate);
148 serializer(m_minimum_permeability);
149 serializer(m_oxygen_consumption_factor);
150 serializer(m_tolerance_before_clogging);
151 serializer(m_yield_growth_coefficient);
152 }
153
154 private:
155 double m_density_biofilm;
156 double m_density_calcite;
157 double m_detachment_rate;
158 double m_critical_porosity;
159 double m_fitting_factor;
160 double m_half_velocity_oxygen;
161 double m_half_velocity_urea;
162 double m_maximum_growth_rate;
163 double m_maximum_oxygen_concentration;
164 double m_maximum_urea_concentration;
165 double m_maximum_urea_utilization;
166 double m_microbial_attachment_rate;
167 double m_microbial_death_rate;
168 double m_minimum_permeability;
169 double m_oxygen_consumption_factor;
170 double m_tolerance_before_clogging;
171 double m_yield_growth_coefficient;
172
173 };
174}
175
176
177#endif
Definition Deck.hpp:49
Definition MICPpara.hpp:26
Class for (de-)serializing.
Definition Serializer.hpp:84
This class implements a small container which holds the transmissibility mulitpliers for all the face...
Definition Exceptions.hpp:30