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
39
41
42#include <array>
43#include <cstddef>
44#include <functional>
45#include <map>
46#include <optional>
47#include <unordered_map>
48#include <utility>
49#include <vector>
50
51namespace Opm {
52
53namespace data { class Solution; }
54class EclipseState;
55class Schedule;
56class SummaryConfig;
57class SummaryConfigNode;
58class SummaryState;
59
60template<class FluidSystem>
62public:
63 using Scalar = typename FluidSystem::Scalar;
64
65 // Virtual destructor for safer inheritance.
67
69 return (this->fluidPressure_.data()) ;
70 };
71
72 int getPRESSURE_size( void ) {
73 return (this->fluidPressure_.size()) ;
74 };
75
76 void outputTimeStamp(const std::string& lbl,
77 double elapsed,
78 int rstep,
79 boost::posix_time::ptime currentDate);
80
84
88
89 // write cumulative production and injection reports to output
90 void outputCumLog(std::size_t reportStepNum);
91
92 // write production report to output
93 void outputProdLog(std::size_t reportStepNum);
94
95 // write injection report to output
96 void outputInjLog(std::size_t reportStepNum);
97
98 // calculate Fluid In Place
99 Inplace calc_inplace(std::map<std::string, double>& miscSummaryData,
100 std::map<std::string, std::vector<double>>& regionData,
101 const Parallel::Communication& comm);
102
103 void outputFipAndResvLog(const Inplace& inplace,
104 const std::size_t reportStepNum,
105 double elapsed,
106 boost::posix_time::ptime currentDate,
107 const bool substep,
108 const Parallel::Communication& comm);
109
111
112 void addRftDataToWells(data::Wells& wellDatas,
113 std::size_t reportStepNum);
114
118 void assignToSolution(data::Solution& sol);
119
120 void setRestart(const data::Solution& sol,
121 unsigned elemIdx,
122 unsigned globalDofIndex);
123
124 Scalar getSolventSaturation(unsigned elemIdx) const
125 {
126 if (sSol_.size() > elemIdx)
127 return sSol_[elemIdx];
128
129 return 0;
130 }
131
132 Scalar getSolventRsw(unsigned elemIdx) const
133 {
134 if (rswSol_.size() > elemIdx)
135 return rswSol_[elemIdx];
136
137 return 0;
138 }
139
140 Scalar getPolymerConcentration(unsigned elemIdx) const
141 {
142 if (cPolymer_.size() > elemIdx)
143 return cPolymer_[elemIdx];
144
145 return 0;
146 }
147
148 Scalar getFoamConcentration(unsigned elemIdx) const
149 {
150 if (cFoam_.size() > elemIdx)
151 return cFoam_[elemIdx];
152
153 return 0;
154 }
155
156 Scalar getSaltConcentration(unsigned elemIdx) const
157 {
158 if (cSalt_.size() > elemIdx)
159 return cSalt_[elemIdx];
160
161 return 0;
162 }
163
164 Scalar getSaltSaturation(unsigned elemIdx) const
165 {
166 if (pSalt_.size() > elemIdx)
167 return pSalt_[elemIdx];
168
169 return 0;
170 }
171
172 Scalar getPermFactor(unsigned elemIdx) const
173 {
174 if (permFact_.size() > elemIdx)
175 return permFact_[elemIdx];
176
177 return 0;
178 }
179
180 Scalar getMicrobialConcentration(unsigned elemIdx) const
181 {
182 if (cMicrobes_.size() > elemIdx)
183 return cMicrobes_[elemIdx];
184
185 return 0;
186 }
187
188 Scalar getOxygenConcentration(unsigned elemIdx) const
189 {
190 if (cOxygen_.size() > elemIdx)
191 return cOxygen_[elemIdx];
192
193 return 0;
194 }
195
196 Scalar getUreaConcentration(unsigned elemIdx) const
197 {
198 if (cUrea_.size() > elemIdx)
199 return cUrea_[elemIdx];
200
201 return 0;
202 }
203
204 Scalar getBiofilmConcentration(unsigned elemIdx) const
205 {
206 if (cBiofilm_.size() > elemIdx)
207 return cBiofilm_[elemIdx];
208
209 return 0;
210 }
211
212 Scalar getCalciteConcentration(unsigned elemIdx) const
213 {
214 if (cCalcite_.size() > elemIdx)
215 return cCalcite_[elemIdx];
216
217 return 0;
218 }
219
220 const std::array<FlowsData<double>, 3>& getFlowsn() const
221 {
222 return this->flowsn_;
223 }
224
225 bool hasFlowsn() const
226 {
227 return enableFlowsn_;
228 }
229
230 bool hasFlows() const
231 {
232 return enableFlows_;
233 }
234
235 bool hasBlockFlows() const
236 {
237 return blockFlows_;
238 }
239
240 bool anyFlows() const
241 {
242 return anyFlows_;
243 }
244
245 const std::array<FlowsData<double>, 3>& getFloresn() const
246 {
247 return this->floresn_;
248 }
249
250 bool hasFloresn() const
251 {
252 return enableFloresn_;
253 }
254
255 bool hasFlores() const
256 {
257 return enableFlores_;
258 }
259
260 bool anyFlores() const
261 {
262 return anyFlores_;
263 }
264
265 bool needInterfaceFluxes([[maybe_unused]] const bool isSubStep) const
266 {
268 }
269
270 const std::map<std::pair<std::string, int>, double>& getBlockData()
271 {
272 return blockData_;
273 }
274
275 const Inplace& initialInplace() const
276 {
277 return this->initialInplace_.value();
278 }
279
280 bool localDataValid() const{
281 return local_data_valid_;
282 }
283
285 local_data_valid_ = false;
286 }
287
289 local_data_valid_ = true;
290 }
291
292 void setCnvData(const std::vector<std::vector<int>>& data)
293 {
294 cnvData_ = data;
295 }
296
297 template<class Serializer>
298 void serializeOp(Serializer& serializer)
299 {
300 serializer(initialInplace_);
301 }
302
307 void assignGlobalFieldsToSolution(data::Solution& sol);
308
309protected:
310 using ScalarBuffer = std::vector<Scalar>;
311 using StringBuffer = std::vector<std::string>;
312 enum { numPhases = FluidSystem::numPhases };
313 enum { numComponents = FluidSystem::numComponents };
314 enum { gasPhaseIdx = FluidSystem::gasPhaseIdx };
315 enum { oilPhaseIdx = FluidSystem::oilPhaseIdx };
316 enum { waterPhaseIdx = FluidSystem::waterPhaseIdx };
317 enum { gasCompIdx = FluidSystem::gasCompIdx };
318 enum { oilCompIdx = FluidSystem::oilCompIdx };
319 enum { waterCompIdx = FluidSystem::waterCompIdx };
320 using Dir = FaceDir::DirEnum;
321
322 GenericOutputBlackoilModule(const EclipseState& eclState,
323 const Schedule& schedule,
324 const SummaryConfig& summaryConfig,
325 const SummaryState& summaryState,
326 const std::string& moduleVersionName,
327 bool enableEnergy,
328 bool enableTemperature,
329 bool enableMech,
330 bool enableSolvent,
331 bool enablePolymer,
332 bool enableFoam,
333 bool enableBrine,
334 bool enableSaltPrecipitation,
335 bool enableExtbo,
336 bool enableMICP);
337
338 void doAllocBuffers(unsigned bufferSize,
339 unsigned reportStepNum,
340 const bool substep,
341 const bool log,
342 const bool isRestart,
343 const bool vapparsActive,
344 const bool enablePCHysteresis,
345 const bool enableNonWettingHysteresis,
346 const bool enableWettingHysteresis,
347 unsigned numTracers,
348 const std::vector<bool>& enableSolTracers,
349 unsigned numOutputNnc);
350
351 void makeRegionSum(Inplace& inplace,
352 const std::string& region_name,
353 const Parallel::Communication& comm) const;
354
356
357 void updateSummaryRegionValues(const Inplace& inplace,
358 std::map<std::string, double>& miscSummaryData,
359 std::map<std::string, std::vector<double>>& regionData) const;
360
361 static bool isOutputCreationDirective_(const std::string& keyword);
362
363 // Sum Fip values over regions.
364 static ScalarBuffer regionSum(const ScalarBuffer& property,
365 const std::vector<int>& regionId,
366 const std::size_t maxNumberOfRegions,
367 const Parallel::Communication& comm);
368
369 static int regionMax(const std::vector<int>& region,
370 const Parallel::Communication& comm);
371
372 static void update(Inplace& inplace,
373 const std::string& region_name,
374 const Inplace::Phase phase,
375 const std::size_t ntFip,
376 const ScalarBuffer& values);
377
378 static Scalar sum(const ScalarBuffer& v);
379
380 void setupBlockData(std::function<bool(int)> isCartIdxOnThisRank);
381
382 virtual bool isDefunctParallelWell(std::string wname) const = 0;
383
384 const EclipseState& eclState_;
385 const Schedule& schedule_;
386 const SummaryState& summaryState_;
387
388 SummaryConfig summaryConfig_;
389
392
393 bool enableEnergy_{false};
395 bool enableMech_{false};
396
397 bool enableSolvent_{false};
398 bool enablePolymer_{false};
399 bool enableFoam_{false};
400 bool enableBrine_{false};
402 bool enableExtbo_{false};
403 bool enableMICP_{false};
404
407 bool computeFip_{false};
408
412 bool noPrefix {false};
413
416 bool surface {false};
417
420 bool reservoir {false};
421
423 {
424 this->noPrefix = this->surface = this->reservoir = false;
425 }
426
427 explicit operator bool() const
428 {
429 return this->noPrefix || this->surface || this->reservoir;
430 }
432
433 bool anyFlows_{false};
434 bool anyFlores_{false};
435 bool blockFlows_{false};
436 bool enableFlows_{false};
437 bool enableFlores_{false};
438 bool enableFlowsn_{false};
439 bool enableFloresn_{false};
440
441 std::unordered_map<Inplace::Phase, ScalarBuffer> fip_;
442 std::unordered_map<std::string, std::vector<int>> regions_;
443 std::unordered_map<Inplace::Phase, std::vector<SummaryConfigNode>> regionNodes_;
444
445 std::vector<SummaryConfigNode> RPRNodes_;
446 std::vector<SummaryConfigNode> RPRPNodes_;
447
448 std::vector<int> failedCellsPb_;
449 std::vector<int> failedCellsPd_;
450
504
505 // buffers for mechanical output
509
531
532 std::array<ScalarBuffer, numPhases> saturation_;
533 std::array<ScalarBuffer, numPhases> invB_;
534 std::array<ScalarBuffer, numPhases> density_;
535 std::array<ScalarBuffer, numPhases> viscosity_;
536 std::array<ScalarBuffer, numPhases> relativePermeability_;
537
538 std::vector<ScalarBuffer> freeTracerConcentrations_;
539 std::vector<ScalarBuffer> solTracerConcentrations_;
540
541 std::array<ScalarBuffer, numPhases> residual_;
542
543 std::array<std::array<ScalarBuffer, numPhases>, 6> flows_;
544 std::array<std::array<ScalarBuffer, numPhases>, 6> flores_;
545
546 std::array<FlowsData<double>, 3> floresn_;
547 std::array<FlowsData<double>, 3> flowsn_;
548
549 std::map<std::size_t, Scalar> oilConnectionPressures_;
550 std::map<std::size_t, Scalar> waterConnectionSaturations_;
551 std::map<std::size_t, Scalar> gasConnectionSaturations_;
552 std::map<std::pair<std::string, int>, double> blockData_;
553
554 std::vector<std::vector<int>> cnvData_;
555
556 std::optional<Inplace> initialInplace_;
557 bool local_data_valid_{false};
558
559 std::optional<RegionPhasePoreVolAverage> regionAvgDensity_;
560};
561
562} // namespace Opm
563
564#endif // OPM_GENERIC_OUTPUT_BLACK_OIL_MODULE_HPP
Definition: GenericOutputBlackoilModule.hpp:61
ScalarBuffer mFracCo2_
Definition: GenericOutputBlackoilModule.hpp:478
bool anyFlores_
Definition: GenericOutputBlackoilModule.hpp:434
std::vector< std::vector< int > > cnvData_
Data for CNV_xxx arrays.
Definition: GenericOutputBlackoilModule.hpp:554
ScalarBuffer strainXY_
Definition: GenericOutputBlackoilModule.hpp:528
std::map< std::pair< std::string, int >, double > blockData_
Definition: GenericOutputBlackoilModule.hpp:552
std::array< ScalarBuffer, numPhases > relativePermeability_
Definition: GenericOutputBlackoilModule.hpp:536
bool blockFlows_
Definition: GenericOutputBlackoilModule.hpp:435
ScalarBuffer dispY_
Definition: GenericOutputBlackoilModule.hpp:511
ScalarBuffer delstressXZ_
Definition: GenericOutputBlackoilModule.hpp:523
ScalarBuffer fluidPressure_
Definition: GenericOutputBlackoilModule.hpp:457
ScalarBuffer mFracGas_
Definition: GenericOutputBlackoilModule.hpp:477
ScalarBuffer strainYZ_
Definition: GenericOutputBlackoilModule.hpp:530
ScalarBuffer extboX_
Definition: GenericOutputBlackoilModule.hpp:473
std::array< ScalarBuffer, numPhases > density_
Definition: GenericOutputBlackoilModule.hpp:534
void invalidateLocalData()
Definition: GenericOutputBlackoilModule.hpp:284
bool hasFlores() const
Definition: GenericOutputBlackoilModule.hpp:255
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:494
bool enableTemperature_
Definition: GenericOutputBlackoilModule.hpp:394
bool enableFoam_
Definition: GenericOutputBlackoilModule.hpp:399
ScalarBuffer cBiofilm_
Definition: GenericOutputBlackoilModule.hpp:499
ScalarBuffer overburdenPressure_
Definition: GenericOutputBlackoilModule.hpp:463
ScalarBuffer gasDissolutionFactorInWater_
Definition: GenericOutputBlackoilModule.hpp:488
Scalar getFoamConcentration(unsigned elemIdx) const
Definition: GenericOutputBlackoilModule.hpp:148
bool enableMech_
Definition: GenericOutputBlackoilModule.hpp:395
ScalarBuffer delstressYZ_
Definition: GenericOutputBlackoilModule.hpp:524
const EclipseState & eclState_
Definition: GenericOutputBlackoilModule.hpp:384
ScalarBuffer delstressZZ_
Definition: GenericOutputBlackoilModule.hpp:521
bool enableFlows_
Definition: GenericOutputBlackoilModule.hpp:436
ScalarBuffer swmin_
Definition: GenericOutputBlackoilModule.hpp:484
ScalarBuffer rockCompPorvMultiplier_
Definition: GenericOutputBlackoilModule.hpp:492
Scalar getSolventRsw(unsigned elemIdx) const
Definition: GenericOutputBlackoilModule.hpp:132
static int regionMax(const std::vector< int > &region, const Parallel::Communication &comm)
bool enableFlores_
Definition: GenericOutputBlackoilModule.hpp:437
void makeRegionSum(Inplace &inplace, const std::string &region_name, const Parallel::Communication &comm) const
Scalar getSaltSaturation(unsigned elemIdx) const
Definition: GenericOutputBlackoilModule.hpp:164
bool computeFip_
Definition: GenericOutputBlackoilModule.hpp:407
bool hasFloresn() const
Definition: GenericOutputBlackoilModule.hpp:250
ScalarBuffer dewPointPressure_
Definition: GenericOutputBlackoilModule.hpp:491
LogOutputHelper< Scalar > logOutput_
Definition: GenericOutputBlackoilModule.hpp:391
@ numPhases
Definition: GenericOutputBlackoilModule.hpp:312
std::vector< std::string > StringBuffer
Definition: GenericOutputBlackoilModule.hpp:311
bool enableBrine_
Definition: GenericOutputBlackoilModule.hpp:400
bool forceDisableFipresvOutput_
Definition: GenericOutputBlackoilModule.hpp:406
ScalarBuffer mechPotentialPressForce_
Definition: GenericOutputBlackoilModule.hpp:507
std::vector< ScalarBuffer > freeTracerConcentrations_
Definition: GenericOutputBlackoilModule.hpp:538
std::vector< ScalarBuffer > solTracerConcentrations_
Definition: GenericOutputBlackoilModule.hpp:539
void setCnvData(const std::vector< std::vector< int > > &data)
Definition: GenericOutputBlackoilModule.hpp:292
std::vector< SummaryConfigNode > RPRNodes_
Definition: GenericOutputBlackoilModule.hpp:445
std::vector< int > failedCellsPb_
Definition: GenericOutputBlackoilModule.hpp:448
std::unordered_map< Inplace::Phase, ScalarBuffer > fip_
Definition: GenericOutputBlackoilModule.hpp:441
ScalarBuffer permFact_
Definition: GenericOutputBlackoilModule.hpp:472
ScalarBuffer rsw_
Definition: GenericOutputBlackoilModule.hpp:460
ScalarBuffer pcog_
Definition: GenericOutputBlackoilModule.hpp:503
std::optional< RegionPhasePoreVolAverage > regionAvgDensity_
Definition: GenericOutputBlackoilModule.hpp:559
ScalarBuffer dispZ_
Definition: GenericOutputBlackoilModule.hpp:512
std::array< ScalarBuffer, numPhases > invB_
Definition: GenericOutputBlackoilModule.hpp:533
ScalarBuffer pSalt_
Definition: GenericOutputBlackoilModule.hpp:471
Scalar getPermFactor(unsigned elemIdx) const
Definition: GenericOutputBlackoilModule.hpp:172
ScalarBuffer stressZZ_
Definition: GenericOutputBlackoilModule.hpp:515
std::map< std::size_t, Scalar > waterConnectionSaturations_
Definition: GenericOutputBlackoilModule.hpp:550
bool anyFlores() const
Definition: GenericOutputBlackoilModule.hpp:260
ScalarBuffer cFoam_
Definition: GenericOutputBlackoilModule.hpp:469
void serializeOp(Serializer &serializer)
Definition: GenericOutputBlackoilModule.hpp:298
void outputCumLog(std::size_t reportStepNum)
ScalarBuffer bubblePointPressure_
Definition: GenericOutputBlackoilModule.hpp:490
ScalarBuffer temperature_
Definition: GenericOutputBlackoilModule.hpp:458
bool enableSolvent_
Definition: GenericOutputBlackoilModule.hpp:397
Scalar getMicrobialConcentration(unsigned elemIdx) const
Definition: GenericOutputBlackoilModule.hpp:180
ScalarBuffer ppcw_
Definition: GenericOutputBlackoilModule.hpp:485
std::array< FlowsData< double >, 3 > floresn_
Definition: GenericOutputBlackoilModule.hpp:546
std::optional< Inplace > initialInplace_
Definition: GenericOutputBlackoilModule.hpp:556
std::vector< Scalar > ScalarBuffer
Definition: GenericOutputBlackoilModule.hpp:310
static bool isOutputCreationDirective_(const std::string &keyword)
@ gasPhaseIdx
Definition: GenericOutputBlackoilModule.hpp:314
Scalar getBiofilmConcentration(unsigned elemIdx) const
Definition: GenericOutputBlackoilModule.hpp:204
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:518
ScalarBuffer rockCompTransMultiplier_
Definition: GenericOutputBlackoilModule.hpp:495
ScalarBuffer stressXZ_
Definition: GenericOutputBlackoilModule.hpp:517
ScalarBuffer mechPotentialForce_
Definition: GenericOutputBlackoilModule.hpp:506
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:455
Scalar getUreaConcentration(unsigned elemIdx) const
Definition: GenericOutputBlackoilModule.hpp:196
typename FluidSystem::Scalar Scalar
Definition: GenericOutputBlackoilModule.hpp:63
FaceDir::DirEnum Dir
Definition: GenericOutputBlackoilModule.hpp:320
@ oilCompIdx
Definition: GenericOutputBlackoilModule.hpp:318
@ waterCompIdx
Definition: GenericOutputBlackoilModule.hpp:319
const std::array< FlowsData< double >, 3 > & getFloresn() const
Definition: GenericOutputBlackoilModule.hpp:245
void outputProdLog(std::size_t reportStepNum)
ScalarBuffer minimumOilPressure_
Definition: GenericOutputBlackoilModule.hpp:493
bool localDataValid() const
Definition: GenericOutputBlackoilModule.hpp:280
ScalarBuffer gasFormationVolumeFactor_
Definition: GenericOutputBlackoilModule.hpp:451
std::array< ScalarBuffer, numPhases > residual_
Definition: GenericOutputBlackoilModule.hpp:541
const std::array< FlowsData< double >, 3 > & getFlowsn() const
Definition: GenericOutputBlackoilModule.hpp:220
Scalar getSolventSaturation(unsigned elemIdx) const
Definition: GenericOutputBlackoilModule.hpp:124
Scalar getSaltConcentration(unsigned elemIdx) const
Definition: GenericOutputBlackoilModule.hpp:156
bool local_data_valid_
Definition: GenericOutputBlackoilModule.hpp:557
ScalarBuffer shmax_
Definition: GenericOutputBlackoilModule.hpp:482
const Schedule & schedule_
Definition: GenericOutputBlackoilModule.hpp:385
ScalarBuffer strainYY_
Definition: GenericOutputBlackoilModule.hpp:526
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:464
InterRegFlowMap interRegionFlows_
Definition: GenericOutputBlackoilModule.hpp:390
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:501
void addRftDataToWells(data::Wells &wellDatas, std::size_t reportStepNum)
ScalarBuffer cPolymer_
Definition: GenericOutputBlackoilModule.hpp:468
ScalarBuffer cCalcite_
Definition: GenericOutputBlackoilModule.hpp:500
const std::map< std::pair< std::string, int >, double > & getBlockData()
Definition: GenericOutputBlackoilModule.hpp:270
void setupBlockData(std::function< bool(int)> isCartIdxOnThisRank)
bool enablePolymer_
Definition: GenericOutputBlackoilModule.hpp:398
ScalarBuffer rvw_
Definition: GenericOutputBlackoilModule.hpp:462
std::array< ScalarBuffer, numPhases > saturation_
Definition: GenericOutputBlackoilModule.hpp:532
@ gasCompIdx
Definition: GenericOutputBlackoilModule.hpp:317
std::unordered_map< std::string, std::vector< int > > regions_
Definition: GenericOutputBlackoilModule.hpp:442
std::array< std::array< ScalarBuffer, numPhases >, 6 > flores_
Definition: GenericOutputBlackoilModule.hpp:544
const Inplace & initialInplace() const
Definition: GenericOutputBlackoilModule.hpp:275
ScalarBuffer rPorV_
Definition: GenericOutputBlackoilModule.hpp:456
Scalar * getPRESSURE_ptr(void)
Definition: GenericOutputBlackoilModule.hpp:68
ScalarBuffer oilVaporizationFactor_
Definition: GenericOutputBlackoilModule.hpp:487
int getPRESSURE_size(void)
Definition: GenericOutputBlackoilModule.hpp:72
std::vector< int > failedCellsPd_
Definition: GenericOutputBlackoilModule.hpp:449
Scalar getPolymerConcentration(unsigned elemIdx) const
Definition: GenericOutputBlackoilModule.hpp:140
std::array< FlowsData< double >, 3 > flowsn_
Definition: GenericOutputBlackoilModule.hpp:547
ScalarBuffer rs_
Definition: GenericOutputBlackoilModule.hpp:459
ScalarBuffer extboZ_
Definition: GenericOutputBlackoilModule.hpp:475
bool enableExtbo_
Definition: GenericOutputBlackoilModule.hpp:402
ScalarBuffer drsdtcon_
Definition: GenericOutputBlackoilModule.hpp:465
ScalarBuffer sSol_
Definition: GenericOutputBlackoilModule.hpp:466
ScalarBuffer stressYY_
Definition: GenericOutputBlackoilModule.hpp:514
ScalarBuffer delstressXY_
Definition: GenericOutputBlackoilModule.hpp:522
bool hasBlockFlows() const
Definition: GenericOutputBlackoilModule.hpp:235
bool hasFlowsn() const
Definition: GenericOutputBlackoilModule.hpp:225
ScalarBuffer strainXZ_
Definition: GenericOutputBlackoilModule.hpp:529
void doAllocBuffers(unsigned bufferSize, unsigned reportStepNum, const bool substep, const bool log, const bool isRestart, const bool vapparsActive, const bool enablePCHysteresis, const bool enableNonWettingHysteresis, const bool enableWettingHysteresis, unsigned numTracers, const std::vector< bool > &enableSolTracers, unsigned numOutputNnc)
ScalarBuffer pressureTimesPoreVolume_
Definition: GenericOutputBlackoilModule.hpp:453
ScalarBuffer dispX_
Definition: GenericOutputBlackoilModule.hpp:510
ScalarBuffer gasDissolutionFactor_
Definition: GenericOutputBlackoilModule.hpp:486
ScalarBuffer strainZZ_
Definition: GenericOutputBlackoilModule.hpp:527
ScalarBuffer stressXX_
Definition: GenericOutputBlackoilModule.hpp:513
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:288
std::unordered_map< Inplace::Phase, std::vector< SummaryConfigNode > > regionNodes_
Definition: GenericOutputBlackoilModule.hpp:443
std::array< ScalarBuffer, numPhases > viscosity_
Definition: GenericOutputBlackoilModule.hpp:535
Inplace accumulateRegionSums(const Parallel::Communication &comm)
@ numComponents
Definition: GenericOutputBlackoilModule.hpp:313
bool forceDisableFipOutput_
Definition: GenericOutputBlackoilModule.hpp:405
@ waterPhaseIdx
Definition: GenericOutputBlackoilModule.hpp:316
std::array< std::array< ScalarBuffer, numPhases >, 6 > flows_
Definition: GenericOutputBlackoilModule.hpp:543
void assignToSolution(data::Solution &sol)
Move all buffers to data::Solution.
ScalarBuffer soMax_
Definition: GenericOutputBlackoilModule.hpp:479
ScalarBuffer sgmax_
Definition: GenericOutputBlackoilModule.hpp:481
bool anyFlows_
Definition: GenericOutputBlackoilModule.hpp:433
bool hasFlows() const
Definition: GenericOutputBlackoilModule.hpp:230
std::map< std::size_t, Scalar > oilConnectionPressures_
Definition: GenericOutputBlackoilModule.hpp:549
ScalarBuffer stressXY_
Definition: GenericOutputBlackoilModule.hpp:516
const SummaryState & summaryState_
Definition: GenericOutputBlackoilModule.hpp:386
bool enableFloresn_
Definition: GenericOutputBlackoilModule.hpp:439
virtual bool isDefunctParallelWell(std::string wname) const =0
ScalarBuffer strainXX_
Definition: GenericOutputBlackoilModule.hpp:525
ScalarBuffer somin_
Definition: GenericOutputBlackoilModule.hpp:483
ScalarBuffer hydrocarbonPoreVolume_
Definition: GenericOutputBlackoilModule.hpp:452
ScalarBuffer cOxygen_
Definition: GenericOutputBlackoilModule.hpp:497
bool enableSaltPrecipitation_
Definition: GenericOutputBlackoilModule.hpp:401
ScalarBuffer delstressXX_
Definition: GenericOutputBlackoilModule.hpp:519
bool anyFlows() const
Definition: GenericOutputBlackoilModule.hpp:240
@ oilPhaseIdx
Definition: GenericOutputBlackoilModule.hpp:315
ScalarBuffer waterVaporizationFactor_
Definition: GenericOutputBlackoilModule.hpp:489
void setRestart(const data::Solution &sol, unsigned elemIdx, unsigned globalDofIndex)
Scalar getOxygenConcentration(unsigned elemIdx) const
Definition: GenericOutputBlackoilModule.hpp:188
static Scalar sum(const ScalarBuffer &v)
bool enableFlowsn_
Definition: GenericOutputBlackoilModule.hpp:438
ScalarBuffer cSalt_
Definition: GenericOutputBlackoilModule.hpp:470
void outputTimeStamp(const std::string &lbl, double elapsed, int rstep, boost::posix_time::ptime currentDate)
ScalarBuffer rv_
Definition: GenericOutputBlackoilModule.hpp:461
bool needInterfaceFluxes(const bool isSubStep) const
Definition: GenericOutputBlackoilModule.hpp:265
bool enableMICP_
Definition: GenericOutputBlackoilModule.hpp:403
void outputErrorLog(const Parallel::Communication &comm) const
ScalarBuffer pcow_
Definition: GenericOutputBlackoilModule.hpp:502
std::map< std::size_t, Scalar > gasConnectionSaturations_
Definition: GenericOutputBlackoilModule.hpp:551
ScalarBuffer mechPotentialTempForce_
Definition: GenericOutputBlackoilModule.hpp:508
SummaryConfig summaryConfig_
Definition: GenericOutputBlackoilModule.hpp:388
struct Opm::GenericOutputBlackoilModule::OutputFIPRestart outputFipRestart_
ScalarBuffer delstressYY_
Definition: GenericOutputBlackoilModule.hpp:520
std::vector< SummaryConfigNode > RPRPNodes_
Definition: GenericOutputBlackoilModule.hpp:446
ScalarBuffer cUrea_
Definition: GenericOutputBlackoilModule.hpp:498
ScalarBuffer swMax_
Definition: GenericOutputBlackoilModule.hpp:480
Scalar getCalciteConcentration(unsigned elemIdx) const
Definition: GenericOutputBlackoilModule.hpp:212
ScalarBuffer cMicrobes_
Definition: GenericOutputBlackoilModule.hpp:496
ScalarBuffer mFracOil_
Definition: GenericOutputBlackoilModule.hpp:476
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:454
ScalarBuffer rswSol_
Definition: GenericOutputBlackoilModule.hpp:467
ScalarBuffer extboY_
Definition: GenericOutputBlackoilModule.hpp:474
bool enableEnergy_
Definition: GenericOutputBlackoilModule.hpp:393
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: blackoilboundaryratevector.hh:37
std::string moduleVersionName()
Definition: GenericOutputBlackoilModule.hpp:409
void clearBits()
Definition: GenericOutputBlackoilModule.hpp:422
bool surface
Definition: GenericOutputBlackoilModule.hpp:416
bool reservoir
Definition: GenericOutputBlackoilModule.hpp:420
bool noPrefix
Definition: GenericOutputBlackoilModule.hpp:412