My Project
|
Output module for the results black oil model writing in ECL binary format. More...
#include <OutputCompositionalModule.hpp>
Public Member Functions | |
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. | |
void | assignToSolution (data::Solution &sol) |
void | setupExtractors (const bool, const std::size_t) |
Setup list of active element-level data extractors. | |
void | clearExtractors () |
Clear list of active element-level data extractors. | |
void | processElement (const ElementContext &elemCtx) |
Modify the internal buffers according to the intensive quanties relevant for an element. | |
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. | |
void | initializeFluxData () |
Prepare for capturing connection fluxes, particularly to account for inter-region flows. | |
void | finalizeFluxData () |
Finalize capturing connection fluxes. | |
const InterRegFlowMap & | getInterRegFlows () const |
Get read-only access to collection of inter-region flows. | |
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 () |
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 > > ®ionData, const Parallel::Communication &comm) |
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 | 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 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 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. | |
Additional Inherited Members | |
![]() | |
using | Scalar = typename FluidSystem::Scalar |
![]() | |
static void | registerParameters () |
Register all run-time parameters for the Vtk output module. | |
![]() | |
enum | |
enum | |
enum | |
enum | |
enum | |
using | ScalarBuffer = std::vector< Scalar > |
using | StringBuffer = std::vector< std::string > |
using | Dir = FaceDir::DirEnum |
![]() | |
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 enableMICP) | |
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) |
![]() | |
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 | 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. | |
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_ |
![]() | |
static constexpr int | gasPhaseIdx |
static constexpr int | oilPhaseIdx |
static constexpr int | waterPhaseIdx |
Output module for the results black oil model writing in ECL binary format.
|
inline |
Capture connection fluxes, particularly to account for inter-region flows.
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 constexpr auto getPropValue() get the value data member of a property Definition propertysystem.hh:242 |
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
|
[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. |