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 OPM is free software: you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation, either version 2 of the License, or
8 (at your option) any later version.
9 OPM is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
13 You should have received a copy of the GNU General Public License
14 along with OPM. If not, see <http://www.gnu.org/licenses/>.
15 Consult the COPYING file in the top-level source directory of this
16 module for the precise wording of the license and the list of
17 copyright holders.
18*/
23#ifndef OPM_GENERIC_OUTPUT_BLACK_OIL_MODULE_HPP
24#define OPM_GENERIC_OUTPUT_BLACK_OIL_MODULE_HPP
25
26#include <opm/input/eclipse/EclipseState/Grid/FaceDir.hpp>
27#include <opm/input/eclipse/EclipseState/SummaryConfig/SummaryConfig.hpp>
28
29#include <opm/output/data/Wells.hpp>
30#include <opm/output/eclipse/Inplace.hpp>
31
36
38
39#include <array>
40#include <cstddef>
41#include <functional>
42#include <map>
43#include <optional>
44#include <unordered_map>
45#include <utility>
46#include <vector>
47
48namespace Opm {
49
50namespace data { class Solution; }
51class EclipseState;
52class Schedule;
53class SummaryConfig;
54class SummaryConfigNode;
55class SummaryState;
56
57template<class FluidSystem>
59public:
60 using Scalar = typename FluidSystem::Scalar;
61
62 // Virtual destructor for safer inheritance.
64
66 return (this->fluidPressure_.data()) ;
67 };
68
69 int getPRESSURE_size( void ) {
70 return (this->fluidPressure_.size()) ;
71 };
72
73 void outputTimeStamp(const std::string& lbl,
74 double elapsed,
75 int rstep,
76 boost::posix_time::ptime currentDate);
77
81
85
86 // write cumulative production and injection reports to output
87 void outputCumLog(std::size_t reportStepNum);
88
89 // write production report to output
90 void outputProdLog(std::size_t reportStepNum);
91
92 // write injection report to output
93 void outputInjLog(std::size_t reportStepNum);
94
95 // calculate Fluid In Place
96 Inplace calc_inplace(std::map<std::string, double>& miscSummaryData,
97 std::map<std::string, std::vector<double>>& regionData,
98 const Parallel::Communication& comm);
99
100 void outputFipAndResvLog(const Inplace& inplace,
101 const std::size_t reportStepNum,
102 double elapsed,
103 boost::posix_time::ptime currentDate,
104 const bool substep,
105 const Parallel::Communication& comm);
106
108
109 void addRftDataToWells(data::Wells& wellDatas,
110 std::size_t reportStepNum);
111
115 void assignToSolution(data::Solution& sol);
116
117 void setRestart(const data::Solution& sol,
118 unsigned elemIdx,
119 unsigned globalDofIndex);
120
121 Scalar getSolventSaturation(unsigned elemIdx) const
122 {
123 if (sSol_.size() > elemIdx)
124 return sSol_[elemIdx];
125
126 return 0;
127 }
128
129 Scalar getSolventRsw(unsigned elemIdx) const
130 {
131 if (rswSol_.size() > elemIdx)
132 return rswSol_[elemIdx];
133
134 return 0;
135 }
136
137 Scalar getPolymerConcentration(unsigned elemIdx) const
138 {
139 if (cPolymer_.size() > elemIdx)
140 return cPolymer_[elemIdx];
141
142 return 0;
143 }
144
145 Scalar getFoamConcentration(unsigned elemIdx) const
146 {
147 if (cFoam_.size() > elemIdx)
148 return cFoam_[elemIdx];
149
150 return 0;
151 }
152
153 Scalar getSaltConcentration(unsigned elemIdx) const
154 {
155 if (cSalt_.size() > elemIdx)
156 return cSalt_[elemIdx];
157
158 return 0;
159 }
160
161 Scalar getSaltSaturation(unsigned elemIdx) const
162 {
163 if (pSalt_.size() > elemIdx)
164 return pSalt_[elemIdx];
165
166 return 0;
167 }
168
169 Scalar getPermFactor(unsigned elemIdx) const
170 {
171 if (permFact_.size() > elemIdx)
172 return permFact_[elemIdx];
173
174 return 0;
175 }
176
177 Scalar getMicrobialConcentration(unsigned elemIdx) const
178 {
179 if (cMicrobes_.size() > elemIdx)
180 return cMicrobes_[elemIdx];
181
182 return 0;
183 }
184
185 Scalar getOxygenConcentration(unsigned elemIdx) const
186 {
187 if (cOxygen_.size() > elemIdx)
188 return cOxygen_[elemIdx];
189
190 return 0;
191 }
192
193 Scalar getUreaConcentration(unsigned elemIdx) const
194 {
195 if (cUrea_.size() > elemIdx)
196 return cUrea_[elemIdx];
197
198 return 0;
199 }
200
201 Scalar getBiofilmConcentration(unsigned elemIdx) const
202 {
203 if (cBiofilm_.size() > elemIdx)
204 return cBiofilm_[elemIdx];
205
206 return 0;
207 }
208
209 Scalar getCalciteConcentration(unsigned elemIdx) const
210 {
211 if (cCalcite_.size() > elemIdx)
212 return cCalcite_[elemIdx];
213
214 return 0;
215 }
216
217 const std::array<FlowsData<double>, 3>& getFlowsn() const
218 {
219 return this->flowsn_;
220 }
221
222 bool hasFlowsn() const
223 {
224 return enableFlowsn_;
225 }
226
227 bool hasFlows() const
228 {
229 return enableFlows_;
230 }
231
232 bool hasBlockFlows() const
233 {
234 return blockFlows_;
235 }
236
237 bool anyFlows() const
238 {
239 return anyFlows_;
240 }
241
242 const std::array<FlowsData<double>, 3>& getFloresn() const
243 {
244 return this->floresn_;
245 }
246
247 bool hasFloresn() const
248 {
249 return enableFloresn_;
250 }
251
252 bool hasFlores() const
253 {
254 return enableFlores_;
255 }
256
257 bool anyFlores() const
258 {
259 return anyFlores_;
260 }
261
262 bool needInterfaceFluxes([[maybe_unused]] const bool isSubStep) const
263 {
265 }
266
267 const std::map<std::pair<std::string, int>, double>& getBlockData()
268 {
269 return blockData_;
270 }
271
272 const Inplace& initialInplace() const
273 {
274 return this->initialInplace_.value();
275 }
276
277 bool localDataValid() const{
278 return local_data_valid_;
279 }
280
282 local_data_valid_ = false;
283 }
284
286 local_data_valid_ = true;
287 }
288
289 void setCnvData(const std::vector<std::vector<int>>& data)
290 {
291 cnvData_ = data;
292 }
293
294 template<class Serializer>
295 void serializeOp(Serializer& serializer)
296 {
297 serializer(initialInplace_);
298 }
299
304 void assignGlobalFieldsToSolution(data::Solution& sol);
305
306protected:
307 using ScalarBuffer = std::vector<Scalar>;
308 using StringBuffer = std::vector<std::string>;
309 enum { numPhases = FluidSystem::numPhases };
310 enum { numComponents = FluidSystem::numComponents };
311 enum { gasPhaseIdx = FluidSystem::gasPhaseIdx };
312 enum { oilPhaseIdx = FluidSystem::oilPhaseIdx };
313 enum { waterPhaseIdx = FluidSystem::waterPhaseIdx };
314 enum { gasCompIdx = FluidSystem::gasCompIdx };
315 enum { oilCompIdx = FluidSystem::oilCompIdx };
316 enum { waterCompIdx = FluidSystem::waterCompIdx };
317 using Dir = FaceDir::DirEnum;
318
319 GenericOutputBlackoilModule(const EclipseState& eclState,
320 const Schedule& schedule,
321 const SummaryConfig& summaryConfig,
322 const SummaryState& summaryState,
323 const std::string& moduleVersionName,
324 bool enableEnergy,
325 bool enableTemperature,
326 bool enableMech,
327 bool enableSolvent,
328 bool enablePolymer,
329 bool enableFoam,
330 bool enableBrine,
331 bool enableSaltPrecipitation,
332 bool enableExtbo,
333 bool enableMICP);
334
335 void doAllocBuffers(unsigned bufferSize,
336 unsigned reportStepNum,
337 const bool substep,
338 const bool log,
339 const bool isRestart,
340 const bool vapparsActive,
341 const bool enableHysteresis,
342 unsigned numTracers,
343 unsigned numOutputNnc);
344
345 void makeRegionSum(Inplace& inplace,
346 const std::string& region_name,
347 const Parallel::Communication& comm) const;
348
350
351 void updateSummaryRegionValues(const Inplace& inplace,
352 std::map<std::string, double>& miscSummaryData,
353 std::map<std::string, std::vector<double>>& regionData) const;
354
355 static bool isOutputCreationDirective_(const std::string& keyword);
356
357 // Sum Fip values over regions.
358 static ScalarBuffer regionSum(const ScalarBuffer& property,
359 const std::vector<int>& regionId,
360 const std::size_t maxNumberOfRegions,
361 const Parallel::Communication& comm);
362
363 static int regionMax(const std::vector<int>& region,
364 const Parallel::Communication& comm);
365
366 static void update(Inplace& inplace,
367 const std::string& region_name,
368 const Inplace::Phase phase,
369 const std::size_t ntFip,
370 const ScalarBuffer& values);
371
372 static Scalar sum(const ScalarBuffer& v);
373
374 void setupBlockData(std::function<bool(int)> isCartIdxOnThisRank);
375
376 virtual bool isDefunctParallelWell(std::string wname) const = 0;
377
378 const EclipseState& eclState_;
379 const Schedule& schedule_;
380 const SummaryState& summaryState_;
381
382 SummaryConfig summaryConfig_;
383
386
390
398
403
411
412 std::unordered_map<Inplace::Phase, ScalarBuffer> fip_;
413 std::unordered_map<std::string, std::vector<int>> regions_;
414 std::unordered_map<Inplace::Phase, std::vector<SummaryConfigNode>> regionNodes_;
415
416 std::vector<SummaryConfigNode> RPRNodes_;
417 std::vector<SummaryConfigNode> RPRPNodes_;
418
419 std::vector<int> failedCellsPb_;
420 std::vector<int> failedCellsPd_;
421
473
474 // buffers for mechanical output
478
500
501 std::array<ScalarBuffer, numPhases> saturation_;
502 std::array<ScalarBuffer, numPhases> invB_;
503 std::array<ScalarBuffer, numPhases> density_;
504 std::array<ScalarBuffer, numPhases> viscosity_;
505 std::array<ScalarBuffer, numPhases> relativePermeability_;
506
507 std::vector<ScalarBuffer> tracerConcentrations_;
508
509 std::array<ScalarBuffer, numPhases> residual_;
510
511 std::array<std::array<ScalarBuffer, numPhases>, 6> flows_;
512 std::array<std::array<ScalarBuffer, numPhases>, 6> flores_;
513
514 std::array<FlowsData<double>, 3> floresn_;
515 std::array<FlowsData<double>, 3> flowsn_;
516
517 std::map<std::size_t, Scalar> oilConnectionPressures_;
518 std::map<std::size_t, Scalar> waterConnectionSaturations_;
519 std::map<std::size_t, Scalar> gasConnectionSaturations_;
520 std::map<std::pair<std::string, int>, double> blockData_;
521
522 std::vector<std::vector<int>> cnvData_;
523
524 std::optional<Inplace> initialInplace_;
526
527 std::optional<RegionPhasePoreVolAverage> regionAvgDensity_;
528};
529
530} // namespace Opm
531
532#endif // OPM_GENERIC_OUTPUT_BLACK_OIL_MODULE_HPP
Definition: GenericOutputBlackoilModule.hpp:58
ScalarBuffer krnSwMdcGo_
Definition: GenericOutputBlackoilModule.hpp:454
ScalarBuffer mFracCo2_
Definition: GenericOutputBlackoilModule.hpp:449
bool anyFlores_
Definition: GenericOutputBlackoilModule.hpp:405
std::vector< std::vector< int > > cnvData_
Data for CNV_xxx arrays.
Definition: GenericOutputBlackoilModule.hpp:522
ScalarBuffer strainXY_
Definition: GenericOutputBlackoilModule.hpp:497
std::map< std::pair< std::string, int >, double > blockData_
Definition: GenericOutputBlackoilModule.hpp:520
std::array< ScalarBuffer, numPhases > relativePermeability_
Definition: GenericOutputBlackoilModule.hpp:505
bool blockFlows_
Definition: GenericOutputBlackoilModule.hpp:406
ScalarBuffer dispY_
Definition: GenericOutputBlackoilModule.hpp:480
ScalarBuffer delstressXZ_
Definition: GenericOutputBlackoilModule.hpp:492
ScalarBuffer fluidPressure_
Definition: GenericOutputBlackoilModule.hpp:428
ScalarBuffer mFracGas_
Definition: GenericOutputBlackoilModule.hpp:448
ScalarBuffer strainYZ_
Definition: GenericOutputBlackoilModule.hpp:499
ScalarBuffer extboX_
Definition: GenericOutputBlackoilModule.hpp:444
std::array< ScalarBuffer, numPhases > density_
Definition: GenericOutputBlackoilModule.hpp:503
void invalidateLocalData()
Definition: GenericOutputBlackoilModule.hpp:281
bool hasFlores() const
Definition: GenericOutputBlackoilModule.hpp:252
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:463
bool enableTemperature_
Definition: GenericOutputBlackoilModule.hpp:388
bool enableFoam_
Definition: GenericOutputBlackoilModule.hpp:393
@ waterPhaseIdx
Definition: GenericOutputBlackoilModule.hpp:313
ScalarBuffer cBiofilm_
Definition: GenericOutputBlackoilModule.hpp:468
ScalarBuffer overburdenPressure_
Definition: GenericOutputBlackoilModule.hpp:434
@ numPhases
Definition: GenericOutputBlackoilModule.hpp:309
Scalar getFoamConcentration(unsigned elemIdx) const
Definition: GenericOutputBlackoilModule.hpp:145
bool enableMech_
Definition: GenericOutputBlackoilModule.hpp:389
ScalarBuffer delstressYZ_
Definition: GenericOutputBlackoilModule.hpp:493
const EclipseState & eclState_
Definition: GenericOutputBlackoilModule.hpp:378
ScalarBuffer delstressZZ_
Definition: GenericOutputBlackoilModule.hpp:490
bool enableFlows_
Definition: GenericOutputBlackoilModule.hpp:407
ScalarBuffer rockCompPorvMultiplier_
Definition: GenericOutputBlackoilModule.hpp:460
ScalarBuffer pcSwMdcGo_
Definition: GenericOutputBlackoilModule.hpp:453
Scalar getSolventRsw(unsigned elemIdx) const
Definition: GenericOutputBlackoilModule.hpp:129
static int regionMax(const std::vector< int > &region, const Parallel::Communication &comm)
bool enableFlores_
Definition: GenericOutputBlackoilModule.hpp:408
void makeRegionSum(Inplace &inplace, const std::string &region_name, const Parallel::Communication &comm) const
Scalar getSaltSaturation(unsigned elemIdx) const
Definition: GenericOutputBlackoilModule.hpp:161
bool computeFip_
Definition: GenericOutputBlackoilModule.hpp:402
bool hasFloresn() const
Definition: GenericOutputBlackoilModule.hpp:247
ScalarBuffer dewPointPressure_
Definition: GenericOutputBlackoilModule.hpp:459
LogOutputHelper< Scalar > logOutput_
Definition: GenericOutputBlackoilModule.hpp:385
std::vector< std::string > StringBuffer
Definition: GenericOutputBlackoilModule.hpp:308
bool enableBrine_
Definition: GenericOutputBlackoilModule.hpp:394
bool forceDisableFipresvOutput_
Definition: GenericOutputBlackoilModule.hpp:400
ScalarBuffer mechPotentialPressForce_
Definition: GenericOutputBlackoilModule.hpp:476
@ gasCompIdx
Definition: GenericOutputBlackoilModule.hpp:314
void setCnvData(const std::vector< std::vector< int > > &data)
Definition: GenericOutputBlackoilModule.hpp:289
std::vector< SummaryConfigNode > RPRNodes_
Definition: GenericOutputBlackoilModule.hpp:416
std::vector< int > failedCellsPb_
Definition: GenericOutputBlackoilModule.hpp:419
std::unordered_map< Inplace::Phase, ScalarBuffer > fip_
Definition: GenericOutputBlackoilModule.hpp:412
void doAllocBuffers(unsigned bufferSize, unsigned reportStepNum, const bool substep, const bool log, const bool isRestart, const bool vapparsActive, const bool enableHysteresis, unsigned numTracers, unsigned numOutputNnc)
ScalarBuffer permFact_
Definition: GenericOutputBlackoilModule.hpp:443
ScalarBuffer rsw_
Definition: GenericOutputBlackoilModule.hpp:431
bool outputFipRestart_
Definition: GenericOutputBlackoilModule.hpp:401
ScalarBuffer pcog_
Definition: GenericOutputBlackoilModule.hpp:472
std::optional< RegionPhasePoreVolAverage > regionAvgDensity_
Definition: GenericOutputBlackoilModule.hpp:527
ScalarBuffer dispZ_
Definition: GenericOutputBlackoilModule.hpp:481
std::array< ScalarBuffer, numPhases > invB_
Definition: GenericOutputBlackoilModule.hpp:502
ScalarBuffer pSalt_
Definition: GenericOutputBlackoilModule.hpp:442
Scalar getPermFactor(unsigned elemIdx) const
Definition: GenericOutputBlackoilModule.hpp:169
ScalarBuffer stressZZ_
Definition: GenericOutputBlackoilModule.hpp:484
std::map< std::size_t, Scalar > waterConnectionSaturations_
Definition: GenericOutputBlackoilModule.hpp:518
bool anyFlores() const
Definition: GenericOutputBlackoilModule.hpp:257
ScalarBuffer cFoam_
Definition: GenericOutputBlackoilModule.hpp:440
void serializeOp(Serializer &serializer)
Definition: GenericOutputBlackoilModule.hpp:295
void outputCumLog(std::size_t reportStepNum)
ScalarBuffer bubblePointPressure_
Definition: GenericOutputBlackoilModule.hpp:458
ScalarBuffer temperature_
Definition: GenericOutputBlackoilModule.hpp:429
bool enableSolvent_
Definition: GenericOutputBlackoilModule.hpp:391
Scalar getMicrobialConcentration(unsigned elemIdx) const
Definition: GenericOutputBlackoilModule.hpp:177
ScalarBuffer ppcw_
Definition: GenericOutputBlackoilModule.hpp:455
std::array< FlowsData< double >, 3 > floresn_
Definition: GenericOutputBlackoilModule.hpp:514
std::vector< ScalarBuffer > tracerConcentrations_
Definition: GenericOutputBlackoilModule.hpp:507
std::optional< Inplace > initialInplace_
Definition: GenericOutputBlackoilModule.hpp:524
std::vector< Scalar > ScalarBuffer
Definition: GenericOutputBlackoilModule.hpp:307
static bool isOutputCreationDirective_(const std::string &keyword)
Scalar getBiofilmConcentration(unsigned elemIdx) const
Definition: GenericOutputBlackoilModule.hpp:201
void outputFipAndResvLog(const Inplace &inplace, const std::size_t reportStepNum, double elapsed, boost::posix_time::ptime currentDate, const bool substep, const Parallel::Communication &comm)
ScalarBuffer stressYZ_
Definition: GenericOutputBlackoilModule.hpp:487
ScalarBuffer rockCompTransMultiplier_
Definition: GenericOutputBlackoilModule.hpp:464
ScalarBuffer stressXZ_
Definition: GenericOutputBlackoilModule.hpp:486
ScalarBuffer mechPotentialForce_
Definition: GenericOutputBlackoilModule.hpp:475
Inplace calc_inplace(std::map< std::string, double > &miscSummaryData, std::map< std::string, std::vector< double > > &regionData, const Parallel::Communication &comm)
ScalarBuffer dynamicPoreVolume_
Definition: GenericOutputBlackoilModule.hpp:426
Scalar getUreaConcentration(unsigned elemIdx) const
Definition: GenericOutputBlackoilModule.hpp:193
typename FluidSystem::Scalar Scalar
Definition: GenericOutputBlackoilModule.hpp:60
FaceDir::DirEnum Dir
Definition: GenericOutputBlackoilModule.hpp:317
const std::array< FlowsData< double >, 3 > & getFloresn() const
Definition: GenericOutputBlackoilModule.hpp:242
void outputProdLog(std::size_t reportStepNum)
ScalarBuffer minimumOilPressure_
Definition: GenericOutputBlackoilModule.hpp:462
bool localDataValid() const
Definition: GenericOutputBlackoilModule.hpp:277
ScalarBuffer gasFormationVolumeFactor_
Definition: GenericOutputBlackoilModule.hpp:422
std::array< ScalarBuffer, numPhases > residual_
Definition: GenericOutputBlackoilModule.hpp:509
const std::array< FlowsData< double >, 3 > & getFlowsn() const
Definition: GenericOutputBlackoilModule.hpp:217
Scalar getSolventSaturation(unsigned elemIdx) const
Definition: GenericOutputBlackoilModule.hpp:121
Scalar getSaltConcentration(unsigned elemIdx) const
Definition: GenericOutputBlackoilModule.hpp:153
bool local_data_valid_
Definition: GenericOutputBlackoilModule.hpp:525
@ numComponents
Definition: GenericOutputBlackoilModule.hpp:310
const Schedule & schedule_
Definition: GenericOutputBlackoilModule.hpp:379
ScalarBuffer strainYY_
Definition: GenericOutputBlackoilModule.hpp:495
GenericOutputBlackoilModule(const EclipseState &eclState, const Schedule &schedule, const SummaryConfig &summaryConfig, const SummaryState &summaryState, const std::string &moduleVersionName, bool enableEnergy, bool enableTemperature, bool enableMech, bool enableSolvent, bool enablePolymer, bool enableFoam, bool enableBrine, bool enableSaltPrecipitation, bool enableExtbo, bool enableMICP)
ScalarBuffer oilSaturationPressure_
Definition: GenericOutputBlackoilModule.hpp:435
InterRegFlowMap interRegionFlows_
Definition: GenericOutputBlackoilModule.hpp:384
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:470
void addRftDataToWells(data::Wells &wellDatas, std::size_t reportStepNum)
ScalarBuffer cPolymer_
Definition: GenericOutputBlackoilModule.hpp:439
ScalarBuffer cCalcite_
Definition: GenericOutputBlackoilModule.hpp:469
const std::map< std::pair< std::string, int >, double > & getBlockData()
Definition: GenericOutputBlackoilModule.hpp:267
void setupBlockData(std::function< bool(int)> isCartIdxOnThisRank)
bool enablePolymer_
Definition: GenericOutputBlackoilModule.hpp:392
ScalarBuffer rvw_
Definition: GenericOutputBlackoilModule.hpp:433
std::array< ScalarBuffer, numPhases > saturation_
Definition: GenericOutputBlackoilModule.hpp:501
std::unordered_map< std::string, std::vector< int > > regions_
Definition: GenericOutputBlackoilModule.hpp:413
std::array< std::array< ScalarBuffer, numPhases >, 6 > flores_
Definition: GenericOutputBlackoilModule.hpp:512
const Inplace & initialInplace() const
Definition: GenericOutputBlackoilModule.hpp:272
ScalarBuffer rPorV_
Definition: GenericOutputBlackoilModule.hpp:427
Scalar * getPRESSURE_ptr(void)
Definition: GenericOutputBlackoilModule.hpp:65
ScalarBuffer oilVaporizationFactor_
Definition: GenericOutputBlackoilModule.hpp:457
int getPRESSURE_size(void)
Definition: GenericOutputBlackoilModule.hpp:69
std::vector< int > failedCellsPd_
Definition: GenericOutputBlackoilModule.hpp:420
Scalar getPolymerConcentration(unsigned elemIdx) const
Definition: GenericOutputBlackoilModule.hpp:137
std::array< FlowsData< double >, 3 > flowsn_
Definition: GenericOutputBlackoilModule.hpp:515
ScalarBuffer rs_
Definition: GenericOutputBlackoilModule.hpp:430
ScalarBuffer extboZ_
Definition: GenericOutputBlackoilModule.hpp:446
bool enableExtbo_
Definition: GenericOutputBlackoilModule.hpp:396
ScalarBuffer drsdtcon_
Definition: GenericOutputBlackoilModule.hpp:436
ScalarBuffer sSol_
Definition: GenericOutputBlackoilModule.hpp:437
ScalarBuffer stressYY_
Definition: GenericOutputBlackoilModule.hpp:483
ScalarBuffer delstressXY_
Definition: GenericOutputBlackoilModule.hpp:491
bool hasBlockFlows() const
Definition: GenericOutputBlackoilModule.hpp:232
bool hasFlowsn() const
Definition: GenericOutputBlackoilModule.hpp:222
ScalarBuffer strainXZ_
Definition: GenericOutputBlackoilModule.hpp:498
ScalarBuffer pressureTimesPoreVolume_
Definition: GenericOutputBlackoilModule.hpp:424
ScalarBuffer dispX_
Definition: GenericOutputBlackoilModule.hpp:479
ScalarBuffer gasDissolutionFactor_
Definition: GenericOutputBlackoilModule.hpp:456
@ oilPhaseIdx
Definition: GenericOutputBlackoilModule.hpp:312
ScalarBuffer strainZZ_
Definition: GenericOutputBlackoilModule.hpp:496
ScalarBuffer stressXX_
Definition: GenericOutputBlackoilModule.hpp:482
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:285
std::unordered_map< Inplace::Phase, std::vector< SummaryConfigNode > > regionNodes_
Definition: GenericOutputBlackoilModule.hpp:414
std::array< ScalarBuffer, numPhases > viscosity_
Definition: GenericOutputBlackoilModule.hpp:504
Inplace accumulateRegionSums(const Parallel::Communication &comm)
ScalarBuffer pcSwMdcOw_
Definition: GenericOutputBlackoilModule.hpp:451
bool forceDisableFipOutput_
Definition: GenericOutputBlackoilModule.hpp:399
std::array< std::array< ScalarBuffer, numPhases >, 6 > flows_
Definition: GenericOutputBlackoilModule.hpp:511
void assignToSolution(data::Solution &sol)
Move all buffers to data::Solution.
ScalarBuffer soMax_
Definition: GenericOutputBlackoilModule.hpp:450
bool anyFlows_
Definition: GenericOutputBlackoilModule.hpp:404
bool hasFlows() const
Definition: GenericOutputBlackoilModule.hpp:227
std::map< std::size_t, Scalar > oilConnectionPressures_
Definition: GenericOutputBlackoilModule.hpp:517
@ waterCompIdx
Definition: GenericOutputBlackoilModule.hpp:316
ScalarBuffer stressXY_
Definition: GenericOutputBlackoilModule.hpp:485
const SummaryState & summaryState_
Definition: GenericOutputBlackoilModule.hpp:380
bool enableFloresn_
Definition: GenericOutputBlackoilModule.hpp:410
virtual bool isDefunctParallelWell(std::string wname) const =0
@ gasPhaseIdx
Definition: GenericOutputBlackoilModule.hpp:311
ScalarBuffer strainXX_
Definition: GenericOutputBlackoilModule.hpp:494
ScalarBuffer hydrocarbonPoreVolume_
Definition: GenericOutputBlackoilModule.hpp:423
ScalarBuffer cOxygen_
Definition: GenericOutputBlackoilModule.hpp:466
bool enableSaltPrecipitation_
Definition: GenericOutputBlackoilModule.hpp:395
ScalarBuffer delstressXX_
Definition: GenericOutputBlackoilModule.hpp:488
bool anyFlows() const
Definition: GenericOutputBlackoilModule.hpp:237
void setRestart(const data::Solution &sol, unsigned elemIdx, unsigned globalDofIndex)
ScalarBuffer krnSwMdcOw_
Definition: GenericOutputBlackoilModule.hpp:452
Scalar getOxygenConcentration(unsigned elemIdx) const
Definition: GenericOutputBlackoilModule.hpp:185
static Scalar sum(const ScalarBuffer &v)
bool enableFlowsn_
Definition: GenericOutputBlackoilModule.hpp:409
ScalarBuffer cSalt_
Definition: GenericOutputBlackoilModule.hpp:441
void outputTimeStamp(const std::string &lbl, double elapsed, int rstep, boost::posix_time::ptime currentDate)
ScalarBuffer rv_
Definition: GenericOutputBlackoilModule.hpp:432
@ oilCompIdx
Definition: GenericOutputBlackoilModule.hpp:315
bool needInterfaceFluxes(const bool isSubStep) const
Definition: GenericOutputBlackoilModule.hpp:262
bool enableMICP_
Definition: GenericOutputBlackoilModule.hpp:397
void outputErrorLog(const Parallel::Communication &comm) const
ScalarBuffer pcow_
Definition: GenericOutputBlackoilModule.hpp:471
std::map< std::size_t, Scalar > gasConnectionSaturations_
Definition: GenericOutputBlackoilModule.hpp:519
ScalarBuffer mechPotentialTempForce_
Definition: GenericOutputBlackoilModule.hpp:477
SummaryConfig summaryConfig_
Definition: GenericOutputBlackoilModule.hpp:382
ScalarBuffer delstressYY_
Definition: GenericOutputBlackoilModule.hpp:489
std::vector< SummaryConfigNode > RPRPNodes_
Definition: GenericOutputBlackoilModule.hpp:417
ScalarBuffer cUrea_
Definition: GenericOutputBlackoilModule.hpp:467
ScalarBuffer swMax_
Definition: GenericOutputBlackoilModule.hpp:461
Scalar getCalciteConcentration(unsigned elemIdx) const
Definition: GenericOutputBlackoilModule.hpp:209
ScalarBuffer cMicrobes_
Definition: GenericOutputBlackoilModule.hpp:465
ScalarBuffer mFracOil_
Definition: GenericOutputBlackoilModule.hpp:447
void outputInjLog(std::size_t reportStepNum)
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:425
ScalarBuffer rswSol_
Definition: GenericOutputBlackoilModule.hpp:438
ScalarBuffer extboY_
Definition: GenericOutputBlackoilModule.hpp:445
bool enableEnergy_
Definition: GenericOutputBlackoilModule.hpp:387
Inter-region flow accumulation maps for all region definition arrays.
Definition: InterRegFlows.hpp:179
bool wantInterRegflowSummary() const
Definition: InterRegFlows.hpp:282
Definition: LogOutputHelper.hpp:42
Dune::Communication< MPIComm > Communication
Definition: ParallelCommunication.hpp:30
Definition: BlackoilPhases.hpp:27
std::string moduleVersionName()