GenericOutputBlackoilModule.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 Consult the COPYING file in the top-level source directory of this
19 module for the precise wording of the license and the list of
20 copyright holders.
21*/
26#ifndef OPM_GENERIC_OUTPUT_BLACK_OIL_MODULE_HPP
27#define OPM_GENERIC_OUTPUT_BLACK_OIL_MODULE_HPP
28
29#include <opm/input/eclipse/EclipseState/Grid/FaceDir.hpp>
30#include <opm/input/eclipse/EclipseState/SummaryConfig/SummaryConfig.hpp>
31
32#include <opm/output/data/Wells.hpp>
33#include <opm/output/eclipse/Inplace.hpp>
34
48
50
51#include <array>
52#include <cstddef>
53#include <functional>
54#include <map>
55#include <optional>
56#include <unordered_map>
57#include <utility>
58#include <vector>
59
60namespace Opm::Parameters {
61
62struct ForceDisableFluidInPlaceOutput { static constexpr bool value = false; };
63struct ForceDisableResvFluidInPlaceOutput { static constexpr bool value = false; };
64
65} // namespace Opm::Parameters
66
67namespace Opm {
68
69namespace data { class Solution; }
70class EclHysteresisConfig;
71class EclipseState;
72class Schedule;
73class SummaryConfig;
74class SummaryConfigNode;
75class SummaryState;
76
77template<class FluidSystem>
79public:
80 using Scalar = typename FluidSystem::Scalar;
81
82 // Virtual destructor for safer inheritance.
84
88 static void registerParameters();
89
90 void outputTimeStamp(const std::string& lbl,
91 double elapsed,
92 int rstep,
93 boost::posix_time::ptime currentDate);
94
98
102
103 // write cumulative production and injection reports to output
104 void outputCumLog(std::size_t reportStepNum,
105 const bool connData);
106
107 // write production report to output
108 void outputProdLog(std::size_t reportStepNum,
109 const bool connData);
110
111 // write injection report to output
112 void outputInjLog(std::size_t reportStepNum,
113 const bool connData);
114
115 // write msw report to output
116 void outputMSWLog(std::size_t reportStepNum);
117
118 // calculate Initial Fluid In Place
120
121 // calculate Fluid In Place
122 Inplace calc_inplace(std::map<std::string, double>& miscSummaryData,
123 std::map<std::string, std::vector<double>>& regionData,
124 const Parallel::Communication& comm);
125
146 void outputWellspecReport(const std::vector<std::string>& changedWells,
147 const bool changedWellLists,
148 const std::size_t reportStepNum,
149 const double elapsed,
150 boost::posix_time::ptime currentDate) const;
151
153
154 void addRftDataToWells(data::Wells& wellDatas,
155 std::size_t reportStepNum,
156 const Parallel::Communication& comm)
157 { this->rftC_.addToWells(wellDatas, reportStepNum, comm); }
158
162 void assignToSolution(data::Solution& sol);
163
164 void setRestart(const data::Solution& sol,
165 unsigned elemIdx,
166 unsigned globalDofIndex);
167
168 Scalar getSolventSaturation(unsigned elemIdx) const
169 {
170 if (sSol_.size() > elemIdx)
171 return sSol_[elemIdx];
172
173 return 0;
174 }
175
176 Scalar getSolventRsw(unsigned elemIdx) const
177 {
178 if (rswSol_.size() > elemIdx)
179 return rswSol_[elemIdx];
180
181 return 0;
182 }
183
184 Scalar getPolymerConcentration(unsigned elemIdx) const
185 {
186 if (cPolymer_.size() > elemIdx)
187 return cPolymer_[elemIdx];
188
189 return 0;
190 }
191
192 Scalar getFoamConcentration(unsigned elemIdx) const
193 {
194 if (cFoam_.size() > elemIdx)
195 return cFoam_[elemIdx];
196
197 return 0;
198 }
199
200 Scalar getSaltConcentration(unsigned elemIdx) const
201 {
202 if (cSalt_.size() > elemIdx)
203 return cSalt_[elemIdx];
204
205 return 0;
206 }
207
208 Scalar getSaltSaturation(unsigned elemIdx) const
209 {
210 if (pSalt_.size() > elemIdx)
211 return pSalt_[elemIdx];
212
213 return 0;
214 }
215
216 Scalar getPermFactor(unsigned elemIdx) const
217 {
218 if (permFact_.size() > elemIdx)
219 return permFact_[elemIdx];
220
221 return 0;
222 }
223
224 const std::vector<Scalar>& getFluidPressure() const
225 { return fluidPressure_; }
226
228 { return this->bioeffectsC_; }
229
231 { return this->CO2H2C_; }
232
234 { return this->flowsC_; }
235
236 bool needInterfaceFluxes([[maybe_unused]] const bool isSubStep) const
237 {
239 }
240
241 const std::map<std::pair<std::string, int>, double>& getBlockData()
242 {
243 return blockData_;
244 }
245
246 std::map<std::pair<std::string, int>, double>& getExtraBlockData()
247 {
248 return extraBlockData_;
249 }
250
251 const Inplace* initialInplace() const
252 {
253 return this->initialInplace_.has_value()
254 ? &*this->initialInplace_
255 : nullptr;
256 }
257
258 bool localDataValid() const{
259 return local_data_valid_;
260 }
261
263 local_data_valid_ = false;
264 }
265
267 local_data_valid_ = true;
268 }
269
270 template<class Serializer>
271 void serializeOp(Serializer& serializer)
272 {
273 serializer(initialInplace_);
274 }
275
277 { return this->rst_conv_; }
278
279 const RSTConv& getConv() const
280 { return this->rst_conv_; }
281
286 void assignGlobalFieldsToSolution(data::Solution& sol);
287
288protected:
289 using ScalarBuffer = std::vector<Scalar>;
290 using StringBuffer = std::vector<std::string>;
291 enum { numPhases = FluidSystem::numPhases };
292 enum { numComponents = FluidSystem::numComponents };
293 static constexpr int gasPhaseIdx = FluidSystem::gasPhaseIdx;
294 static constexpr int oilPhaseIdx = FluidSystem::oilPhaseIdx;
295 static constexpr int waterPhaseIdx = FluidSystem::waterPhaseIdx;
296 enum { gasCompIdx = FluidSystem::gasCompIdx };
297 enum { oilCompIdx = FluidSystem::oilCompIdx };
298 enum { waterCompIdx = FluidSystem::waterCompIdx };
299 using Dir = FaceDir::DirEnum;
300
301 GenericOutputBlackoilModule(const EclipseState& eclState,
302 const Schedule& schedule,
303 const SummaryConfig& summaryConfig,
304 const SummaryState& summaryState,
305 const std::string& moduleVersionName,
307 std::function<bool(const unsigned)> isInterior,
308 const Parallel::Communication& comm,
309 bool enableEnergy,
310 bool constantTemperature,
311 bool enableMech,
312 bool enableSolvent,
313 bool enablePolymer,
314 bool enableFoam,
315 bool enableBrine,
316 bool enableSaltPrecipitation,
317 bool enableExtbo,
318 bool enableBioeffects,
319 bool enableGeochemistry);
320
321 void doAllocBuffers(unsigned bufferSize,
322 unsigned reportStepNum,
323 const bool substep,
324 const bool log,
325 const bool isRestart,
326 const EclHysteresisConfig* hysteresisConfig,
327 unsigned numOutputNnc = 0,
328 std::map<std::string, int> rstKeywords = {});
329
330 void makeRegionSum(Inplace& inplace,
331 const std::string& region_name,
332 const Parallel::Communication& comm) const;
333
335
336 void updateSummaryRegionValues(const Inplace& inplace,
337 std::map<std::string, double>& miscSummaryData,
338 std::map<std::string, std::vector<double>>& regionData) const;
339
340 static bool isOutputCreationDirective_(const std::string& keyword);
341
342 // Sum Fip values over regions.
343 static ScalarBuffer regionSum(const ScalarBuffer& property,
344 const std::vector<int>& regionId,
345 const std::size_t maxNumberOfRegions,
346 const Parallel::Communication& comm);
347
348 static int regionMax(const std::vector<int>& region,
349 const Parallel::Communication& comm);
350
351 static void update(Inplace& inplace,
352 const std::string& region_name,
353 const Inplace::Phase phase,
354 const std::size_t ntFip,
355 const ScalarBuffer& values);
356
357 static Scalar sum(const ScalarBuffer& v);
358
359 void setupBlockData(std::function<bool(int)> isCartIdxOnThisRank);
360 void setupExtraBlockData(const std::size_t reportStepNum,
361 std::function<bool(int)> isCartIdxOnThisRank);
362
363 virtual bool isDefunctParallelWell(const std::string& wname) const = 0;
364 virtual bool isOwnedByCurrentRank(const std::string& wname) const = 0;
365 virtual bool isOnCurrentRank(const std::string& wname) const = 0;
366
367 const EclipseState& eclState_;
368 const Schedule& schedule_;
369 const SummaryState& summaryState_;
370
371 SummaryConfig summaryConfig_;
372
375
376 bool enableEnergy_{false};
378 bool enableMech_{false};
379
380 bool enableSolvent_{false};
381 bool enablePolymer_{false};
382 bool enableFoam_{false};
383 bool enableBrine_{false};
385 bool enableExtbo_{false};
386 bool enableBioeffects_{false};
388
391 bool computeFip_{false};
392
394 std::unordered_map<std::string, std::vector<int>> regions_;
395 std::unordered_map<Inplace::Phase, std::vector<SummaryConfigNode>> regionNodes_;
396
397 std::vector<SummaryConfigNode> RPRNodes_;
398 std::vector<SummaryConfigNode> RPRPNodes_;
399
400 std::vector<int> failedCellsPb_;
401 std::vector<int> failedCellsPd_;
402
448
449 // buffers for mechanical output
451
452 std::array<ScalarBuffer, numPhases> saturation_;
453 std::array<ScalarBuffer, numPhases> invB_;
454 std::array<ScalarBuffer, numPhases> density_;
455 std::array<ScalarBuffer, numPhases> viscosity_;
456 std::array<ScalarBuffer, numPhases> relativePermeability_;
457
459
461
462 std::array<ScalarBuffer, numPhases> residual_;
463
465
468
469 std::map<std::pair<std::string, int>, double> blockData_;
470 // Extra block data required for non-summary output reasons
471 // Example is the block pressures for RPTSCHED WELLS=2
472 std::map<std::pair<std::string, int>, double> extraBlockData_;
473
474 std::optional<Inplace> initialInplace_;
475 bool local_data_valid_{false};
476
477 std::optional<RegionPhasePoreVolAverage> regionAvgDensity_;
478};
479
480} // namespace Opm
481
482#endif // OPM_GENERIC_OUTPUT_BLACK_OIL_MODULE_HPP
Definition: BioeffectsContainer.hpp:38
Definition: CO2H2Container.hpp:38
Definition: ExtboContainer.hpp:37
Definition: FIPContainer.hpp:47
Definition: FlowsContainer.hpp:44
Definition: GenericOutputBlackoilModule.hpp:78
std::map< std::pair< std::string, int >, double > blockData_
Definition: GenericOutputBlackoilModule.hpp:469
std::array< ScalarBuffer, numPhases > relativePermeability_
Definition: GenericOutputBlackoilModule.hpp:456
const RSTConv & getConv() const
Definition: GenericOutputBlackoilModule.hpp:279
const Inplace * initialInplace() const
Definition: GenericOutputBlackoilModule.hpp:251
ScalarBuffer fluidPressure_
Definition: GenericOutputBlackoilModule.hpp:409
std::array< ScalarBuffer, numPhases > density_
Definition: GenericOutputBlackoilModule.hpp:454
void invalidateLocalData()
Definition: GenericOutputBlackoilModule.hpp:262
void assignGlobalFieldsToSolution(data::Solution &sol)
Assign fields that are in global numbering to the solution. \detail This is used to add fields that f...
ScalarBuffer saturatedOilFormationVolumeFactor_
Definition: GenericOutputBlackoilModule.hpp:441
bool enableFoam_
Definition: GenericOutputBlackoilModule.hpp:382
ScalarBuffer overburdenPressure_
Definition: GenericOutputBlackoilModule.hpp:415
ScalarBuffer gasDissolutionFactorInWater_
Definition: GenericOutputBlackoilModule.hpp:435
Scalar getFoamConcentration(unsigned elemIdx) const
Definition: GenericOutputBlackoilModule.hpp:192
bool enableMech_
Definition: GenericOutputBlackoilModule.hpp:378
const EclipseState & eclState_
Definition: GenericOutputBlackoilModule.hpp:367
static constexpr int gasPhaseIdx
Definition: GenericOutputBlackoilModule.hpp:293
ScalarBuffer swmin_
Definition: GenericOutputBlackoilModule.hpp:431
bool enableGeochemistry_
Definition: GenericOutputBlackoilModule.hpp:387
ScalarBuffer rockCompPorvMultiplier_
Definition: GenericOutputBlackoilModule.hpp:439
Scalar getSolventRsw(unsigned elemIdx) const
Definition: GenericOutputBlackoilModule.hpp:176
static int regionMax(const std::vector< int > &region, const Parallel::Communication &comm)
void makeRegionSum(Inplace &inplace, const std::string &region_name, const Parallel::Communication &comm) const
Scalar getSaltSaturation(unsigned elemIdx) const
Definition: GenericOutputBlackoilModule.hpp:208
RFTContainer< FluidSystem > rftC_
Definition: GenericOutputBlackoilModule.hpp:466
bool computeFip_
Definition: GenericOutputBlackoilModule.hpp:391
ScalarBuffer dewPointPressure_
Definition: GenericOutputBlackoilModule.hpp:438
LogOutputHelper< Scalar > logOutput_
Definition: GenericOutputBlackoilModule.hpp:374
GeochemistryContainer< Scalar > geochemC_
Definition: GenericOutputBlackoilModule.hpp:458
std::vector< std::string > StringBuffer
Definition: GenericOutputBlackoilModule.hpp:290
bool enableBrine_
Definition: GenericOutputBlackoilModule.hpp:383
void calc_initial_inplace(const Parallel::Communication &comm)
bool forceDisableFipresvOutput_
Definition: GenericOutputBlackoilModule.hpp:390
std::vector< SummaryConfigNode > RPRNodes_
Definition: GenericOutputBlackoilModule.hpp:397
std::vector< int > failedCellsPb_
Definition: GenericOutputBlackoilModule.hpp:400
ScalarBuffer permFact_
Definition: GenericOutputBlackoilModule.hpp:424
ScalarBuffer rsw_
Definition: GenericOutputBlackoilModule.hpp:412
ScalarBuffer pcog_
Definition: GenericOutputBlackoilModule.hpp:447
void outputWellspecReport(const std::vector< std::string > &changedWells, const bool changedWellLists, const std::size_t reportStepNum, const double elapsed, boost::posix_time::ptime currentDate) const
RSTConv rst_conv_
Helper class for RPTRST CONV.
Definition: GenericOutputBlackoilModule.hpp:467
std::optional< RegionPhasePoreVolAverage > regionAvgDensity_
Definition: GenericOutputBlackoilModule.hpp:477
std::array< ScalarBuffer, numPhases > invB_
Definition: GenericOutputBlackoilModule.hpp:453
ScalarBuffer pSalt_
Definition: GenericOutputBlackoilModule.hpp:423
Scalar getPermFactor(unsigned elemIdx) const
Definition: GenericOutputBlackoilModule.hpp:216
bool enableBioeffects_
Definition: GenericOutputBlackoilModule.hpp:386
static void registerParameters()
Register all run-time parameters for the Vtk output module.
ScalarBuffer cFoam_
Definition: GenericOutputBlackoilModule.hpp:421
void serializeOp(Serializer &serializer)
Definition: GenericOutputBlackoilModule.hpp:271
ScalarBuffer bubblePointPressure_
Definition: GenericOutputBlackoilModule.hpp:437
ScalarBuffer temperature_
Definition: GenericOutputBlackoilModule.hpp:410
void outputCumLog(std::size_t reportStepNum, const bool connData)
bool enableSolvent_
Definition: GenericOutputBlackoilModule.hpp:380
ScalarBuffer ppcw_
Definition: GenericOutputBlackoilModule.hpp:432
std::optional< Inplace > initialInplace_
Definition: GenericOutputBlackoilModule.hpp:474
std::vector< Scalar > ScalarBuffer
Definition: GenericOutputBlackoilModule.hpp:289
static bool isOutputCreationDirective_(const std::string &keyword)
FIPContainer< FluidSystem > fipC_
Definition: GenericOutputBlackoilModule.hpp:393
ScalarBuffer rockCompTransMultiplier_
Definition: GenericOutputBlackoilModule.hpp:442
MechContainer< Scalar > mech_
Definition: GenericOutputBlackoilModule.hpp:450
Inplace calc_inplace(std::map< std::string, double > &miscSummaryData, std::map< std::string, std::vector< double > > &regionData, const Parallel::Communication &comm)
const FlowsContainer< FluidSystem > & getFlows() const
Definition: GenericOutputBlackoilModule.hpp:233
ScalarBuffer dynamicPoreVolume_
Definition: GenericOutputBlackoilModule.hpp:407
typename FluidSystem::Scalar Scalar
Definition: GenericOutputBlackoilModule.hpp:80
FaceDir::DirEnum Dir
Definition: GenericOutputBlackoilModule.hpp:299
ScalarBuffer minimumOilPressure_
Definition: GenericOutputBlackoilModule.hpp:440
bool localDataValid() const
Definition: GenericOutputBlackoilModule.hpp:258
ScalarBuffer gasFormationVolumeFactor_
Definition: GenericOutputBlackoilModule.hpp:403
std::array< ScalarBuffer, numPhases > residual_
Definition: GenericOutputBlackoilModule.hpp:462
@ waterCompIdx
Definition: GenericOutputBlackoilModule.hpp:298
void doAllocBuffers(unsigned bufferSize, unsigned reportStepNum, const bool substep, const bool log, const bool isRestart, const EclHysteresisConfig *hysteresisConfig, unsigned numOutputNnc=0, std::map< std::string, int > rstKeywords={})
Scalar getSolventSaturation(unsigned elemIdx) const
Definition: GenericOutputBlackoilModule.hpp:168
Scalar getSaltConcentration(unsigned elemIdx) const
Definition: GenericOutputBlackoilModule.hpp:200
bool local_data_valid_
Definition: GenericOutputBlackoilModule.hpp:475
ScalarBuffer shmax_
Definition: GenericOutputBlackoilModule.hpp:429
BioeffectsContainer< Scalar > bioeffectsC_
Definition: GenericOutputBlackoilModule.hpp:443
const Schedule & schedule_
Definition: GenericOutputBlackoilModule.hpp:368
FlowsContainer< FluidSystem > flowsC_
Definition: GenericOutputBlackoilModule.hpp:464
ExtboContainer< Scalar > extboC_
Definition: GenericOutputBlackoilModule.hpp:425
void setupExtraBlockData(const std::size_t reportStepNum, std::function< bool(int)> isCartIdxOnThisRank)
ScalarBuffer oilSaturationPressure_
Definition: GenericOutputBlackoilModule.hpp:416
InterRegFlowMap interRegionFlows_
Definition: GenericOutputBlackoilModule.hpp:373
RSTConv & getConv()
Definition: GenericOutputBlackoilModule.hpp:276
void outputProdLog(std::size_t reportStepNum, const bool connData)
void addRftDataToWells(data::Wells &wellDatas, std::size_t reportStepNum, const Parallel::Communication &comm)
Definition: GenericOutputBlackoilModule.hpp:154
static ScalarBuffer regionSum(const ScalarBuffer &property, const std::vector< int > &regionId, const std::size_t maxNumberOfRegions, const Parallel::Communication &comm)
ScalarBuffer pcgw_
Definition: GenericOutputBlackoilModule.hpp:445
@ gasCompIdx
Definition: GenericOutputBlackoilModule.hpp:296
ScalarBuffer cPolymer_
Definition: GenericOutputBlackoilModule.hpp:420
@ numComponents
Definition: GenericOutputBlackoilModule.hpp:292
void outputMSWLog(std::size_t reportStepNum)
const std::map< std::pair< std::string, int >, double > & getBlockData()
Definition: GenericOutputBlackoilModule.hpp:241
const std::vector< Scalar > & getFluidPressure() const
Definition: GenericOutputBlackoilModule.hpp:224
bool constantTemperature_
Definition: GenericOutputBlackoilModule.hpp:377
void setupBlockData(std::function< bool(int)> isCartIdxOnThisRank)
bool enablePolymer_
Definition: GenericOutputBlackoilModule.hpp:381
ScalarBuffer rvw_
Definition: GenericOutputBlackoilModule.hpp:414
std::array< ScalarBuffer, numPhases > saturation_
Definition: GenericOutputBlackoilModule.hpp:452
void outputInjLog(std::size_t reportStepNum, const bool connData)
std::unordered_map< std::string, std::vector< int > > regions_
Definition: GenericOutputBlackoilModule.hpp:394
virtual bool isOnCurrentRank(const std::string &wname) const =0
ScalarBuffer rPorV_
Definition: GenericOutputBlackoilModule.hpp:408
ScalarBuffer oilVaporizationFactor_
Definition: GenericOutputBlackoilModule.hpp:434
std::map< std::pair< std::string, int >, double > & getExtraBlockData()
Definition: GenericOutputBlackoilModule.hpp:246
std::vector< int > failedCellsPd_
Definition: GenericOutputBlackoilModule.hpp:401
Scalar getPolymerConcentration(unsigned elemIdx) const
Definition: GenericOutputBlackoilModule.hpp:184
ScalarBuffer rs_
Definition: GenericOutputBlackoilModule.hpp:411
static constexpr int oilPhaseIdx
Definition: GenericOutputBlackoilModule.hpp:294
bool enableExtbo_
Definition: GenericOutputBlackoilModule.hpp:385
ScalarBuffer drsdtcon_
Definition: GenericOutputBlackoilModule.hpp:417
static constexpr int waterPhaseIdx
Definition: GenericOutputBlackoilModule.hpp:295
GenericOutputBlackoilModule(const EclipseState &eclState, const Schedule &schedule, const SummaryConfig &summaryConfig, const SummaryState &summaryState, const std::string &moduleVersionName, RSTConv::LocalToGlobalCellFunc globalCell, std::function< bool(const unsigned)> isInterior, const Parallel::Communication &comm, bool enableEnergy, bool constantTemperature, bool enableMech, bool enableSolvent, bool enablePolymer, bool enableFoam, bool enableBrine, bool enableSaltPrecipitation, bool enableExtbo, bool enableBioeffects, bool enableGeochemistry)
ScalarBuffer sSol_
Definition: GenericOutputBlackoilModule.hpp:418
std::map< std::pair< std::string, int >, double > extraBlockData_
Definition: GenericOutputBlackoilModule.hpp:472
ScalarBuffer pressureTimesPoreVolume_
Definition: GenericOutputBlackoilModule.hpp:405
ScalarBuffer gasDissolutionFactor_
Definition: GenericOutputBlackoilModule.hpp:433
static void update(Inplace &inplace, const std::string &region_name, const Inplace::Phase phase, const std::size_t ntFip, const ScalarBuffer &values)
void validateLocalData()
Definition: GenericOutputBlackoilModule.hpp:266
std::unordered_map< Inplace::Phase, std::vector< SummaryConfigNode > > regionNodes_
Definition: GenericOutputBlackoilModule.hpp:395
std::array< ScalarBuffer, numPhases > viscosity_
Definition: GenericOutputBlackoilModule.hpp:455
Inplace accumulateRegionSums(const Parallel::Communication &comm)
const BioeffectsContainer< Scalar > & getBioeffects() const
Definition: GenericOutputBlackoilModule.hpp:227
bool forceDisableFipOutput_
Definition: GenericOutputBlackoilModule.hpp:389
void assignToSolution(data::Solution &sol)
Move all buffers to data::Solution.
ScalarBuffer soMax_
Definition: GenericOutputBlackoilModule.hpp:426
ScalarBuffer sgmax_
Definition: GenericOutputBlackoilModule.hpp:428
const SummaryState & summaryState_
Definition: GenericOutputBlackoilModule.hpp:369
ScalarBuffer somin_
Definition: GenericOutputBlackoilModule.hpp:430
ScalarBuffer hydrocarbonPoreVolume_
Definition: GenericOutputBlackoilModule.hpp:404
bool enableSaltPrecipitation_
Definition: GenericOutputBlackoilModule.hpp:384
@ numPhases
Definition: GenericOutputBlackoilModule.hpp:291
ScalarBuffer waterVaporizationFactor_
Definition: GenericOutputBlackoilModule.hpp:436
void setRestart(const data::Solution &sol, unsigned elemIdx, unsigned globalDofIndex)
static Scalar sum(const ScalarBuffer &v)
const CO2H2Container< Scalar > & getCO2H2() const
Definition: GenericOutputBlackoilModule.hpp:230
ScalarBuffer cSalt_
Definition: GenericOutputBlackoilModule.hpp:422
void outputTimeStamp(const std::string &lbl, double elapsed, int rstep, boost::posix_time::ptime currentDate)
@ oilCompIdx
Definition: GenericOutputBlackoilModule.hpp:297
virtual bool isOwnedByCurrentRank(const std::string &wname) const =0
TracerContainer< FluidSystem > tracerC_
Definition: GenericOutputBlackoilModule.hpp:460
ScalarBuffer rv_
Definition: GenericOutputBlackoilModule.hpp:413
bool needInterfaceFluxes(const bool isSubStep) const
Definition: GenericOutputBlackoilModule.hpp:236
void outputErrorLog(const Parallel::Communication &comm) const
ScalarBuffer pcow_
Definition: GenericOutputBlackoilModule.hpp:446
SummaryConfig summaryConfig_
Definition: GenericOutputBlackoilModule.hpp:371
virtual bool isDefunctParallelWell(const std::string &wname) const =0
std::vector< SummaryConfigNode > RPRPNodes_
Definition: GenericOutputBlackoilModule.hpp:398
ScalarBuffer swMax_
Definition: GenericOutputBlackoilModule.hpp:427
CO2H2Container< Scalar > CO2H2C_
Definition: GenericOutputBlackoilModule.hpp:444
void updateSummaryRegionValues(const Inplace &inplace, std::map< std::string, double > &miscSummaryData, std::map< std::string, std::vector< double > > &regionData) const
ScalarBuffer pressureTimesHydrocarbonVolume_
Definition: GenericOutputBlackoilModule.hpp:406
ScalarBuffer rswSol_
Definition: GenericOutputBlackoilModule.hpp:419
bool enableEnergy_
Definition: GenericOutputBlackoilModule.hpp:376
Definition: GeochemistryContainer.hpp:36
Inter-region flow accumulation maps for all region definition arrays.
Definition: InterRegFlows.hpp:179
bool wantInterRegflowSummary() const
Definition: InterRegFlows.hpp:282
Definition: LogOutputHelper.hpp:45
Definition: MechContainer.hpp:45
Definition: RFTContainer.hpp:51
Class computing RPTRST CONV output.
Definition: RSTConv.hpp:36
std::function< int(const int)> LocalToGlobalCellFunc
Definition: RSTConv.hpp:38
Definition: TracerContainer.hpp:39
Dune::Communication< MPIComm > Communication
Definition: ParallelCommunication.hpp:30
Definition: blackoilnewtonmethodparams.hpp:31
Phase
Phase indices for reservoir coupling, we currently only support black-oil phases (oil,...
Definition: ReservoirCoupling.hpp:156
Definition: blackoilbioeffectsmodules.hh:45
std::string moduleVersionName()
Definition: GenericOutputBlackoilModule.hpp:62
static constexpr bool value
Definition: GenericOutputBlackoilModule.hpp:62
Definition: GenericOutputBlackoilModule.hpp:63
static constexpr bool value
Definition: GenericOutputBlackoilModule.hpp:63