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 | 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 | 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 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. More...
|
|
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 MICPContainer< Scalar > & | getMICP () 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::optional< 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...
|
|
|
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) |
|
|
const EclipseState & | eclState_ |
|
const Schedule & | schedule_ |
|
const SummaryState & | summaryState_ |
|
SummaryConfig | summaryConfig_ |
|
InterRegFlowMap | interRegionFlows_ |
|
LogOutputHelper< Scalar > | logOutput_ |
|
bool | enableEnergy_ |
|
bool | enableTemperature_ |
|
bool | enableMech_ |
|
bool | enableSolvent_ |
|
bool | enablePolymer_ |
|
bool | enableFoam_ |
|
bool | enableBrine_ |
|
bool | enableSaltPrecipitation_ |
|
bool | enableExtbo_ |
|
bool | enableMICP_ |
|
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 | 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_ |
|
MICPContainer< Scalar > | micpC_ |
|
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< 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::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.
◆ ScalarBuffer
◆ 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()
◆ 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 |
◆ 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.
◆ assignToFluidState()
template<class TypeTag >
template<class FluidState >
References Opm::GenericOutputBlackoilModule< GetPropType< TypeTag, Properties::FluidSystem > >::fluidPressure_, Opm::GenericOutputBlackoilModule< GetPropType< TypeTag, Properties::FluidSystem > >::rs_, Opm::GenericOutputBlackoilModule< GetPropType< TypeTag, Properties::FluidSystem > >::rsw_, Opm::GenericOutputBlackoilModule< GetPropType< TypeTag, Properties::FluidSystem > >::rv_, Opm::GenericOutputBlackoilModule< GetPropType< TypeTag, Properties::FluidSystem > >::rvw_, Opm::GenericOutputBlackoilModule< GetPropType< TypeTag, Properties::FluidSystem > >::saturation_, and Opm::GenericOutputBlackoilModule< GetPropType< TypeTag, Properties::FluidSystem > >::temperature_.
◆ assignToSolution()
Move all buffers to data::Solution.
◆ calc_initial_inplace()
◆ calc_inplace()
◆ clearExtractors()
Clear list of active element-level data extractors.
◆ doAllocBuffers()
void Opm::GenericOutputBlackoilModule< 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()
◆ getBlockData()
◆ getConv() [1/2]
◆ getConv() [2/2]
◆ getExtraBlockData()
◆ getFlows()
◆ getFluidPressure()
◆ getFoamConcentration()
◆ getInterRegFlows()
◆ getMICP()
◆ getPermFactor()
◆ getPolymerConcentration()
◆ getSaltConcentration()
◆ getSaltSaturation()
◆ getSolventRsw()
◆ getSolventSaturation()
◆ initHysteresisParams()
References Opm::GenericOutputBlackoilModule< GetPropType< TypeTag, Properties::FluidSystem > >::ppcw_, Opm::GenericOutputBlackoilModule< GetPropType< TypeTag, Properties::FluidSystem > >::sgmax_, Opm::GenericOutputBlackoilModule< GetPropType< TypeTag, Properties::FluidSystem > >::shmax_, Opm::GenericOutputBlackoilModule< GetPropType< TypeTag, Properties::FluidSystem > >::soMax_, Opm::GenericOutputBlackoilModule< GetPropType< TypeTag, Properties::FluidSystem > >::somin_, Opm::GenericOutputBlackoilModule< GetPropType< TypeTag, Properties::FluidSystem > >::swMax_, and Opm::GenericOutputBlackoilModule< GetPropType< TypeTag, Properties::FluidSystem > >::swmin_.
◆ initialInplace()
◆ initializeFluxData()
◆ invalidateLocalData()
◆ isOutputCreationDirective_()
◆ localDataValid()
◆ makeRegionSum()
◆ needInterfaceFluxes()
◆ outputCumLog()
◆ outputErrorLog()
◆ outputFipAndResvLog()
◆ outputFipAndResvLogToCSV()
◆ outputInjLog()
◆ outputMSWLog()
◆ outputProdLog()
◆ outputTimeStamp()
◆ outputWellspecReport()
◆ 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::GenericOutputBlackoilModule< GetPropType< TypeTag, Properties::FluidSystem > >::interRegionFlows_, and Opm::OutputBlackOilModule< TypeTag >::processFluxes().
Referenced by Opm::OutputBlackOilModule< TypeTag >::processFluxes().
◆ regionMax()
◆ regionSum()
◆ registerParameters()
Register all run-time parameters for the Vtk output module.
◆ serializeOp()
◆ setRestart()
◆ setupBlockData()
◆ setupExtraBlockData()
◆ setupExtractors()
Setup list of active element-level data extractors.
◆ 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()
◆ blockData_
◆ bubblePointPressure_
◆ cFoam_
◆ computeFip_
◆ cPolymer_
◆ cSalt_
◆ density_
◆ dewPointPressure_
◆ drsdtcon_
◆ dynamicPoreVolume_
◆ eclState_
◆ enableBrine_
◆ enableEnergy_
◆ enableExtbo_
◆ enableFoam_
◆ enableMech_
◆ enableMICP_
◆ enablePolymer_
◆ enableSaltPrecipitation_
◆ enableSolvent_
◆ enableTemperature_
◆ extboC_
◆ extraBlockData_
◆ failedCellsPb_
◆ failedCellsPd_
◆ fipC_
◆ flowsC_
◆ fluidPressure_
◆ forceDisableFipOutput_
◆ forceDisableFipresvOutput_
◆ gasDissolutionFactor_
◆ gasDissolutionFactorInWater_
◆ gasFormationVolumeFactor_
◆ hydrocarbonPoreVolume_
◆ initialInplace_
◆ interRegionFlows_
◆ invB_
◆ local_data_valid_
◆ logOutput_
◆ mech_
◆ micpC_
◆ minimumOilPressure_
◆ oilSaturationPressure_
◆ oilVaporizationFactor_
◆ overburdenPressure_
◆ pcgw_
◆ pcog_
◆ pcow_
◆ permFact_
◆ ppcw_
◆ pressureTimesHydrocarbonVolume_
◆ pressureTimesPoreVolume_
◆ pSalt_
◆ regionAvgDensity_
◆ regionNodes_
◆ regions_
◆ relativePermeability_
◆ residual_
◆ rftC_
◆ rockCompPorvMultiplier_
◆ rockCompTransMultiplier_
◆ rPorV_
◆ RPRNodes_
◆ RPRPNodes_
◆ rs_
◆ rst_conv_
◆ rsw_
◆ rswSol_
◆ rv_
◆ rvw_
◆ saturatedOilFormationVolumeFactor_
◆ saturation_
◆ schedule_
◆ sgmax_
◆ shmax_
◆ soMax_
◆ somin_
◆ sSol_
◆ summaryConfig_
◆ summaryState_
◆ swMax_
◆ swmin_
◆ temperature_
◆ tracerC_
◆ viscosity_
◆ waterVaporizationFactor_
The documentation for this class was generated from the following file:
|