opm-simulators
Loading...
Searching...
No Matches
Opm::GenericOutputBlackoilModule< FluidSystem > Class Template Referenceabstract

Public Types

using Scalar = typename FluidSystem::Scalar

Public Member Functions

void outputTimeStamp (const std::string &lbl, double elapsed, int rstep, boost::posix_time::ptime currentDate)
void prepareDensityAccumulation ()
 Clear internal arrays for parallel accumulation of per-region phase density averages.
void accumulateDensityParallel ()
 Run cross-rank parallel accumulation of per-region phase density running sums (average values).
void outputCumLog (std::size_t reportStepNum, const bool connData)
void outputProdLog (std::size_t reportStepNum, const bool connData)
void outputInjLog (std::size_t reportStepNum, const bool connData)
void outputMSWLog (std::size_t reportStepNum)
void calc_initial_inplace (const Parallel::Communication &comm)
Inplace calc_inplace (std::map< std::string, double > &miscSummaryData, std::map< std::string, std::vector< double > > &regionData, const Parallel::Communication &comm)
void outputWellspecReport (const std::vector< std::string > &changedWells, const std::size_t reportStepNum, const double elapsed, boost::posix_time::ptime currentDate) const
void outputErrorLog (const Parallel::Communication &comm) const
void addRftDataToWells (data::Wells &wellDatas, std::size_t reportStepNum, const Parallel::Communication &comm)
void assignToSolution (data::Solution &sol)
 Move all buffers to data::Solution.
void setRestart (const data::Solution &sol, unsigned elemIdx, unsigned globalDofIndex)
Scalar getSolventSaturation (unsigned elemIdx) const
Scalar getSolventRsw (unsigned elemIdx) const
Scalar getPolymerConcentration (unsigned elemIdx) const
Scalar getFoamConcentration (unsigned elemIdx) const
Scalar getSaltConcentration (unsigned elemIdx) const
Scalar getSaltSaturation (unsigned elemIdx) const
Scalar getPermFactor (unsigned elemIdx) const
const std::vector< Scalar > & getFluidPressure () const
const BioeffectsContainer< Scalar > & getBioeffects () const
const FlowsContainer< FluidSystem > & getFlows () const
bool needInterfaceFluxes (const bool isSubStep) const
const std::map< std::pair< std::string, int >, double > & getBlockData ()
std::map< std::pair< std::string, int >, double > & getExtraBlockData ()
const std::optional< Inplace > & initialInplace () const
bool localDataValid () const
void invalidateLocalData ()
void validateLocalData ()
template<class Serializer>
void serializeOp (Serializer &serializer)
RSTConvgetConv ()
const RSTConvgetConv () const
void assignGlobalFieldsToSolution (data::Solution &sol)
 Assign fields that are in global numbering to the solution.

Static Public Member Functions

static void registerParameters ()
 Register all run-time parameters for the Vtk output module.

Protected Types

enum  { numPhases = FluidSystem::numPhases }
enum  { numComponents = FluidSystem::numComponents }
enum  { gasCompIdx = FluidSystem::gasCompIdx }
enum  { oilCompIdx = FluidSystem::oilCompIdx }
enum  { waterCompIdx = FluidSystem::waterCompIdx }
using ScalarBuffer = std::vector<Scalar>
using StringBuffer = std::vector<std::string>
using Dir = FaceDir::DirEnum

Protected Member Functions

 GenericOutputBlackoilModule (const EclipseState &eclState, const Schedule &schedule, const SummaryConfig &summaryConfig, const SummaryState &summaryState, const std::string &moduleVersionName, RSTConv::LocalToGlobalCellFunc globalCell, const Parallel::Communication &comm, bool enableEnergy, bool enableTemperature, bool enableMech, bool enableSolvent, bool enablePolymer, bool enableFoam, bool enableBrine, bool enableSaltPrecipitation, bool enableExtbo, bool enableBioeffects)
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={})
void makeRegionSum (Inplace &inplace, const std::string &region_name, const Parallel::Communication &comm) const
Inplace accumulateRegionSums (const Parallel::Communication &comm)
void updateSummaryRegionValues (const Inplace &inplace, std::map< std::string, double > &miscSummaryData, std::map< std::string, std::vector< double > > &regionData) const
void setupBlockData (std::function< bool(int)> isCartIdxOnThisRank)
void setupExtraBlockData (const std::size_t reportStepNum, std::function< bool(int)> isCartIdxOnThisRank)
virtual bool isDefunctParallelWell (const std::string &wname) const =0
virtual bool isOwnedByCurrentRank (const std::string &wname) const =0
virtual bool isOnCurrentRank (const std::string &wname) const =0

Static Protected Member Functions

static bool isOutputCreationDirective_ (const std::string &keyword)
static ScalarBuffer regionSum (const ScalarBuffer &property, const std::vector< int > &regionId, const std::size_t maxNumberOfRegions, const Parallel::Communication &comm)
static int regionMax (const std::vector< int > &region, const Parallel::Communication &comm)
static void update (Inplace &inplace, const std::string &region_name, const Inplace::Phase phase, const std::size_t ntFip, const ScalarBuffer &values)
static Scalar sum (const ScalarBuffer &v)

Protected Attributes

const EclipseState & eclState_
const Schedule & schedule_
const SummaryState & summaryState_
SummaryConfig summaryConfig_
InterRegFlowMap interRegionFlows_
LogOutputHelper< Scalar > logOutput_
bool enableEnergy_ {false}
bool enableTemperature_ {false}
bool enableMech_ {false}
bool enableSolvent_ {false}
bool enablePolymer_ {false}
bool enableFoam_ {false}
bool enableBrine_ {false}
bool enableSaltPrecipitation_ {false}
bool enableExtbo_ {false}
bool enableBioeffects_ {false}
bool forceDisableFipOutput_ {false}
bool forceDisableFipresvOutput_ {false}
bool computeFip_ {false}
FIPContainer< FluidSystem > fipC_
std::unordered_map< std::string, std::vector< int > > regions_
std::unordered_map< Inplace::Phase, std::vector< SummaryConfigNode > > regionNodes_
std::vector< SummaryConfigNode > RPRNodes_
std::vector< SummaryConfigNode > RPRPNodes_
std::vector< int > failedCellsPb_
std::vector< int > failedCellsPd_
ScalarBuffer gasFormationVolumeFactor_
ScalarBuffer hydrocarbonPoreVolume_
ScalarBuffer pressureTimesPoreVolume_
ScalarBuffer pressureTimesHydrocarbonVolume_
ScalarBuffer dynamicPoreVolume_
ScalarBuffer rPorV_
ScalarBuffer fluidPressure_
ScalarBuffer temperature_
ScalarBuffer rs_
ScalarBuffer rsw_
ScalarBuffer rv_
ScalarBuffer rvw_
ScalarBuffer overburdenPressure_
ScalarBuffer oilSaturationPressure_
ScalarBuffer drsdtcon_
ScalarBuffer sSol_
ScalarBuffer rswSol_
ScalarBuffer cPolymer_
ScalarBuffer cFoam_
ScalarBuffer cSalt_
ScalarBuffer pSalt_
ScalarBuffer permFact_
ExtboContainer< Scalar > extboC_
ScalarBuffer soMax_
ScalarBuffer swMax_
ScalarBuffer sgmax_
ScalarBuffer shmax_
ScalarBuffer somin_
ScalarBuffer swmin_
ScalarBuffer ppcw_
ScalarBuffer gasDissolutionFactor_
ScalarBuffer oilVaporizationFactor_
ScalarBuffer gasDissolutionFactorInWater_
ScalarBuffer waterVaporizationFactor_
ScalarBuffer bubblePointPressure_
ScalarBuffer dewPointPressure_
ScalarBuffer rockCompPorvMultiplier_
ScalarBuffer minimumOilPressure_
ScalarBuffer saturatedOilFormationVolumeFactor_
ScalarBuffer rockCompTransMultiplier_
BioeffectsContainer< Scalar > bioeffectsC_
ScalarBuffer pcgw_
ScalarBuffer pcow_
ScalarBuffer pcog_
MechContainer< Scalar > mech_
std::array< ScalarBuffer, numPhases > saturation_
std::array< ScalarBuffer, numPhases > invB_
std::array< ScalarBuffer, numPhases > density_
std::array< ScalarBuffer, numPhases > viscosity_
std::array< ScalarBuffer, numPhases > relativePermeability_
TracerContainer< FluidSystem > tracerC_
std::array< ScalarBuffer, numPhases > residual_
FlowsContainer< FluidSystem > flowsC_
RFTContainer< FluidSystem > rftC_
RSTConv rst_conv_
 Helper class for RPTRST CONV.
std::map< std::pair< std::string, int >, double > blockData_
std::map< std::pair< std::string, int >, double > extraBlockData_
std::optional< Inplace > initialInplace_
bool local_data_valid_ {false}
std::optional< RegionPhasePoreVolAverageregionAvgDensity_

Static Protected Attributes

static constexpr int gasPhaseIdx = FluidSystem::gasPhaseIdx
static constexpr int oilPhaseIdx = FluidSystem::oilPhaseIdx
static constexpr int waterPhaseIdx = FluidSystem::waterPhaseIdx

Member Function Documentation

◆ assignGlobalFieldsToSolution()

template<class FluidSystem>
void Opm::GenericOutputBlackoilModule< FluidSystem >::assignGlobalFieldsToSolution ( data::Solution & sol)

Assign fields that are in global numbering to the solution.

\detail This is used to add fields that for some reason cannot be collected using the regular collect mechanism to the solution. In particular this is used with RPTRST CONV output.


The documentation for this class was generated from the following files: