Output module for compositional-model results written in ECL binary format.
More...
#include <OutputCompositionalModule.hpp>
|
| template<class CollectDataToIORankType > |
| | OutputCompositionalModule (const Simulator &simulator, const SummaryConfig &smryCfg, const CollectDataToIORankType &collectToIORank) |
| |
| 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 | assignToSolution (data::Solution &sol) override |
| | Move all buffers to data::Solution. More...
|
| |
| 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) |
| |
| void | setupExtractors (const bool, const std::size_t) |
| | Setup list of active element-level data extractors. More...
|
| |
| void | clearExtractors () |
| | Clear list of active element-level data extractors. More...
|
| |
| void | processElement (const ElementContext &elemCtx) |
| | Modify the internal buffers according to the intensive quanties relevant for an element. More...
|
| |
| void | processElementFlows (const ElementContext &) |
| |
| void | processElementBlockData (const ElementContext &) |
| |
| template<class ActiveIndex , class CartesianIndex > |
| void | processFluxes (const ElementContext &, ActiveIndex &&, 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...
|
| |
| void | updateFluidInPlace (const unsigned, const IntensiveQuantities &, const double) |
| |
| 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) |
| |
| virtual 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 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 |
| |
| 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 > |
| |
| using | Dir = FaceDir::DirEnum |
| |
|
| void | allocFormulationBuffers (std::map< std::string, int > &rstKeywords, const unsigned bufferSize) override |
| | Allocate compositional relative-permeability buffers. 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_ |
| |
| 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_ |
| |
| 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::OutputCompositionalModule< TypeTag > Output module for compositional-model results written in ECL binary format.
◆ Dir
◆ StringBuffer
◆ anonymous enum
◆ anonymous enum
◆ anonymous enum
◆ anonymous enum
◆ anonymous enum
◆ OutputCompositionalModule()
template<class TypeTag >
template<class CollectDataToIORankType >
| Opm::OutputCompositionalModule< TypeTag >::OutputCompositionalModule |
( |
const Simulator & |
simulator, |
|
|
const SummaryConfig & |
smryCfg, |
|
|
const CollectDataToIORankType & |
collectToIORank |
|
) |
| |
|
inline |
◆ 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::OutputCompositionalModule< TypeTag >::allocBuffers |
( |
const unsigned |
bufferSize, |
|
|
const unsigned |
reportStepNum, |
|
|
const bool |
substep, |
|
|
const bool |
log, |
|
|
const bool |
isRestart |
|
) |
| |
|
inline |
◆ allocFormulationBuffers()
template<class TypeTag >
|
|
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.
◆ 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()
Finalize capturing connection fluxes.
◆ getBioeffects()
◆ getBlockData()
◆ getCO2H2()
◆ getConv() [1/2]
◆ getConv() [2/2]
◆ getExtraBlockData()
◆ getFlows()
◆ getFluidPressure()
◆ getFoamConcentration()
◆ getInterRegFlows()
Get read-only access to collection of inter-region flows.
◆ getLgrBlockData()
◆ getPermFactor()
◆ getPolymerConcentration()
◆ getSaltConcentration()
◆ getSaltSaturation()
◆ getSolventRsw()
◆ getSolventSaturation()
◆ initialInplace()
◆ initializeFluxData()
Prepare for capturing connection fluxes, particularly to account for inter-region flows.
◆ 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()
◆ processElementFlows()
◆ processFluxes()
template<class TypeTag >
template<class ActiveIndex , class CartesianIndex >
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. |
◆ regionMax()
◆ regionSum()
◆ registerParameters()
◆ serializeOp()
◆ setRestart()
◆ setupBlockData()
◆ setupExtraBlockData()
◆ setupExtractors()
◆ setupLgrBlockData()
◆ sum()
◆ update()
◆ updateFluidInPlace()
◆ 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_
◆ 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:
|