Output module for the results black oil model writing in ECL binary format.
More...
#include <OutputBlackoilModule.hpp>
|
| | OutputBlackOilModule (const Simulator &simulator, const SummaryConfig &smryCfg, const CollectDataOnIORankType &collectOnIORank) |
| |
| void | allocBuffers (const unsigned bufferSize, const unsigned reportStepNum, const bool substep, const bool log, const bool isRestart) |
| | Allocate memory for the scalar fields we would like to write to ECL output files. More...
|
| |
| void | setupExtractors (const bool isSubStep, const int reportStepNum) |
| | Setup list of active element-level data extractors. More...
|
| |
| void | clearExtractors () |
| | Clear list of active element-level data extractors. More...
|
| |
| void | assignToSolution (data::Solution &sol) override |
| | Move all buffers to data::Solution. More...
|
| |
| void | processElement (const ElementContext &elemCtx) |
| | Modify the internal buffers according to the intensive quanties relevant for an element. More...
|
| |
| void | processElementBlockData (const ElementContext &elemCtx) |
| |
| void | outputFipAndResvLog (const Inplace &inplace, const std::size_t reportStepNum, double elapsed, boost::posix_time::ptime currentDate, const bool substep, const Parallel::Communication &comm) |
| |
| void | outputFipAndResvLogToCSV (const std::size_t reportStepNum, const bool substep, const Parallel::Communication &comm) |
| |
| template<class ActiveIndex , class CartesianIndex > |
| void | processFluxes (const ElementContext &elemCtx, ActiveIndex &&activeIndex, CartesianIndex &&cartesianIndex) |
| | Capture connection fluxes, particularly to account for inter-region flows. More...
|
| |
| void | initializeFluxData () |
| | Prepare for capturing connection fluxes, particularly to account for inter-region flows. More...
|
| |
| void | finalizeFluxData () |
| | Finalize capturing connection fluxes. More...
|
| |
| const InterRegFlowMap & | getInterRegFlows () const |
| | Get read-only access to collection of inter-region flows. More...
|
| |
| template<class FluidState > |
| void | assignToFluidState (FluidState &fs, unsigned elemIdx) const |
| |
| void | initHysteresisParams (Simulator &simulator, unsigned elemIdx) const |
| |
| void | updateFluidInPlace (const ElementContext &elemCtx) |
| |
| void | updateFluidInPlace (const unsigned globalDofIdx, const IntensiveQuantities &intQuants, const double totVolume) |
| |
| void | setRestart (const data::Solution &sol, const unsigned elemIdx, const unsigned globalDofIndex) override |
| | Restore the buffers this module owns from a restart file. More...
|
| |
| void | outputTimeStamp (const std::string &lbl, double elapsed, int rstep, boost::posix_time::ptime currentDate) |
| |
| void | prepareDensityAccumulation () |
| |
| void | accumulateDensityParallel () |
| |
| 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 > > ®ionData, const Parallel::Communication &comm) |
| |
| 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 |
| |
| void | outputErrorLog (const Parallel::Communication &comm) const |
| |
| void | addRftDataToWells (data::Wells &wellDatas, std::size_t reportStepNum, const Parallel::Communication &comm) |
| |
| 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 CO2H2Container< Scalar > & | getCO2H2 () const |
| |
| const FlowsContainer< GetPropType< TypeTag, Properties::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::map< std::tuple< std::string, int, int >, double > & | getLgrBlockData () const |
| |
| const Inplace * | initialInplace () const |
| |
| bool | localDataValid () const |
| |
| void | invalidateLocalData () |
| |
| void | validateLocalData () |
| |
| void | serializeOp (Serializer &serializer) |
| |
| RSTConv & | getConv () |
| |
| const RSTConv & | getConv () const |
| |
| const data::RegionVariableMapping & | regVarMapping () const |
| |
| RegionVariableCollection & | regionVariables () |
| |
| void | 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. More...
|
| |
|
| enum | |
| |
| enum | |
| |
| enum | |
| |
| enum | |
| |
| enum | |
| |
| using | StringBuffer = std::vector< std::string > |
| |
|
| void | allocFormulationBuffers (std::map< std::string, int > &rstKeywords, const unsigned bufferSize) override |
| | Allocate the buffers of the quantities only the black-oil formulation produces, keyed on their restart mnemonics. More...
|
| |
| void | assignPhaseProperties (data::Solution &sol, const PhasePropertyNames &names) |
| | Move the phase density and viscosity buffers to sol under names. More...
|
| |
| void | assignBuffer (data::Solution &sol, std::string_view name, UnitSystem::measure measure, std::vector< Scalar > &buffer) |
| |
| void | assignBuffer (data::Solution &sol, std::string_view name, UnitSystem::measure measure, std::vector< Scalar > &buffer, int index) |
| | A negative index marks an inactive phase and reports nothing. More...
|
| |
| 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 ®ion_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 > > ®ionData) const |
| |
| void | setupBlockData (std::function< bool(int)> isCartIdxOnThisRank) |
| |
| void | setupExtraBlockData (const std::size_t reportStepNum, std::function< bool(int)> isCartIdxOnThisRank) |
| |
| void | setupLgrBlockData (const std::map< std::string, int > &lgrNameToLevel, const std::function< bool(int, int)> &isLgrCellOnThisRank) |
| |
|
| static bool | allocBufferIfRequested (std::map< std::string, int > &rstKeywords, unsigned bufferSize, std::vector< Scalar > &buffer, std::string_view kw, bool supported, bool required=false) |
| |
| static bool | isOutputCreationDirective_ (const std::string &keyword) |
| |
| static ScalarBuffer | regionSum (const ScalarBuffer &property, const std::vector< int > ®ionId, const std::size_t maxNumberOfRegions, const Parallel::Communication &comm) |
| |
| static int | regionMax (const std::vector< int > ®ion, const Parallel::Communication &comm) |
| |
| static void | update (Inplace &inplace, const std::string ®ion_name, const Inplace::Phase phase, const std::size_t ntFip, const ScalarBuffer &values) |
| |
| static Scalar | sum (const ScalarBuffer &v) |
| |
|
| const EclipseState & | eclState_ |
| |
| const Schedule & | schedule_ |
| |
| const SummaryState & | summaryState_ |
| |
| SummaryConfig | summaryConfig_ |
| |
| InterRegFlowMap | interRegionFlows_ |
| |
| LogOutputHelper< Scalar > | logOutput_ |
| |
| bool | enableEnergy_ |
| |
| bool | constantTemperature_ |
| |
| bool | enableMech_ |
| |
| bool | enableSolvent_ |
| |
| bool | enablePolymer_ |
| |
| bool | enableFoam_ |
| |
| bool | enableBrine_ |
| |
| bool | enableSaltPrecipitation_ |
| |
| bool | enableExtbo_ |
| |
| bool | enableBioeffects_ |
| |
| bool | enableGeochemistry_ |
| |
| bool | forceDisableFipOutput_ |
| |
| bool | forceDisableFipresvOutput_ |
| |
| bool | computeFip_ |
| |
| RegionVariableCollection | regionVars_ |
| |
| FIPContainer< GetPropType< TypeTag, Properties::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_ |
| |
| data::RegionVariableMapping | regVarMap_ |
| |
| std::vector< int > | failedCellsPb_ |
| |
| std::vector< int > | failedCellsPd_ |
| |
| ScalarBuffer | gasFormationVolumeFactor_ |
| |
| ScalarBuffer | hydrocarbonPoreVolume_ |
| |
| ScalarBuffer | pressureTimesPoreVolume_ |
| |
| ScalarBuffer | pressureTimesHydrocarbonVolume_ |
| |
| ScalarBuffer | rPorV_ |
| |
| ScalarBuffer | fluidPressure_ |
| |
| ScalarBuffer | temperature_ |
| |
| ScalarBuffer | rsw_ |
| |
| 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 | rockCompPorvMultiplier_ |
| |
| ScalarBuffer | minimumOilPressure_ |
| |
| ScalarBuffer | saturatedOilFormationVolumeFactor_ |
| |
| ScalarBuffer | rockCompTransMultiplier_ |
| |
| BioeffectsContainer< Scalar > | bioeffectsC_ |
| |
| CO2H2Container< Scalar > | CO2H2C_ |
| |
| ScalarBuffer | pcgw_ |
| |
| ScalarBuffer | pcow_ |
| |
| ScalarBuffer | pcog_ |
| |
| MechContainer< Scalar > | mech_ |
| |
| TpsaContainer< Scalar > | tpsaC_ |
| |
| std::array< ScalarBuffer, numPhases > | saturation_ |
| |
| std::array< ScalarBuffer, numPhases > | density_ |
| |
| std::array< ScalarBuffer, numPhases > | viscosity_ |
| |
| GeochemistryContainer< Scalar > | geochemC_ |
| |
| TracerContainer< GetPropType< TypeTag, Properties::FluidSystem > > | tracerC_ |
| |
| std::array< ScalarBuffer, numPhases > | residual_ |
| |
| FlowsContainer< GetPropType< TypeTag, Properties::FluidSystem > > | flowsC_ |
| |
| RFTContainer< GetPropType< TypeTag, Properties::FluidSystem > > | rftC_ |
| |
| RSTConv | rst_conv_ |
| | Helper class for RPTRST CONV. More...
|
| |
| std::map< std::pair< std::string, int >, double > | blockData_ |
| |
| std::map< std::pair< std::string, int >, double > | extraBlockData_ |
| |
| std::map< std::tuple< std::string, int, int >, double > | lgrBlockData_ |
| |
| std::optional< Inplace > | initialInplace_ |
| |
| bool | local_data_valid_ |
| |
| std::optional< RegionPhasePoreVolAverage > | regionAvgDensity_ |
| |
template<class TypeTag>
class Opm::OutputBlackOilModule< TypeTag > Output module for the results black oil model writing in ECL binary format.
◆ StringBuffer
◆ anonymous enum
◆ anonymous enum
◆ anonymous enum
◆ anonymous enum
◆ anonymous enum
◆ OutputBlackOilModule()
◆ accumulateDensityParallel()
Run cross-rank parallel accumulation of per-region phase density running sums (average values).
◆ accumulateRegionSums()
◆ addRftDataToWells()
◆ allocBufferIfRequested()
Resize buffer when the restart keyword kw is requested, and mark the request as handled.
◆ allocBuffers()
template<class TypeTag >
| void Opm::OutputBlackOilModule< TypeTag >::allocBuffers |
( |
const unsigned |
bufferSize, |
|
|
const unsigned |
reportStepNum, |
|
|
const bool |
substep, |
|
|
const bool |
log, |
|
|
const bool |
isRestart |
|
) |
| |
|
inline |
◆ allocFormulationBuffers()
template<class TypeTag >
| void Opm::OutputBlackOilModule< TypeTag >::allocFormulationBuffers |
( |
std::map< std::string, int > & |
rstKeywords, |
|
|
const unsigned |
bufferSize |
|
) |
| |
|
inlineoverrideprotectedvirtual |
◆ assignBuffer() [1/2]
Move a single buffer to sol. An unallocated buffer has nothing to report.
◆ assignBuffer() [2/2]
A negative index marks an inactive phase and reports nothing.
◆ assignGlobalFieldsToSolution()
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.
◆ assignPhaseProperties()
Move the phase density and viscosity buffers to sol under names.
◆ assignToFluidState()
template<class TypeTag >
template<class FluidState >
◆ assignToSolution()
◆ calc_initial_inplace()
◆ calc_inplace()
◆ clearExtractors()
Clear list of active element-level data extractors.
◆ doAllocBuffers()
| void Opm::GenericOutputModule< GetPropType< TypeTag, Properties::FluidSystem > >::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 = {} |
|
) |
| |
|
protectedinherited |
◆ finalizeFluxData()
◆ getBioeffects()
◆ getBlockData()
◆ getCO2H2()
◆ getConv() [1/2]
◆ getConv() [2/2]
◆ getExtraBlockData()
◆ getFlows()
◆ getFluidPressure()
◆ getFoamConcentration()
◆ getInterRegFlows()
◆ getLgrBlockData()
◆ getPermFactor()
◆ getPolymerConcentration()
◆ getSaltConcentration()
◆ getSaltSaturation()
◆ getSolventRsw()
◆ getSolventSaturation()
◆ initHysteresisParams()
References Opm::GenericOutputModule< GetPropType< TypeTag, Properties::FluidSystem > >::ppcw_, Opm::GenericOutputModule< GetPropType< TypeTag, Properties::FluidSystem > >::sgmax_, Opm::GenericOutputModule< GetPropType< TypeTag, Properties::FluidSystem > >::shmax_, Opm::GenericOutputModule< GetPropType< TypeTag, Properties::FluidSystem > >::soMax_, Opm::GenericOutputModule< GetPropType< TypeTag, Properties::FluidSystem > >::somin_, Opm::GenericOutputModule< GetPropType< TypeTag, Properties::FluidSystem > >::swMax_, and Opm::GenericOutputModule< GetPropType< TypeTag, Properties::FluidSystem > >::swmin_.
◆ initialInplace()
◆ initializeFluxData()
◆ invalidateLocalData()
◆ isOutputCreationDirective_()
◆ localDataValid()
◆ makeRegionSum()
◆ needInterfaceFluxes()
◆ outputCumLog()
◆ outputErrorLog()
◆ outputFipAndResvLog()
◆ outputFipAndResvLogToCSV()
◆ outputInjLog()
◆ outputMSWLog()
◆ outputProdLog()
◆ outputTimeStamp()
◆ outputWellspecReport()
Emit well specification report
Includes well level, connection level, and segment level information for structurally changed wells. Also includes contents of well lists for structurally changed well lists.
- Parameters
-
| [in] | changedWells | Wells whose structures differ from those of the previous well specification report. |
| [in] | changedWellLists | Whether or not any of the run's current well lists changed structurally since the previous well specification report. |
| [in] | reportStepNum | One-based report step index. |
| [in] | elapsed | Simulated time, in seconds, since start of simulation run. |
| [in] | currentDate | Time point at which this well specification report is emitted. |
◆ prepareDensityAccumulation()
Clear internal arrays for parallel accumulation of per-region phase density averages.
◆ processElement()
◆ processElementBlockData()
◆ processFluxes()
template<class TypeTag >
template<class ActiveIndex , class CartesianIndex >
| void Opm::OutputBlackOilModule< TypeTag >::processFluxes |
( |
const ElementContext & |
elemCtx, |
|
|
ActiveIndex && |
activeIndex, |
|
|
CartesianIndex && |
cartesianIndex |
|
) |
| |
|
inline |
Capture connection fluxes, particularly to account for inter-region flows.
- Template Parameters
-
| ActiveIndex | Callable type, typically a lambda, that enables retrieving the active index, on the local MPI rank, of a particular cell/element. Must support a function call operator of the form int operator()(const Element& elem) const
|
| CartesianIndex | Callable type, typically a lambda, that enables retrieving the globally unique Cartesian index of a particular cell/element given its active index on the local MPI rank. Must support a function call operator of the form int operator()(const int activeIndex) const
|
- Parameters
-
| [in] | elemCtx | Primary lookup structure for per-cell/element dynamic information. |
| [in] | activeIndex | Mapping from cell/elements to linear indices on local MPI rank. |
| [in] | cartesianIndex | Mapping from active index on local MPI rank to globally unique Cartesian cell/element index. |
References Opm::InterRegFlowMap::addConnection(), Opm::GenericOutputModule< GetPropType< TypeTag, Properties::FluidSystem > >::interRegionFlows_, and Opm::OutputBlackOilModule< TypeTag >::processFluxes().
Referenced by Opm::OutputBlackOilModule< TypeTag >::processFluxes().
◆ regionMax()
◆ regionSum()
◆ regionVariables()
◆ registerParameters()
Register all run-time parameters for the Vtk output module.
◆ regVarMapping()
◆ serializeOp()
◆ setRestart()
template<class TypeTag >
| void Opm::OutputBlackOilModule< TypeTag >::setRestart |
( |
const data::Solution & |
sol, |
|
|
const unsigned |
elemIdx, |
|
|
const unsigned |
globalDofIndex |
|
) |
| |
|
inlineoverridevirtual |
◆ setupBlockData()
◆ setupExtraBlockData()
◆ setupExtractors()
Setup list of active element-level data extractors.
◆ setupLgrBlockData()
◆ sum()
◆ update()
◆ updateFluidInPlace() [1/2]
◆ updateFluidInPlace() [2/2]
template<class TypeTag >
| void Opm::OutputBlackOilModule< TypeTag >::updateFluidInPlace |
( |
const unsigned |
globalDofIdx, |
|
|
const IntensiveQuantities & |
intQuants, |
|
|
const double |
totVolume |
|
) |
| |
|
inline |
◆ updateSummaryRegionValues()
◆ validateLocalData()
◆ bioeffectsC_
◆ blockData_
◆ cFoam_
◆ CO2H2C_
◆ computeFip_
◆ constantTemperature_
◆ cPolymer_
◆ cSalt_
◆ density_
◆ drsdtcon_
◆ eclState_
◆ enableBioeffects_
◆ enableBrine_
◆ enableEnergy_
◆ enableExtbo_
◆ enableFoam_
◆ enableGeochemistry_
◆ enableMech_
◆ enablePolymer_
◆ enableSaltPrecipitation_
◆ enableSolvent_
◆ extboC_
◆ extraBlockData_
◆ failedCellsPb_
◆ failedCellsPd_
◆ fipC_
◆ flowsC_
◆ fluidPressure_
◆ forceDisableFipOutput_
◆ forceDisableFipresvOutput_
◆ gasDissolutionFactor_
◆ gasDissolutionFactorInWater_
◆ gasFormationVolumeFactor_
◆ geochemC_
◆ hydrocarbonPoreVolume_
◆ initialInplace_
◆ interRegionFlows_
◆ lgrBlockData_
◆ local_data_valid_
◆ logOutput_
◆ mech_
◆ minimumOilPressure_
◆ oilSaturationPressure_
◆ oilVaporizationFactor_
◆ overburdenPressure_
◆ pcgw_
◆ pcog_
◆ pcow_
◆ permFact_
◆ ppcw_
◆ pressureTimesHydrocarbonVolume_
◆ pressureTimesPoreVolume_
◆ pSalt_
◆ regionAvgDensity_
◆ regionNodes_
◆ regions_
◆ regionVars_
Current values of input data for region-level summary vectors.
Acceleration structure for region-level summary vector calculations, aimed at minimising MPI overhead for calculating these vectors. Contents depend on runtime configuration in summaryConfig_.
Populated by initialiseRegionVariableSupport().
◆ regVarMap_
Map region variable names and region set names to numeric indices.
Populated by initialiseRegionVariableSupport().
◆ residual_
◆ rftC_
◆ rockCompPorvMultiplier_
◆ rockCompTransMultiplier_
◆ rPorV_
◆ RPRNodes_
◆ RPRPNodes_
◆ rst_conv_
◆ rsw_
◆ rswSol_
◆ rvw_
◆ saturatedOilFormationVolumeFactor_
◆ saturation_
◆ schedule_
◆ sgmax_
◆ shmax_
◆ soMax_
◆ somin_
◆ sSol_
◆ summaryConfig_
◆ summaryState_
◆ swMax_
◆ swmin_
◆ temperature_
◆ tpsaC_
◆ tracerC_
◆ viscosity_
◆ waterVaporizationFactor_
The documentation for this class was generated from the following file:
|