Opm Namespace Reference

Namespaces

namespace  Accelerator
 
namespace  Action
 
namespace  Amg
 
namespace  DamarisOutput
 
namespace  data
 
namespace  Detail
 
namespace  detail
 
namespace  details
 
namespace  Details
 
namespace  EQUIL
 
namespace  ExceptionType
 
namespace  FlowKeywordValidation
 
namespace  gpuistl
 
namespace  GridDataOutput
 
namespace  Helper
 
namespace  KeywordValidation
 
namespace  Linear
 
namespace  Mpi
 
namespace  mswellhelpers
 
namespace  Network
 
namespace  Parallel
 
namespace  Parameters
 
namespace  Properties
 
namespace  PVUtil
 
namespace  Pybind
 
namespace  RateConverter
 
namespace  RegionAttributeHelpers
 
namespace  RegionAverageCalculator
 
namespace  Satfunc
 
namespace  Serialization
 
namespace  util
 
namespace  wellhelpers
 
namespace  WGHelpers
 

Classes

class  ActionHandler
 Class handling Action support in simulator. More...
 
class  AdaptiveSimulatorTimer
 Simulation timer for adaptive time stepping. More...
 
class  AdaptiveTimeStepping
 
class  aligned_allocator
 
class  aligned_allocator< void, Alignment >
 
class  ALQState
 
class  AluGridVanguard
 Helper class for grid instantiation of ECL file-format using problems. More...
 
struct  AMGHelper
 
struct  AMGSmootherArgsHelper
 
struct  AMGSmootherArgsHelper< ParallelOverlappingILU0< M, V, V, C > >
 
class  AquiferAnalytical
 
class  AquiferCarterTracy
 
class  AquiferConstantFlux
 
class  AquiferFetkovich
 
class  AquiferInterface
 
class  AquiferNumerical
 
class  BaseAquiferModel
 The base class which specifies the API of aquifer models. More...
 
class  BaseAuxiliaryModule
 Base class for specifying auxiliary equations. More...
 
class  BaseOutputModule
 The base class for writer modules. More...
 
class  BaseOutputWriter
 The base class for all output writers. More...
 
class  BaseVanguard
 Provides the base class for most (all?) simulator vanguards. More...
 
class  BdaBridge
 BdaBridge acts as interface between opm-simulators with the BdaSolvers. More...
 
class  BlackoilAquiferModel
 Class for handling the blackoil aquifer model. More...
 
class  BlackOilBoundaryRateVector
 Implements a boundary vector for the fully implicit black-oil model. More...
 
class  BlackOilBrineIntensiveQuantities
 
class  BlackOilBrineIntensiveQuantities< TypeTag, false >
 
class  BlackOilBrineModule
 Contains the high level supplements required to extend the black oil model by brine. More...
 
struct  BlackOilBrineParams
 Struct holding the parameters for the BlackoilBrineModule class. More...
 
class  BlackOilConvectiveMixingModule
 
class  BlackOilConvectiveMixingModule< TypeTag, false >
 
class  BlackOilConvectiveMixingModule< TypeTag, true >
 
class  BlackOilDarcyExtensiveQuantities
 Specifies the extensive quantities for the black-oil model if using Darcy relation. More...
 
struct  BlackOilDarcyFluxModule
 Provides a Darcy flux module for the blackoil model. More...
 
class  BlackOilDiffusionExtensiveQuantities
 Provides the quantities required to calculate diffusive mass fluxes. More...
 
class  BlackOilDiffusionExtensiveQuantities< TypeTag, false >
 Provides the quantities required to calculate diffusive mass fluxes. More...
 
class  BlackOilDiffusionExtensiveQuantities< TypeTag, true >
 Provides the quantities required to calculate diffusive mass fluxes. More...
 
class  BlackOilDiffusionIntensiveQuantities
 Provides the volumetric quantities required for the calculation of molecular diffusive fluxes. More...
 
class  BlackOilDiffusionIntensiveQuantities< TypeTag, false >
 Provides the volumetric quantities required for the calculation of molecular diffusive fluxes. More...
 
class  BlackOilDiffusionIntensiveQuantities< TypeTag, true >
 Provides the volumetric quantities required for the calculation of molecular diffusive fluxes. More...
 
class  BlackOilDiffusionModule
 Provides the auxiliary methods required for consideration of the diffusion equation. More...
 
class  BlackOilDiffusionModule< TypeTag, false >
 Provides the auxiliary methods required for consideration of the diffusion equation. More...
 
class  BlackOilDiffusionModule< TypeTag, true >
 Provides the auxiliary methods required for consideration of the diffusion equation. More...
 
class  BlackOilDispersionExtensiveQuantities
 Provides the quantities required to calculate dispersive mass fluxes. More...
 
class  BlackOilDispersionExtensiveQuantities< TypeTag, false >
 
class  BlackOilDispersionExtensiveQuantities< TypeTag, true >
 Provides the quantities required to calculate dispersive mass fluxes. More...
 
class  BlackOilDispersionIntensiveQuantities
 Provides the volumetric quantities required for the calculation of dispersive fluxes. More...
 
class  BlackOilDispersionIntensiveQuantities< TypeTag, false >
 
class  BlackOilDispersionIntensiveQuantities< TypeTag, true >
 
class  BlackOilDispersionModule
 Provides the auxiliary methods required for consideration of the dispersion equation. More...
 
class  BlackOilDispersionModule< TypeTag, false >
 Provides the auxiliary methods required for consideration of the dispersion equation. More...
 
class  BlackOilDispersionModule< TypeTag, true >
 Provides the auxiliary methods required for consideration of the dispersion equation. More...
 
class  BlackOilEnergyExtensiveQuantities
 Provides the energy specific extensive quantities to the generic black-oil module's extensive quantities. More...
 
class  BlackOilEnergyExtensiveQuantities< TypeTag, false >
 
class  BlackOilEnergyIntensiveQuantities
 Provides the volumetric quantities required for the equations needed by the energys extension of the black-oil model. More...
 
class  BlackOilEnergyIntensiveQuantities< TypeTag, false >
 
class  BlackOilEnergyModule
 Contains the high level supplements required to extend the black oil model by energy. More...
 
class  BlackOilExtboExtensiveQuantities
 Provides the solvent specific extensive quantities to the generic black-oil module's extensive quantities. More...
 
class  BlackOilExtboExtensiveQuantities< TypeTag, false >
 
class  BlackOilExtboIntensiveQuantities
 Provides the volumetric quantities required for the equations needed by the solvents extension of the black-oil model. More...
 
class  BlackOilExtboIntensiveQuantities< TypeTag, false >
 
class  BlackOilExtboModule
 Contains the high level supplements required to extend the black oil model. More...
 
struct  BlackOilExtboParams
 Struct holding the parameters for the BlackoilExtboModule class. More...
 
class  BlackOilExtensiveQuantities
 This template class contains the data which is required to calculate the fluxes of the fluid phases over a face of a finite volume for the black-oil model. More...
 
class  BlackOilFoamIntensiveQuantities
 Provides the volumetric quantities required for the equations needed by the polymers extension of the black-oil model. More...
 
class  BlackOilFoamIntensiveQuantities< TypeTag, false >
 
class  BlackOilFoamModule
 Contains the high level supplements required to extend the black oil model to include the effects of foam. More...
 
struct  BlackOilFoamParams
 Struct holding the parameters for the BlackoilFoamModule class. More...
 
struct  BlackOilIndices
 The primary variable and equation indices for the black-oil model. More...
 
class  BlackOilIntensiveQuantities
 Contains the quantities which are are constant within a finite volume in the black-oil model. More...
 
class  BlackOilLocalResidual
 Calculates the local residual of the black oil model. More...
 
class  BlackOilLocalResidualTPFA
 Calculates the local residual of the black oil model. More...
 
class  BlackOilMICPExtensiveQuantities
 Provides the MICP specific extensive quantities to the generic black-oil module's extensive quantities. More...
 
class  BlackOilMICPExtensiveQuantities< TypeTag, false >
 
class  BlackOilMICPIntensiveQuantities
 Provides the volumetric quantities required for the equations needed by the MICP extension of the black-oil model. More...
 
class  BlackOilMICPIntensiveQuantities< TypeTag, false >
 
class  BlackOilMICPModule
 Contains the high level supplements required to extend the black oil model by MICP. More...
 
struct  BlackOilMICPParams
 Struct holding the parameters for the BlackOilMICPModule class. More...
 
class  BlackoilModel
 
class  BlackOilModel
 A fully-implicit black-oil flow model. More...
 
class  BlackoilModelNldd
 A NLDD implementation for three-phase black oil. More...
 
struct  BlackoilModelParameters
 Solver parameters for the BlackoilModel. More...
 
class  BlackOilNewtonMethod
 A newton solver which is specific to the black oil model. More...
 
struct  BlackoilNewtonParams
 Struct holding the parameters for BlackoilNewtonMethod. More...
 
struct  BlackOilOnePhaseIndices
 The primary variable and equation indices for the black-oil model. More...
 
class  BlackoilPhases
 
class  BlackOilPolymerExtensiveQuantities
 Provides the polymer specific extensive quantities to the generic black-oil module's extensive quantities. More...
 
class  BlackOilPolymerExtensiveQuantities< TypeTag, false >
 
class  BlackOilPolymerIntensiveQuantities
 Provides the volumetric quantities required for the equations needed by the polymers extension of the black-oil model. More...
 
class  BlackOilPolymerIntensiveQuantities< TypeTag, false >
 
class  BlackOilPolymerModule
 Contains the high level supplements required to extend the black oil model by polymer. More...
 
struct  BlackOilPolymerParams
 Struct holding the parameters for the BlackOilPolymerModule class. More...
 
class  BlackOilPrimaryVariables
 Represents the primary variables used by the black-oil model. More...
 
class  BlackOilProblem
 Base class for all problems which use the black-oil model. More...
 
class  BlackOilRateVector
 Implements a vector representing mass, molar or volumetric rates for the black oil model. More...
 
class  BlackOilSolventExtensiveQuantities
 Provides the solvent specific extensive quantities to the generic black-oil module's extensive quantities. More...
 
class  BlackOilSolventExtensiveQuantities< TypeTag, false >
 
class  BlackOilSolventIntensiveQuantities
 Provides the volumetric quantities required for the equations needed by the solvents extension of the black-oil model. More...
 
class  BlackOilSolventIntensiveQuantities< TypeTag, false >
 
class  BlackOilSolventModule
 Contains the high level supplements required to extend the black oil model by solvents. More...
 
struct  BlackOilSolventParams
 Struct holding the parameters for the BlackOilSolventModule class. More...
 
struct  BlackOilTwoPhaseIndices
 The primary variable and equation indices for the black-oil model. More...
 
class  BlackoilWellModel
 Class for handling the blackoil well model. More...
 
class  BlackoilWellModelConstraints
 Class for handling constraints for the blackoil well model. More...
 
class  BlackoilWellModelGeneric
 Class for handling the blackoil well model. More...
 
class  BlackoilWellModelGuideRates
 Class for handling the guide rates in the blackoil well model. More...
 
class  BlackoilWellModelRestart
 Class for restarting the blackoil well model. More...
 
class  BoundaryPressureCallback
 Callback class for a phase pressure. More...
 
class  CheckDistributedWellConnections
 Class checking that all connections are on active cells. More...
 
class  Co2InjectionFlash
 Flash solver used by the CO2 injection problem. More...
 
class  Co2InjectionProblem
 Problem where $CO_2$ is injected under a low permeable layer at a depth of 2700m. More...
 
class  CO2PTProblem
 3 component simple testproblem with ["CO2", "C1", "C10"] More...
 
class  CollectDataOnIORank
 
class  CommunicateAboveBelow
 Class to facilitate getting values associated with the above/below perforation. More...
 
class  ComponentName
 
struct  ConnFiltrateData
 
class  ConvergenceOutputConfiguration
 
class  ConvergenceOutputThread
 
class  ConvergenceReport
 
class  ConvergenceReportQueue
 
class  CopyRestrictProlong
 
struct  CopyRestrictProlongTraits
 
class  CpGridVanguard
 Helper class for grid instantiation of ECL file-format using problems. More...
 
class  CubeGridVanguard
 Provides a simulator vanguad which creates a regular grid made of quadrilaterals. More...
 
class  CuvetteProblem
 Non-isothermal three-phase gas injection problem where a hot gas is injected into a unsaturated porous medium with a residually trapped NAPL contamination. More...
 
class  DamarisWriter
 Collects necessary output values and pass them to Damaris server processes. More...
 
class  DarcyBaseProblem
 Provides the defaults for the parameters required by the Darcy velocity approach. More...
 
class  DarcyExtensiveQuantities
 Provides the Darcy flux module. More...
 
struct  DarcyFluxModule
 Specifies a flux module which uses the Darcy relation. More...
 
class  DarcyIntensiveQuantities
 Provides the intensive quantities for the Darcy flux module. More...
 
class  DeferredLogger
 
class  DensityCallback
 Callback class for the density of a phase. More...
 
class  DgfVanguard
 Provides a simulator vanguard which creates a grid by parsing a Dune Grid Format (DGF) file. More...
 
class  DiffusionExtensiveQuantities
 Provides the quantities required to calculate diffusive mass fluxes. More...
 
class  DiffusionExtensiveQuantities< TypeTag, false >
 Provides the quantities required to calculate diffusive mass fluxes. More...
 
class  DiffusionExtensiveQuantities< TypeTag, true >
 Provides the quantities required to calculate diffusive mass fluxes. More...
 
class  DiffusionIntensiveQuantities
 Provides the volumetric quantities required for the calculation of molecular diffusive fluxes. More...
 
class  DiffusionIntensiveQuantities< TypeTag, false >
 Provides the volumetric quantities required for the calculation of molecular diffusive fluxes. More...
 
class  DiffusionIntensiveQuantities< TypeTag, true >
 Provides the volumetric quantities required for the calculation of molecular diffusive fluxes. More...
 
class  DiffusionModule
 Provides the auxiliary methods required for consideration of the diffusion equation. More...
 
class  DiffusionModule< TypeTag, false >
 Provides the auxiliary methods required for consideration of the diffusion equation. More...
 
class  DiffusionModule< TypeTag, true >
 Provides the auxiliary methods required for consideration of the diffusion equation. More...
 
class  DiffusionProblem
 1D problem which is driven by molecular diffusion. More...
 
struct  DirectionalMobility
 
class  DiscreteFractureExtensiveQuantities
 This class expresses all intensive quantities of the discrete fracture model. More...
 
class  DiscreteFractureIntensiveQuantities
 Contains the quantities which are are constant within a finite volume in the discret fracture immiscible multi-phase model. More...
 
class  DiscreteFractureLocalResidual
 Calculates the local residual of the discrete fracture immiscible multi-phase model. More...
 
class  DiscreteFractureModel
 A fully-implicit multi-phase flow model which assumes immiscibility of the phases and is able to include fractures in the domain. More...
 
class  DiscreteFracturePrimaryVariables
 Represents the primary variables used by the discrete fracture multi-phase model. More...
 
class  DiscreteFractureProblem
 The base class for the problems of ECFV discretizations which deal with a multi-phase flow through a porous medium. More...
 
class  DistributeIndexMapping
 
class  DummyGradientCalculator
 This is a "dummy" gradient calculator which does not do anything. More...
 
class  EcfvBaseOutputModule
 Implements the discretization specific parts of writing files. More...
 
class  EcfvDiscretization
 The base class for the element-centered finite-volume discretization scheme. More...
 
class  EcfvGridCommHandleFactory
 A class which provides types for DUNE grid handles for communication. More...
 
class  EcfvStencil
 Represents the stencil (finite volume geometry) of a single element in the ECFV discretization. More...
 
struct  EclEpsScalingPointsInfo
 
class  EclGenericWriter
 
class  EclWriter
 Collects necessary output values and pass it to opm-common's ECL output. More...
 
class  ElementIndexHandle
 Communication handle to scatter the global index. More...
 
class  ElementIndexScatterHandle
 Communication handle to scatter the global index. More...
 
class  EmptyRestrictProlong
 
struct  EmptyRestrictProlongTraits
 
class  EnergyExtensiveQuantities
 Provides the quantities required to calculate energy fluxes. More...
 
class  EnergyExtensiveQuantities< TypeTag, false >
 Provides the quantities required to calculate energy fluxes. More...
 
class  EnergyExtensiveQuantities< TypeTag, true >
 Provides the quantities required to calculate energy fluxes. More...
 
class  EnergyIndices
 Provides the indices required for the energy equation. More...
 
struct  EnergyIndices< PVOffset, false >
 Provides the indices required for the energy equation. More...
 
struct  EnergyIndices< PVOffset, true >
 Provides the indices required for the energy equation. More...
 
class  EnergyIntensiveQuantities
 Provides the volumetric quantities required for the energy equation. More...
 
class  EnergyIntensiveQuantities< TypeTag, false >
 Provides the volumetric quantities required for the energy equation. More...
 
class  EnergyIntensiveQuantities< TypeTag, true >
 Provides the volumetric quantities required for the energy equation. More...
 
class  EnergyModule
 Provides the auxiliary methods required for consideration of the energy equation. More...
 
class  EnergyModule< TypeTag, false >
 Provides the auxiliary methods required for consideration of the energy equation. More...
 
class  EnergyModule< TypeTag, true >
 Provides the auxiliary methods required for consideration of the energy equation. More...
 
class  EquilInitializer
 Computes the initial condition based on the EQUIL keyword from ECL. More...
 
class  FIBlackOilModel
 
class  FingerProblem
 Two-phase problem featuring some gravity-driven saturation fingers. More...
 
class  FlashBoundaryRateVector
 Implements a boundary vector for the fully implicit compositional multi-phase model which is based on flash calculations. More...
 
class  FlashExtensiveQuantities
 This template class contains the data which is required to calculate all fluxes of components over a face of a finite volume for the compositional multi-phase model based on flash calculations. More...
 
class  FlashIndices
 Defines the primary variable and equation indices for the compositional multi-phase model based on flash calculations. More...
 
class  FlashIntensiveQuantities
 Contains the intensive quantities of the flash-based compositional multi-phase model. More...
 
class  FlashLocalResidual
 Calculates the local residual of the compositional multi-phase model based on flash calculations. More...
 
class  FlashModel
 A compositional multi-phase model based on flash-calculations. More...
 
class  FlashNewtonMethod
 A Newton solver specific to the PTFlash model. More...
 
class  FlashPrimaryVariables
 Represents the primary variables used by the compositional flow model based on flash calculations. More...
 
class  FlashRateVector
 
class  FlowAluGridVanguard
 
class  FlowBaseVanguard
 Helper class for grid instantiation of ECL file-format using problems. More...
 
class  FlowGenericProblem
 This problem simulates an input file given in the data format used by the commercial ECLiPSE simulator. More...
 
class  FlowGenericVanguard
 
struct  FlowLinearSolverParameters
 This class carries all parameters for the NewtonIterationBlackoilInterleaved class. More...
 
class  FlowProblem
 This problem simulates an input file given in the data format used by the commercial ECLiPSE simulator. More...
 
class  FlowProblemBlackoil
 This problem simulates an input file given in the data format used by the commercial ECLiPSE simulator. More...
 
class  FlowProblemComp
 This problem simulates an input file given in the data format used by the commercial ECLiPSE simulator. More...
 
struct  FlowsData
 Simple container for FLOWS data. More...
 
class  FlowThresholdPressure
 This class calculates the threshold pressure for grid faces according to the Eclipse Reference Manual. More...
 
class  ForchheimerBaseProblem
 Provides the defaults for the parameters required by the Forchheimer velocity approach. More...
 
class  ForchheimerExtensiveQuantities
 Provides the Forchheimer flux module. More...
 
struct  ForchheimerFluxModule
 Specifies a flux module which uses the Forchheimer relation. More...
 
class  ForchheimerIntensiveQuantities
 Provides the intensive quantities for the Forchheimer module. More...
 
class  FractureMapper
 Stores the topology of fractures. More...
 
class  FractureProblem
 Two-phase problem which involves fractures. More...
 
class  FunctionRunnerTasklet
 A simple tasklet that runs a function that returns void and does not take any arguments a given number of times. More...
 
class  FvBaseAdLocalLinearizer
 Calculates the local residual and its Jacobian for a single element of the grid. More...
 
class  FvBaseBoundaryContext
 Represents all quantities which available on boundary segments. More...
 
class  FvBaseConstraints
 Class to specify constraints for a finite volume spatial discretization. More...
 
class  FvBaseConstraintsContext
 Represents all quantities which available for calculating constraints. More...
 
class  FvBaseDiscretization
 The base class for the finite volume discretization schemes. More...
 
class  FvBaseDiscretizationFemAdapt
 The base class for the finite volume discretization schemes. More...
 
class  FvBaseDiscretizationNoAdapt
 The base class for the finite volume discretization schemes without adaptation. More...
 
class  FvBaseElementContext
 This class stores an array of IntensiveQuantities objects, one intensive quantities object for each of the element's vertices. More...
 
class  FvBaseExtensiveQuantities
 Provide the properties at a face which make sense indepentently of the conserved quantities. More...
 
class  FvBaseFdLocalLinearizer
 Calculates the Jacobian of the local residual for finite volume spatial discretizations using a finite difference method. More...
 
class  FvBaseGradientCalculator
 This class calculates gradients of arbitrary quantities at flux integration points using the two-point approximation scheme. More...
 
class  FvBaseIntensiveQuantities
 Base class for the model specific class which provides access to all intensive (i.e., volume averaged) quantities. More...
 
class  FvBaseLinearizer
 The common code for the linearizers of non-linear systems of equations. More...
 
class  FvBaseLocalResidual
 Element-wise caculation of the residual matrix for models based on a finite volume spatial discretization. More...
 
class  FvBaseNewtonConvergenceWriter
 Writes the intermediate solutions during the Newton scheme for models using a finite volume discretization. More...
 
class  FvBaseNewtonMethod
 A Newton method for models using a finite volume discretization. More...
 
class  FvBasePrimaryVariables
 Represents the primary variables used by the a model. More...
 
class  FvBaseProblem
 Base class for all problems which use a finite volume spatial discretization. More...
 
class  GasLiftCommon
 
class  GasLiftGroupInfo
 
class  GasLiftSingleWell
 
class  GasLiftSingleWellGeneric
 
class  GasLiftStage2
 
class  GasLiftWellState
 
class  GenericCpGridVanguard
 
class  GenericGuard
 A simple class which makes sure that a cleanup function is called once the object is destroyed. More...
 
class  GenericOutputBlackoilModule
 
class  GenericThresholdPressure
 
class  GenericTracerModel
 
class  GhostLastMatrixAdapter
 Dune linear operator that assumes ghost rows are ordered after interior rows. Avoids some computations because of this. More...
 
class  GlobalCellIndex
 
class  GlobalPerfContainerFactory
 A factory for creating a global data representation for distributed wells. More...
 
class  GlobalWellInfo
 
class  GridCommHandleGhostSync
 Data handle for parallel communication which can be used to set the values values of ghost and overlap DOFs from their respective master processes. More...
 
class  GridCommHandleMax
 Data handle for parallel communication which takes the maximum of all values that are attached to DOFs. More...
 
class  GridCommHandleMin
 Provides data handle for parallel communication which takes the minimum of all values that are attached to DOFs. More...
 
class  GridCommHandleSum
 Data handle for parallel communication which sums up all values are attached to DOFs. More...
 
class  GroundWaterProblem
 Test for the immisicible VCVF discretization with only a single phase. More...
 
class  GroupEconomicLimitsChecker
 
class  GroupState
 
class  HardcodedTimeStepControl
 
class  HDF5File
 Class handling simple output to HDF5. More...
 
class  HDF5Serializer
 Class for (de-)serializing using HDF5. More...
 
class  HipKernels
 
class  ImmiscibleBoundaryRateVector
 Implements a boundary vector for the fully implicit multi-phase model which assumes immiscibility. More...
 
class  ImmiscibleExtensiveQuantities
 This class provides the data all quantities that are required to calculate the fluxes of the fluid phases over a face of a finite volume for the immiscible multi-phase model. More...
 
struct  ImmiscibleIndices
 The indices for the isothermal multi-phase model. More...
 
class  ImmiscibleIntensiveQuantities
 Contains the quantities which are are constant within a finite volume for the immiscible multi-phase model. More...
 
class  ImmiscibleLocalResidual
 Calculates the local residual of the immiscible multi-phase model. More...
 
class  ImmiscibleModel
 A fully-implicit multi-phase flow model which assumes immiscibility of the phases. More...
 
class  ImmisciblePrimaryVariables
 Represents the primary variables used by the immiscible multi-phase, model. More...
 
class  ImmiscibleRateVector
 Implements a vector representing rates of conserved quantities. More...
 
class  InfiltrationProblem
 Isothermal NAPL infiltration problem where LNAPL contaminates the unsaturated and the saturated groundwater zone. More...
 
class  InterRegFlowMap
 Inter-region flow accumulation maps for all region definition arrays. More...
 
class  InterRegFlowMapSingleFIP
 
struct  IsNumericalAquiferCell
 
struct  IsNumericalAquiferCell< Dune::CpGrid >
 
class  ISTLSolver
 
class  ISTLSolverBda
 
class  LensProblem
 Soil contamination problem where DNAPL infiltrates a fully water saturated medium. More...
 
struct  LinearizationType
 
class  LinearOperatorExtra
 
class  LogOutputHelper
 
class  LookUpCartesianData
 
struct  LookUpCellCentroid
 
class  LookUpData
 
class  Main
 
class  MatrixBlock
 
struct  MICPSolutionContainer
 Struct holding MICP extension data. More...
 
class  MixingRateControls
 Class handling mixing rate controls for a FlowProblemBlackoil. More...
 
class  MolarDensityCallback
 Callback class for the molar density of a phase. More...
 
class  MoleFractionCallback
 Callback class for a mole fraction of a component in a phase. More...
 
class  MpiBuffer
 Simplifies handling of buffers to be used in conjunction with MPI. More...
 
class  MultiPhaseBaseExtensiveQuantities
 This class calculates the pressure potential gradients and the filter velocities for multi-phase flow in porous media. More...
 
class  MultiPhaseBaseModel
 A base class for fully-implicit multi-phase porous-media flow models which assume multiple fluid phases. More...
 
class  MultiPhaseBaseProblem
 The base class for the problems of ECFV discretizations which deal with a multi-phase flow through a porous medium. More...
 
class  MultisegmentWell
 
class  MultisegmentWellAssemble
 Class handling assemble of the equation system for MultisegmentWell. More...
 
class  MultisegmentWellContribution
 
class  MultisegmentWellEquationAccess
 
class  MultisegmentWellEquations
 
class  MultisegmentWellEval
 
class  MultisegmentWellGeneric
 
class  MultisegmentWellPrimaryVariables
 
class  MultisegmentWellSegments
 
class  NcpBoundaryRateVector
 Implements a boundary vector for the fully implicit compositional multi-phase NCP model. More...
 
class  NcpExtensiveQuantities
 This template class represents the extensive quantities of the compositional NCP model. More...
 
struct  NcpIndices
 The primary variable and equation indices for the compositional multi-phase NCP model. More...
 
class  NcpIntensiveQuantities
 Contains the quantities which are are constant within a finite volume in the compositional multi-phase NCP model. More...
 
class  NcpLocalResidual
 Details needed to calculate the local residual in the compositional multi-phase NCP-model . More...
 
class  NcpModel
 A compositional multi-phase model based on non-linear complementarity functions. More...
 
class  NcpNewtonMethod
 A Newton solver specific to the NCP model. More...
 
class  NcpPrimaryVariables
 Represents the primary variables used by the compositional multi-phase NCP model. More...
 
class  NcpRateVector
 Implements a vector representing mass, molar or volumetric rates. More...
 
class  NewtonMethod
 The multi-dimensional Newton method. More...
 
struct  NewtonMethodParams
 Struct holding the parameters for NewtonMethod. More...
 
class  NewTranBaseProblem
 Provides the defaults for the parameters required by the transmissibility based volume flux calculation. More...
 
class  NewTranExtensiveQuantities
 Provides the ECL flux module. More...
 
struct  NewTranFluxModule
 Specifies a flux module which uses ECL transmissibilities. More...
 
class  NewTranIntensiveQuantities
 Provides the intensive quantities for the ECL flux module. More...
 
class  NonlinearSolver
 
class  NullConvergenceWriter
 A convergence writer for the Newton method which does nothing. More...
 
class  ObstacleProblem
 Problem where liquid water is first stopped by a low-permeability lens and then seeps though it. More...
 
class  OutflowProblem
 Problem where dissolved nitrogen is transported with the water phase from the left side to the right. More...
 
class  OutputBlackOilModule
 Output module for the results black oil model writing in ECL binary format. More...
 
class  P1FeGradientCalculator
 This class calculates gradients of arbitrary quantities at flux integration points using first order finite elemens ansatz functions. More...
 
class  PackUnPackAquiferData
 
class  PackUnPackBlockData
 
class  PackUnPackCellData
 
class  PackUnpackFlows
 
class  PackUnPackGroupAndNetworkValues
 
class  PackUnpackInterRegFlows
 
class  PackUnPackWBPData
 
class  PackUnPackWellData
 
class  PackUnPackWellTestState
 
class  ParallelEclipseState
 Parallel frontend to the EclipseState. More...
 
class  ParallelFieldPropsManager
 Parallel frontend to the field properties. More...
 
class  ParallelNLDDPartitioningZoltan
 
class  ParallelOverlappingILU0
 A two-step version of an overlapping Schwarz preconditioner using one step ILU0 as. More...
 
class  ParallelOverlappingILU0Args
 
class  ParallelPAvgCalculator
 
class  ParallelPAvgDynamicSourceData
 
class  ParallelRestrictedOverlappingSchwarz
 Block parallel preconditioner. More...
 
class  ParallelWBPCalculation
 
class  ParallelWellInfo
 Class encapsulating some information about parallel wells. More...
 
class  PerfData
 
struct  PerforationData
 Static data associated with a well perforation. More...
 
struct  PerforationRates
 
class  PffGridVector
 A random-access container which stores data attached to a grid's degrees of freedom in a prefetch friendly manner. More...
 
struct  PhaseUsage
 
class  PIDAndIterationCountTimeStepControl
 
class  PIDTimeStepControl
 
class  PolyhedralGridVanguard
 Helper class for grid instantiation of ECL file-format using problems. More...
 
struct  PolymerSolutionContainer
 Struct holding polymer extension data. More...
 
class  PowerInjectionProblem
 1D Problem with very fast injection of gas on the left. More...
 
class  PreconditionerFactory
 
class  PressureBhpTransferPolicy
 
class  PressureCallback
 Callback class for a phase pressure. More...
 
class  PressureTransferPolicy
 
class  PropertyTree
 
class  PropsDataHandle
 A Data handle to communicate the field properties during load balance. More...
 
class  PvsBoundaryRateVector
 Implements a rate vector on the boundary for the fully implicit compositional multi-phase primary variable switching compositional model. More...
 
class  PvsExtensiveQuantities
 Contains all data which is required to calculate all fluxes at a flux integration point for the primary variable switching model. More...
 
class  PvsIndices
 The indices for the compositional multi-phase primary variable switching model. More...
 
class  PvsIntensiveQuantities
 Contains the quantities which are are constant within a finite volume in the compositional multi-phase primary variable switching model. More...
 
class  PvsLocalResidual
 Element-wise calculation of the local residual for the compositional multi-phase primary variable switching model. More...
 
class  PvsModel
 A generic compositional multi-phase model using primary-variable switching. More...
 
class  PvsNewtonMethod
 A newton solver which is specific to the compositional multi-phase PVS model. More...
 
class  PvsPrimaryVariables
 Represents the primary variables used in the primary variable switching compositional model. More...
 
class  PvsRateVector
 Implements a vector representing molar, mass or volumetric rates. More...
 
class  QuadrialteralQuadratureGeometry
 Quadrature geometry for quadrilaterals. More...
 
class  RegionPhasePoreVolAverage
 
class  RelativeChangeInterface
 
class  RelpermDiagnostics
 
class  ReservoirProblem
 Some simple test problem for the black-oil VCVF discretization inspired by an oil reservoir. More...
 
class  Restart
 Load or save a state of a problem to/from the harddisk. More...
 
class  RichardsBoundaryRateVector
 Implements a boundary vector for the fully implicit Richards model. More...
 
class  RichardsExtensiveQuantities
 Calculates and stores the data which is required to calculate the flux of fluid over a face of a finite volume. More...
 
struct  RichardsIndices
 Indices for the primary variables/conservation equations of the Richards model. More...
 
class  RichardsIntensiveQuantities
 Intensive quantities required by the Richards model. More...
 
class  RichardsLensProblem
 A water infiltration problem with a low-permeability lens embedded into a high-permeability domain. More...
 
class  RichardsLocalResidual
 Element-wise calculation of the residual for the Richards model. More...
 
class  RichardsModel
 This model implements a variant of the Richards equation for quasi-twophase flow. More...
 
class  RichardsNewtonMethod
 A Richards model specific Newton method. More...
 
class  RichardsPrimaryVariables
 Represents the primary variables used in the Richards model. More...
 
class  RichardsRateVector
 Implements a vector representing mass, molar or volumetric rates. More...
 
class  RSTConv
 Class computing RPTRST CONV output. More...
 
class  SatfuncConsistencyChecks
 
class  SegmentState
 
struct  SerializableSim
 Abstract interface for simulator serialization ops. More...
 
class  SimpleIterationCountTimeStepControl
 
class  SimplexGridVanguard
 Provides a simulator vanguard which a creates regular grid made of simplices. More...
 
class  Simulator
 Manages the initializing and running of time dependent problems. More...
 
class  SimulatorFullyImplicitBlackoil
 a simulator for the blackoil model More...
 
struct  SimulatorReport
 
struct  SimulatorReportSingle
 A struct for returning timing data from a simulator to its caller. More...
 
class  SimulatorSerializer
 Class handling simulator serialization. More...
 
class  SimulatorTimer
 
class  SimulatorTimerInterface
 Interface class for SimulatorTimer objects, to be improved. More...
 
class  SingleWellState
 
struct  StandardPreconditioners
 
struct  StandardPreconditioners< Operator, Dune::Amg::SequentialInformation >
 
class  StandardWell
 
class  StandardWellAssemble
 Class handling assemble of the equation system for StandardWell. More...
 
class  StandardWellConnections
 
class  StandardWellEquationAccess
 
class  StandardWellEquations
 
class  StandardWellEval
 
class  StandardWellPrimaryVariables
 Class holding primary variables for StandardWell. More...
 
struct  StepReport
 
class  StructuredGridVanguard
 Helper class for grid instantiation of the lens problem. More...
 
struct  SubDomain
 
class  SupportsFaceTag
 
class  SupportsFaceTag< Dune::CpGrid >
 
class  TaskletInterface
 The base class for tasklets. More...
 
class  TaskletRunner
 Handles where a given tasklet is run. More...
 
class  TemperatureCallback
 Callback class for temperature. More...
 
class  ThreadedEntityIterator
 Provides an STL-iterator like interface to iterate over the enties of a GridView in OpenMP threaded applications. More...
 
class  ThreadManager
 Simplifies multi-threaded capabilities. More...
 
class  Timer
 Provides an encapsulation to measure the system time. More...
 
class  TimerGuard
 A simple class which makes sure that a timer gets stopped if an exception is thrown. More...
 
class  TimeStepControlInterface
 
class  TpfaLinearizer
 The common code for the linearizers of non-linear systems of equations. More...
 
class  TracerModel
 A class which handles tracers as specified in by ECL. More...
 
struct  TracerSolverSelector
 
class  TransBaseProblem
 Provides the defaults for the parameters required by the transmissibility based volume flux calculation. More...
 
class  TransExtensiveQuantities
 Provides the transmissibility based flux module. More...
 
struct  TransFluxModule
 Specifies a flux module which uses transmissibilities. More...
 
class  TransIntensiveQuantities
 Provides the intensive quantities for the transmissibility based flux module. More...
 
class  Transmissibility
 
class  Tutorial1Problem
 Tutorial problem using the "immiscible" model. More...
 
class  UnstructuredGridVanguard
 Provides a simulator vanguard which creates a grid by parsing an unstructured grid file. More...
 
class  VcfvBaseOutputModule
 Implements the discretization specific parts of writing files. More...
 
class  VcfvDiscretization
 The base class for the vertex centered finite volume discretization scheme. More...
 
class  VcfvGridCommHandleFactory
 A class which provides types for DUNE grid handles for communication. More...
 
class  VcfvStencil
 Represents the finite volume geometry of a single element in the VCFV discretization. More...
 
class  VectorVectorDataHandle
 A data handle sending multiple data store in vectors attached to cells. More...
 
class  VelocityCallback
 Callback class for the velocity of a phase at the center of a DOF. More...
 
class  VelocityComponentCallback
 Callback class for the velocity of a phase at the center of a DOF. More...
 
class  VFPHelpers
 
class  VFPInjProperties
 
class  VFPProdProperties
 
class  VFPProperties
 
class  ViscosityCallback
 Callback class for the viscosity of a phase. More...
 
class  VtkBlackOilEnergyModule
 VTK output module for the black oil model's energy related quantities. More...
 
struct  VtkBlackoilEnergyParams
 Struct holding the parameters for VtkBlackoilEnergyOutputModule. More...
 
class  VtkBlackOilMICPModule
 VTK output module for the MICP model's related quantities. More...
 
struct  VtkBlackoilMICPParams
 Struct holding the parameters for VtkBlackoilMICPModule. More...
 
class  VtkBlackOilModule
 VTK output module for the black oil model's parameters. More...
 
struct  VtkBlackoilParams
 Struct holding the parameters for VtkBlackoilOutputModule. More...
 
class  VtkBlackOilPolymerModule
 VTK output module for the black oil model's polymer related quantities. More...
 
struct  VtkBlackoilPolymerParams
 Struct holding the parameters for VtkBlackoilPolymerModule. More...
 
class  VtkBlackOilSolventModule
 VTK output module for the black oil model's solvent related quantities. More...
 
struct  VtkBlackOilSolventParams
 Struct holding the parameters for VtkBlackoilPolymerModule. More...
 
class  VtkCompositionModule
 VTK output module for the fluid composition. More...
 
struct  VtkCompositionParams
 Struct holding the parameters for VtkCompositionModule. More...
 
class  VtkDiffusionModule
 VTK output module for quantities which make sense for models which incorperate molecular diffusion. More...
 
struct  VtkDiffusionParams
 Struct holding the parameters for VtkDiffusionModule. More...
 
class  VtkDiscreteFractureModule
 VTK output module for quantities which make sense for all models which deal with discrete fractures in porous media. More...
 
struct  VtkDiscreteFractureParams
 Struct holding the parameters for VtkDiscreteFractureModule. More...
 
class  VtkEnergyModule
 VTK output module for quantities which make sense for models which assume thermal equilibrium. More...
 
struct  VtkEnergyParams
 Struct holding the parameters for VtkEnergyModule. More...
 
class  VtkMultiPhaseModule
 VTK output module for quantities which make sense for all models which deal with multiple fluid phases in porous media that don't use flashy concepts like interfacial area. More...
 
struct  VtkMultiPhaseParams
 Struct holding the parameters for VtkMultiPhaseModule. More...
 
class  VtkMultiWriter
 Simplifies writing multi-file VTK datasets. More...
 
class  VtkPhasePresenceModule
 VTK output module for the fluid composition. More...
 
struct  VtkPhasePresenceParams
 Struct holding the parameters for VtkPhasePresenceModule. More...
 
class  VtkPrimaryVarsModule
 VTK output module for the fluid composition. More...
 
struct  VtkPrimaryVarsParams
 Struct holding the parameters for VtkPrimaryPhaseModule. More...
 
class  VtkPTFlashModule
 VTK output module for the PT Flash calculation This module deals with the following quantities: K, equilibrium ratio for all the components L, liquid fraction in the two-phase system. More...
 
struct  VtkPtFlashParams
 Struct holding the parameters for VtkPtFlashModule. More...
 
class  VtkScalarFunction
 Provides a vector-valued function using Dune::FieldVectors as elements. More...
 
class  VtkTemperatureModule
 VTK output module for the temperature in which assume thermal equilibrium. More...
 
struct  VtkTemperatureParams
 Struct holding the parameters for VtkTemperatureModule. More...
 
class  VtkTensorFunction
 Provides a tensor-valued function using Dune::FieldMatrix objects as elements. More...
 
class  VtkTracerModule
 VTK output module for the tracer model's parameters. More...
 
class  VtkVectorFunction
 Provides a vector-valued function using Dune::FieldVectors as elements. More...
 
class  WaterAirProblem
 Non-isothermal gas injection problem where a air is injected into a fully water saturated medium. More...
 
class  WellAssemble
 
class  WellBhpThpCalculator
 Class for computing BHP limits. More...
 
class  WellConnectionAuxiliaryModule
 
class  WellConnectionAuxiliaryModuleGeneric
 
class  WellConstraints
 Class for computing well group constraints. More...
 
class  WellContainer
 
class  WellContributions
 
class  WellContributionsCuda
 
class  WellContributionsOCL
 
class  WellContributionsRocsparse
 
class  WellConvergence
 
class  WellFilterCake
 Class for well calculations related to filter cakes. More...
 
class  WellGroupConstraints
 Class for computing well group constraints. More...
 
class  WellGroupControls
 Class for computing well group controls. More...
 
class  WellGroupHelpers
 
class  WellInterface
 
class  WellInterfaceFluidSystem
 
class  WellInterfaceGeneric
 
class  WellInterfaceIndices
 
class  WellModelAsLinearOperator
 
class  WellModelGhostLastMatrixAdapter
 Adapter to combine a matrix and another linear operator into a combined linear operator. More...
 
class  WellModelMatrixAdapter
 Adapter to combine a matrix and another linear operator into a combined linear operator. More...
 
class  WellProdIndexCalculator
 
class  WellState
 
class  WellTest
 Class for performing well tests. More...
 
struct  WGState
 
struct  ZoltanPartitioningControl
 

Typedefs

template<class TypeTag , template< class, class > class Property>
using GetProp = typename Properties::Detail::GetPropImpl< TypeTag, Property >::type
 get the type of a property (equivalent to old macro GET_PROP(...)) More...
 
template<class TypeTag , template< class, class > class Property>
using GetPropType = typename Properties::Detail::GetPropImpl< TypeTag, Property >::type::type
 get the type alias defined in the property (equivalent to old macro GET_PROP_TYPE(...)) More...
 
template<class TypeTag , class SpliceTypeTag , template< class, class > class Property>
using GetSplicePropType = typename Properties::Detail::GetSplicePropImpl< TypeTag, SpliceTypeTag, Property >::type::type
 
using IndexMapType = std::vector< int >
 
using IndexMapStorageType = std::vector< IndexMapType >
 
using P2PCommunicatorType = Dune::Point2PointCommunicator< Dune::SimpleMessageBuffer >
 
using MessageBufferType = typename P2PCommunicatorType::MessageBufferType
 
typedef Dune::InverseOperatorResult InverseOperatorResult
 
using CommSeq = Dune::Amg::SequentialInformation
 
template<class Scalar , int Dim>
using OpFSeq = Dune::MatrixAdapter< Dune::BCRSMatrix< Dune::FieldMatrix< Scalar, Dim, Dim > >, Dune::BlockVector< Dune::FieldVector< Scalar, Dim > >, Dune::BlockVector< Dune::FieldVector< Scalar, Dim > > >
 
template<class Scalar , int Dim>
using OpBSeq = Dune::MatrixAdapter< Dune::BCRSMatrix< MatrixBlock< Scalar, Dim, Dim > >, Dune::BlockVector< Dune::FieldVector< Scalar, Dim > >, Dune::BlockVector< Dune::FieldVector< Scalar, Dim > > >
 
template<class Scalar , int Dim, bool overlap>
using OpW = WellModelMatrixAdapter< Dune::BCRSMatrix< MatrixBlock< Scalar, Dim, Dim > >, Dune::BlockVector< Dune::FieldVector< Scalar, Dim > >, Dune::BlockVector< Dune::FieldVector< Scalar, Dim > >, overlap >
 
template<class Scalar , int Dim, bool overlap>
using OpWG = WellModelGhostLastMatrixAdapter< Dune::BCRSMatrix< MatrixBlock< Scalar, Dim, Dim > >, Dune::BlockVector< Dune::FieldVector< Scalar, Dim > >, Dune::BlockVector< Dune::FieldVector< Scalar, Dim > >, overlap >
 
using CommPar = Dune::OwnerOverlapCopyCommunication< int, int >
 
template<class Scalar , int Dim>
using OpFPar = Dune::OverlappingSchwarzOperator< Dune::BCRSMatrix< Dune::FieldMatrix< Scalar, Dim, Dim > >, Dune::BlockVector< Dune::FieldVector< Scalar, Dim > >, Dune::BlockVector< Dune::FieldVector< Scalar, Dim > >, CommPar >
 
template<class Scalar , int Dim>
using OpBPar = Dune::OverlappingSchwarzOperator< Dune::BCRSMatrix< MatrixBlock< Scalar, Dim, Dim > >, Dune::BlockVector< Dune::FieldVector< Scalar, Dim > >, Dune::BlockVector< Dune::FieldVector< Scalar, Dim > >, CommPar >
 
template<class Scalar , int Dim>
using OpGLFPar = Opm::GhostLastMatrixAdapter< Dune::BCRSMatrix< Dune::FieldMatrix< Scalar, Dim, Dim > >, Dune::BlockVector< Dune::FieldVector< Scalar, Dim > >, Dune::BlockVector< Dune::FieldVector< Scalar, Dim > >, CommPar >
 
template<class Scalar , int Dim>
using OpGLBPar = Opm::GhostLastMatrixAdapter< Dune::BCRSMatrix< MatrixBlock< Scalar, Dim, Dim > >, Dune::BlockVector< Dune::FieldVector< Scalar, Dim > >, Dune::BlockVector< Dune::FieldVector< Scalar, Dim > >, CommPar >
 
using RegionId = int
 

Enumerations

enum  ElementType { none , simplex , cube }
 The types of reference elements available. More...
 
enum class  NonlinearRelaxType { Dampen , SOR }
 
enum class  DomainSolveApproach { Jacobi , GaussSeidel }
 Solver approach for NLDD. More...
 
enum class  DomainOrderingMeasure { AveragePressure , MaxPressure , Residual }
 Measure to use for domain ordering. More...
 
enum class  ColoringType { SYMMETRIC , LOWER , UPPER }
 Specify coloring type. More...
 
enum class  MILU_VARIANT {
  ILU = 0 , MILU_1 = 1 , MILU_2 = 2 , MILU_3 = 3 ,
  MILU_4 = 4
}
 
enum class  TimeStepControlType { SimpleIterationCount , PID , PIDAndIterationCount , HardCodedTimeStep }
 
enum class  FileOutputMode { OUTPUT_NONE = 0 , OUTPUT_LOG_ONLY = 1 , OUTPUT_ALL = 3 }
 

Functions

std::vector< std::string > gatherStrings (const std::string &local_string)
 
void * aligned_alloc (std::size_t alignment, std::size_t size) noexcept
 
void aligned_free (void *ptr) noexcept
 
template<class T1 , class T2 , std::size_t Alignment>
bool operator== (const aligned_allocator< T1, Alignment > &, const aligned_allocator< T2, Alignment > &) noexcept
 
template<class T1 , class T2 , std::size_t Alignment>
bool operator!= (const aligned_allocator< T1, Alignment > &, const aligned_allocator< T2, Alignment > &) noexcept
 
template<class Callback >
GenericGuard< Callback > make_guard (Callback &callback)
 
template<int temporalLocality = 3, int writeOnly = 0, class T = void>
void prefetch (const T &val, unsigned n=1)
 Template function which emits prefetch instructions for a range of memory. More...
 
template<class TypeTag , template< class, class > class Property>
constexpr auto getPropValue ()
 get the value data member of a property More...
 
template<class Scalar >
int signum (Scalar val)
 Template function which returns the sign of a floating point value. More...
 
std::string humanReadableTime (double timeInSeconds, bool isAmendment=true)
 Given a time step size in seconds, return it in a format which is more easily parsable by humans. More...
 
std::string simulatorOutputDir ()
 Determine and check the configured directory for simulation output. More...
 
template<class Scalar >
std::vector< Scalar > readTimeStepFile (const std::string &file)
 Read explicitly defined time steps from file. More...
 
std::string breakLines (const std::string &msg, int indentWidth, int maxWidth)
 Break up a string in lines suitable for terminal output. More...
 
int getTtyWidth ()
 Get the width of the tty we are attached to. More...
 
void assignResetTerminalSignalHandlers ()
 Assign signal handlers that reset the terminal on errors. More...
 
void resetTerminal ()
 Resets the current TTY to a usable state if the program was aborted. More...
 
void resetTerminal (int signum)
 Resets the current TTY to a usable state if the program was interrupted by SIGABRT or SIGINT. More...
 
void printPRTHeader (const int nprocs, const int nthreads, const std::string &parameters, std::string_view moduleVersion, std::string_view compileTimestamp)
 
void printFlowBanner (int nprocs, int threads, std::string_view moduleVersionName)
 
void printFlowTrailer (int nprocs, int nthreads, const double total_setup_time, const double deck_read_time, const SimulatorReport &report, const SimulatorReportSingle &localsolves_report)
 
void registerDamarisParameters ()
 Register damaris runtime parameters. More...
 
int eclPositionalParameter (std::function< void(const std::string &, const std::string &)> addKey, std::set< std::string > &seenParams, std::string &errorMsg, const char **argv, int paramIdx)
 
template<class Scalar >
void registerFlowProblemParameters ()
 
template<class Vector , class Grid , class Matrix >
std::tuple< std::unique_ptr< Dune::OverlappingSchwarzOperator< Matrix, Vector, Vector, Dune::OwnerOverlapCopyCommunication< int, int > > >, std::unique_ptr< typename TracerSolverSelector< Matrix, Vector >::type > > createParallelFlexibleSolver (const Grid &, const Matrix &, const PropertyTree &)
 
template<class Vector , class Matrix >
std::tuple< std::unique_ptr< Dune::OverlappingSchwarzOperator< Matrix, Vector, Vector, Dune::OwnerOverlapCopyCommunication< int, int > > >, std::unique_ptr< typename TracerSolverSelector< Matrix, Vector >::type > > createParallelFlexibleSolver (const Dune::CpGrid &grid, const Matrix &M, const PropertyTree &prm)
 
template<class TypeTag >
int flowMain (int argc, char **argv, bool outputCout, bool outputFiles)
 
template<class GridView , class Element >
std::pair< std::vector< int >, int > partitionCells (const std::string &method, const int num_local_domains, const GridView &grid_view, const std::vector< Well > &wells, const std::unordered_map< std::string, std::set< int > > &possibleFutureConnections, const ZoltanPartitioningControl< Element > &zoltan_ctrl)
 
std::pair< std::vector< int >, int > partitionCellsFromFile (const std::string &filename, const int num_cells)
 
std::pair< std::vector< int >, int > partitionCellsSimple (const int num_cells, const int num_domains)
 
DomainOrderingMeasure domainOrderingMeasureFromString (const std::string_view measure)
 
template<class Graph >
std::tuple< std::vector< int >, int, std::vector< std::size_t > > colorVerticesWelshPowell (const Graph &graph)
 Color the vertices of graph. More...
 
template<class Graph >
std::vector< std::size_t > reorderVerticesPreserving (const std::vector< int > &colors, int noColors, const std::vector< std::size_t > &verticesPerColor, const Graph &graph)
 ! Reorder colored graph preserving order of vertices with the same color. More...
 
template<class Graph >
std::vector< std::size_t > reorderVerticesSpheres (const std::vector< int > &colors, int noColors, const std::vector< std::size_t > &verticesPerColor, const Graph &graph, typename Graph::VertexDescriptor root)
 ! Reorder Vetrices in spheres More...
 
template<class M >
Opm::SparseTable< std::size_t > getMatrixRowColoring (const M &matrix, ColoringType coloringType)
 Given a matrix and dependecy type, returns a SparseTable grouping the rows by which can be executed in parallel without breaking dependencies. More...
 
template<class K , int n, int m>
K & firstmatrixelement (MatrixBlock< K, n, m > &A)
 
MILU_VARIANT convertString2Milu (const std::string &milu)
 
template<class T1 >
auto accumulateMaskedValues (const T1 &container, const std::vector< double > *maskContainer) -> decltype(container[0] *(*maskContainer)[0])
 Accumulates entries masked with 1. More...
 
template<typename C >
auto setUseFixedOrder (C criterion, bool booleanValue) -> decltype(criterion.setUseFixedOrder(booleanValue))
 
template<typename C >
void setUseFixedOrder (C,...)
 
template<class Communication >
void extendCommunicatorWithWells (const Communication &comm, std::shared_ptr< Communication > &commRW, const int nw)
 
PropertyTree setupPropertyTree (FlowLinearSolverParameters p, bool linearSolverMaxIterSet, bool linearSolverReductionSet)
 
PropertyTree setupCPRW (const std::string &conf, const FlowLinearSolverParameters &p)
 
PropertyTree setupCPR (const std::string &conf, const FlowLinearSolverParameters &p)
 
PropertyTree setupAMG (const std::string &conf, const FlowLinearSolverParameters &p)
 
PropertyTree setupILU (const std::string &conf, const FlowLinearSolverParameters &p)
 
PropertyTree setupDILU (const std::string &conf, const FlowLinearSolverParameters &p)
 
PropertyTree setupUMFPack (const std::string &conf, const FlowLinearSolverParameters &p)
 
std::string to_string (const ConvergenceReport::ReservoirFailure::Type t)
 
std::string to_string (const ConvergenceReport::Severity s)
 
std::string to_string (const ConvergenceReport::WellFailure::Type t)
 
std::string to_string (const ConvergenceReport::WellFailure &wf)
 
template<class Scalar >
void registerEclTimeSteppingParameters ()
 
ConvergenceReport gatherConvergenceReport (const ConvergenceReport &local_report, Parallel::Communication communicator)
 
Opm::DeferredLogger gatherDeferredLogger (const Opm::DeferredLogger &local_deferredlogger, Parallel::Communication communicator)
 Create a global log combining local logs. More...
 
std::string moduleVersionName ()
 
std::string moduleVersionHash ()
 
std::string moduleVersion ()
 
std::string compileTimestamp ()
 
RestartValue loadParallelRestart (const EclipseIO *eclIO, Action::State &actionState, SummaryState &summaryState, const std::vector< RestartKey > &solutionKeys, const std::vector< RestartKey > &extraKeys, Parallel::Communication comm)
 
void eclStateBroadcast (Parallel::Communication comm, EclipseState &eclState, Schedule &schedule, SummaryConfig &summaryConfig, UDQState &udqState, Action::State &actionState, WellTestState &wtestState)
 Broadcasts an eclipse state from root node in parallel runs. ! More...
 
template<class T >
void eclBroadcast (Parallel::Communication, T &)
 
PhaseUsage phaseUsage (const Phases &phases)
 Determine the active phases. More...
 
PhaseUsage phaseUsageFromDeck (const EclipseState &eclipseState)
 
PhaseUsage phaseUsageFromDeck (const Deck &deck)
 
void ensureOutputDirExists (const std::string &cmdline_output_dir)
 
void prepareResultOutputDirectory (const std::string &baseName, const std::filesystem::path &outputDir)
 
std::unique_ptr< ParseContext > setupParseContext (const bool exitOnAllErrors)
 
void setupStreamLogging (const std::string &stdout_log_id)
 
FileOutputMode setupLogging (Parallel::Communication &comm, const std::string &deck_filename, const std::string &cmdline_output_dir, const std::string &cmdline_output, bool output_cout_, const std::string &stdout_log_id, const bool allRanksDbgLog)
 
void readDeck (Parallel::Communication comm, const std::string &deckFilename, std::shared_ptr< EclipseState > &eclipseState, std::shared_ptr< Schedule > &schedule, std::unique_ptr< UDQState > &udqState, std::unique_ptr< Action::State > &actionState, std::unique_ptr< WellTestState > &wtestState, std::shared_ptr< SummaryConfig > &summaryConfig, std::shared_ptr< Python > python, const std::string &parsingStrictness, const std::string &actionParsingStrictness, const std::string &inputSkipMode, bool initFromRestart, bool checkDeck, const std::optional< int > &outputInterval)
 Reads the deck and creates all necessary objects if needed. More...
 
void verifyValidCellGeometry (Parallel::Communication comm, const EclipseState &eclipseState)
 
std::map< std::string, std::string > setupZoltanParams (const std::string &conf)
 
std::map< std::string, std::string > setupMetisParams (const std::string &conf)
 
template<class Scalar >
bool operator< (const ParallelWellInfo< Scalar > &well1, const ParallelWellInfo< Scalar > &well2)
 
template<class Scalar >
bool operator== (const ParallelWellInfo< Scalar > &well1, const ParallelWellInfo< Scalar > &well2)
 
template<class Scalar >
bool operator!= (const ParallelWellInfo< Scalar > &well1, const ParallelWellInfo< Scalar > &well2)
 
template<class Scalar >
bool operator< (const std::pair< std::string, bool > &pair, const ParallelWellInfo< Scalar > &well)
 
template<class Scalar >
bool operator< (const ParallelWellInfo< Scalar > &well, const std::pair< std::string, bool > &pair)
 
template<class Scalar >
bool operator== (const std::pair< std::string, bool > &pair, const ParallelWellInfo< Scalar > &well)
 
template<class Scalar >
bool operator== (const ParallelWellInfo< Scalar > &well, const std::pair< std::string, bool > &pair)
 
template<class Scalar >
bool operator!= (const std::pair< std::string, bool > &pair, const ParallelWellInfo< Scalar > &well)
 
template<class Scalar >
bool operator!= (const ParallelWellInfo< Scalar > &well, const std::pair< std::string, bool > &pair)
 
template<class Scalar >
std::vector< Scalar > connectionProdIndStandard (const WellProdIndexCalculator< Scalar > &wellPICalc, const std::vector< Scalar > &connMobility)
 
template<class Scalar >
Scalar wellProdIndStandard (const WellProdIndexCalculator< Scalar > &wellPICalc, const std::vector< Scalar > &connMobility)
 

Variables

std::optional< std::function< std::vector< int >(const Dune::CpGrid &)> > externalLoadBalancer
 optional functor returning external load balancing information More...
 
double Co2InjectionTolerance = 1e-8
 

Detailed Description

This file contains a set of helper functions used by VFPProd / VFPInj.

Typedef Documentation

◆ CommPar

using Opm::CommPar = typedef Dune::OwnerOverlapCopyCommunication<int, int>

◆ CommSeq

using Opm::CommSeq = typedef Dune::Amg::SequentialInformation

◆ GetProp

template<class TypeTag , template< class, class > class Property>
using Opm::GetProp = typedef typename Properties::Detail::GetPropImpl<TypeTag, Property>::type

get the type of a property (equivalent to old macro GET_PROP(...))

◆ GetPropType

template<class TypeTag , template< class, class > class Property>
using Opm::GetPropType = typedef typename Properties::Detail::GetPropImpl<TypeTag, Property>::type::type

get the type alias defined in the property (equivalent to old macro GET_PROP_TYPE(...))

◆ GetSplicePropType

template<class TypeTag , class SpliceTypeTag , template< class, class > class Property>
using Opm::GetSplicePropType = typedef typename Properties::Detail::GetSplicePropImpl<TypeTag, SpliceTypeTag, Property>::type::type

◆ IndexMapStorageType

using Opm::IndexMapStorageType = typedef std::vector<IndexMapType>

◆ IndexMapType

using Opm::IndexMapType = typedef std::vector<int>

◆ InverseOperatorResult

typedef Dune::InverseOperatorResult Opm::InverseOperatorResult

◆ MessageBufferType

using Opm::MessageBufferType = typedef typename P2PCommunicatorType::MessageBufferType

◆ OpBPar

template<class Scalar , int Dim>
using Opm::OpBPar = typedef Dune::OverlappingSchwarzOperator<Dune::BCRSMatrix<MatrixBlock<Scalar, Dim, Dim> >, Dune::BlockVector<Dune::FieldVector<Scalar, Dim> >, Dune::BlockVector<Dune::FieldVector<Scalar, Dim> >, CommPar>

◆ OpBSeq

template<class Scalar , int Dim>
using Opm::OpBSeq = typedef Dune::MatrixAdapter<Dune::BCRSMatrix<MatrixBlock<Scalar, Dim, Dim> >, Dune::BlockVector<Dune::FieldVector<Scalar, Dim> >, Dune::BlockVector<Dune::FieldVector<Scalar, Dim> >>

◆ OpFPar

template<class Scalar , int Dim>
using Opm::OpFPar = typedef Dune::OverlappingSchwarzOperator<Dune::BCRSMatrix<Dune::FieldMatrix<Scalar, Dim, Dim> >, Dune::BlockVector<Dune::FieldVector<Scalar, Dim> >, Dune::BlockVector<Dune::FieldVector<Scalar, Dim> >, CommPar>

◆ OpFSeq

template<class Scalar , int Dim>
using Opm::OpFSeq = typedef Dune::MatrixAdapter<Dune::BCRSMatrix<Dune::FieldMatrix<Scalar, Dim, Dim> >, Dune::BlockVector<Dune::FieldVector<Scalar, Dim> >, Dune::BlockVector<Dune::FieldVector<Scalar, Dim> >>

◆ OpGLBPar

template<class Scalar , int Dim>
using Opm::OpGLBPar = typedef Opm::GhostLastMatrixAdapter<Dune::BCRSMatrix<MatrixBlock<Scalar,Dim,Dim> >, Dune::BlockVector<Dune::FieldVector<Scalar,Dim> >, Dune::BlockVector<Dune::FieldVector<Scalar,Dim> >, CommPar>

◆ OpGLFPar

template<class Scalar , int Dim>
using Opm::OpGLFPar = typedef Opm::GhostLastMatrixAdapter<Dune::BCRSMatrix<Dune::FieldMatrix<Scalar,Dim,Dim> >, Dune::BlockVector<Dune::FieldVector<Scalar,Dim> >, Dune::BlockVector<Dune::FieldVector<Scalar,Dim> >, CommPar>

◆ OpW

template<class Scalar , int Dim, bool overlap>
using Opm::OpW = typedef WellModelMatrixAdapter<Dune::BCRSMatrix<MatrixBlock<Scalar, Dim, Dim> >, Dune::BlockVector<Dune::FieldVector<Scalar, Dim> >, Dune::BlockVector<Dune::FieldVector<Scalar, Dim> >, overlap>

◆ OpWG

template<class Scalar , int Dim, bool overlap>
using Opm::OpWG = typedef WellModelGhostLastMatrixAdapter<Dune::BCRSMatrix<MatrixBlock<Scalar, Dim, Dim> >, Dune::BlockVector<Dune::FieldVector<Scalar, Dim> >, Dune::BlockVector<Dune::FieldVector<Scalar, Dim> >, overlap>

◆ P2PCommunicatorType

using Opm::P2PCommunicatorType = typedef Dune::Point2PointCommunicator<Dune::SimpleMessageBuffer>

◆ RegionId

typedef int Opm::RegionId

Enumeration Type Documentation

◆ ColoringType

enum class Opm::ColoringType
strong

Specify coloring type.

The coloring types have been implemented initially to parallelize DILU preconditioner and parallel sparse triangular solves. Symmetric coloring will create a dependency from row i to j if both element A_ij and A_ji exists. Lower coloring creates a dependency from row i to j (where i < j) if A_ij is nonzero. Upper coloring creates a dependecy from row i to j (where i > j) if A_ij is nonzero.

Enumerator
SYMMETRIC 
LOWER 
UPPER 

◆ DomainOrderingMeasure

enum class Opm::DomainOrderingMeasure
strong

Measure to use for domain ordering.

Enumerator
AveragePressure 
MaxPressure 
Residual 

◆ DomainSolveApproach

enum class Opm::DomainSolveApproach
strong

Solver approach for NLDD.

Enumerator
Jacobi 
GaussSeidel 

◆ ElementType

The types of reference elements available.

Enumerator
none 
simplex 
cube 

◆ FileOutputMode

enum class Opm::FileOutputMode
strong
Enumerator
OUTPUT_NONE 

No file output.

OUTPUT_LOG_ONLY 

Output only to log files, no ECLIPSE output.

OUTPUT_ALL 

Output to all files.

◆ MILU_VARIANT

enum class Opm::MILU_VARIANT
strong
Enumerator
ILU 

Do not perform modified ILU.

MILU_1 

$U_{ii} = U_{ii} +$ sum(dropped entries)

MILU_2 

$U_{ii} = U_{ii} + sign(U_{ii}) * $ sum(dropped entries)

MILU_3 

$U_{ii} = U_{ii} sign(U_{ii}) * $ sum(|dropped entries|)

MILU_4 

$U_{ii} = U_{ii} + (U_{ii}>0?1:0) * $ sum(dropped entries)

◆ NonlinearRelaxType

enum class Opm::NonlinearRelaxType
strong
Enumerator
Dampen 
SOR 

◆ TimeStepControlType

enum class Opm::TimeStepControlType
strong
Enumerator
SimpleIterationCount 
PID 
PIDAndIterationCount 
HardCodedTimeStep 

Function Documentation

◆ accumulateMaskedValues()

template<class T1 >
auto Opm::accumulateMaskedValues ( const T1 &  container,
const std::vector< double > *  maskContainer 
) -> decltype(container[0] *(*maskContainer)[0])

Accumulates entries masked with 1.

Parameters
containerThe container whose values to accumulate.
maskContainernull pointer or a pointer to a container with entries 0 and 1. Only values at indices with a 1 stored will be accumulated. If null then all values will be accumulated
Returns
the summ of all entries that should be represented.

◆ aligned_alloc()

void * Opm::aligned_alloc ( std::size_t  alignment,
std::size_t  size 
)
inlinenoexcept

◆ aligned_free()

void Opm::aligned_free ( void *  ptr)
inlinenoexcept

◆ assignResetTerminalSignalHandlers()

void Opm::assignResetTerminalSignalHandlers ( )

Assign signal handlers that reset the terminal on errors.

◆ breakLines()

std::string Opm::breakLines ( const std::string &  msg,
int  indentWidth,
int  maxWidth 
)

Break up a string in lines suitable for terminal output.

Parameters
msgString to print
indentWidthSize of indent
maxWidthMaximum with of terminal
Returns

◆ colorVerticesWelshPowell()

template<class Graph >
std::tuple< std::vector< int >, int, std::vector< std::size_t > > Opm::colorVerticesWelshPowell ( const Graph &  graph)

Color the vertices of graph.

It uses the algorithm of Welsh and Powell for this.

Parameters
graphThe graph to color. Must adhere to the graph interface of dune-istl.
Returns
A pair of a vector with the colors of the vertices and the number of colors assigned

References Opm::Detail::colorGraphWelshPowell().

Referenced by Opm::ParallelOverlappingILU0< Matrix, Domain, Range, ParallelInfoT >::update().

◆ compileTimestamp()

std::string Opm::compileTimestamp ( )

Return a string "dd-mm-yyyy at HH::MM::SS hrs" which is the time the binary was compiled.

Referenced by Opm::SimulatorFullyImplicitBlackoil< TypeTag >::getHeader(), and Opm::Main::initialize_().

◆ connectionProdIndStandard()

template<class Scalar >
std::vector< Scalar > Opm::connectionProdIndStandard ( const WellProdIndexCalculator< Scalar > &  wellPICalc,
const std::vector< Scalar > &  connMobility 
)

Compute connection-level productivity index values for all connections in a well.

Parameters
[in]wellPICalcProductivity index calculator.
[in]connMobilityPhase mobility for each connection. Typically derived from dynamic flow state conditions in cells intersected by well's connections. Must have one value for each
wellPICalc.numConnections()
well connection.
Returns
Connection-level steady-state productivity index values for all connections.

◆ convertString2Milu()

MILU_VARIANT Opm::convertString2Milu ( const std::string &  milu)

◆ createParallelFlexibleSolver() [1/2]

template<class Vector , class Matrix >
std::tuple< std::unique_ptr< Dune::OverlappingSchwarzOperator< Matrix, Vector, Vector, Dune::OwnerOverlapCopyCommunication< int, int > > >, std::unique_ptr< typename TracerSolverSelector< Matrix, Vector >::type > > Opm::createParallelFlexibleSolver ( const Dune::CpGrid &  grid,
const Matrix &  M,
const PropertyTree prm 
)

◆ createParallelFlexibleSolver() [2/2]

template<class Vector , class Grid , class Matrix >
std::tuple< std::unique_ptr< Dune::OverlappingSchwarzOperator< Matrix, Vector, Vector, Dune::OwnerOverlapCopyCommunication< int, int > > >, std::unique_ptr< typename TracerSolverSelector< Matrix, Vector >::type > > Opm::createParallelFlexibleSolver ( const Grid &  ,
const Matrix &  ,
const PropertyTree  
)

◆ domainOrderingMeasureFromString()

DomainOrderingMeasure Opm::domainOrderingMeasureFromString ( const std::string_view  measure)
inline

◆ eclBroadcast()

◆ eclPositionalParameter()

int Opm::eclPositionalParameter ( std::function< void(const std::string &, const std::string &)>  addKey,
std::set< std::string > &  seenParams,
std::string &  errorMsg,
const char **  argv,
int  paramIdx 
)

◆ eclStateBroadcast()

void Opm::eclStateBroadcast ( Parallel::Communication  comm,
EclipseState &  eclState,
Schedule &  schedule,
SummaryConfig &  summaryConfig,
UDQState &  udqState,
Action::State &  actionState,
WellTestState &  wtestState 
)

Broadcasts an eclipse state from root node in parallel runs. !

Parameters
eclStateEclipseState to broadcast !
scheduleSchedule to broadcast !
summaryConfigSummaryConfig to broadcast

◆ ensureOutputDirExists()

void Opm::ensureOutputDirExists ( const std::string &  cmdline_output_dir)

◆ extendCommunicatorWithWells()

template<class Communication >
void Opm::extendCommunicatorWithWells ( const Communication &  comm,
std::shared_ptr< Communication > &  commRW,
const int  nw 
)

◆ firstmatrixelement()

template<class K , int n, int m>
K & Opm::firstmatrixelement ( MatrixBlock< K, n, m > &  A)

◆ flowMain()

template<class TypeTag >
int Opm::flowMain ( int  argc,
char **  argv,
bool  outputCout,
bool  outputFiles 
)

◆ gatherConvergenceReport()

ConvergenceReport Opm::gatherConvergenceReport ( const ConvergenceReport local_report,
Parallel::Communication  communicator 
)

Create a global convergence report combining local (per-process) reports.

Referenced by Opm::BlackoilWellModel< TypeTag >::getWellConvergence().

◆ gatherDeferredLogger()

◆ gatherStrings()

std::vector< std::string > Opm::gatherStrings ( const std::string &  local_string)

◆ getMatrixRowColoring()

template<class M >
Opm::SparseTable< std::size_t > Opm::getMatrixRowColoring ( const M &  matrix,
ColoringType  coloringType 
)

Given a matrix and dependecy type, returns a SparseTable grouping the rows by which can be executed in parallel without breaking dependencies.

This coloring algorithm interprets the sparsity structure of a matrix as a graph. Each row is given a color or level where all the rows in the same level only have dependencies from lower levels. The level computation is done with dynamic programming, and to improve caching the rows in the same level stay in matrix order.

Parameters
matrixA dune sparse matrix
coloringTypeThe coloringtype determines what constitutes a dependency, see ColoringType definition above
Returns
SparseTable with rows of the matrix grouped into least number of groups while dependencies only come from groups with lower index

References LOWER, SYMMETRIC, and UPPER.

Referenced by Dune::MultithreadDILU< M, X, Y >::MultithreadDILU().

◆ getPropValue()

template<class TypeTag , template< class, class > class Property>
constexpr auto Opm::getPropValue ( )
constexpr

get the value data member of a property

Referenced by Opm::AluGridVanguard< TypeTag >::loadBalance().

◆ getTtyWidth()

int Opm::getTtyWidth ( )

Get the width of the tty we are attached to.

Returns
Width of tty

◆ humanReadableTime()

std::string Opm::humanReadableTime ( double  timeInSeconds,
bool  isAmendment = true 
)

Given a time step size in seconds, return it in a format which is more easily parsable by humans.

e.g. 874000.0 will become "10.12 days"

Referenced by Opm::FvBaseProblem< TypeTag >::finalize(), and Opm::Simulator< TypeTag >::run().

◆ loadParallelRestart()

RestartValue Opm::loadParallelRestart ( const EclipseIO *  eclIO,
Action::State &  actionState,
SummaryState &  summaryState,
const std::vector< RestartKey > &  solutionKeys,
const std::vector< RestartKey > &  extraKeys,
Parallel::Communication  comm 
)

◆ make_guard()

template<class Callback >
GenericGuard< Callback > Opm::make_guard ( Callback &  callback)

◆ moduleVersion()

std::string Opm::moduleVersion ( )

Return a string containing both the name and hash, if N is the name and H is the hash it will be "N (H)". For example "2016.04-pre (f15be17)" or "2016.04-pre (debug)".

Referenced by Opm::SimulatorFullyImplicitBlackoil< TypeTag >::getHeader(), and Opm::Main::initialize_().

◆ moduleVersionHash()

std::string Opm::moduleVersionHash ( )

Return a (short) git hash for the current version of the module if this is a Release build (as defined by CMake), or "debug" for Debug builds.

◆ moduleVersionName()

std::string Opm::moduleVersionName ( )

Return the version name of the module, for example "2015.10" (for a release branch) or "2016.04-pre" (for a master branch).

Referenced by Opm::Main::initialize_().

◆ operator!=() [1/4]

template<class T1 , class T2 , std::size_t Alignment>
bool Opm::operator!= ( const aligned_allocator< T1, Alignment > &  ,
const aligned_allocator< T2, Alignment > &   
)
inlinenoexcept

◆ operator!=() [2/4]

template<class Scalar >
bool Opm::operator!= ( const ParallelWellInfo< Scalar > &  well,
const std::pair< std::string, bool > &  pair 
)

◆ operator!=() [3/4]

template<class Scalar >
bool Opm::operator!= ( const ParallelWellInfo< Scalar > &  well1,
const ParallelWellInfo< Scalar > &  well2 
)

◆ operator!=() [4/4]

template<class Scalar >
bool Opm::operator!= ( const std::pair< std::string, bool > &  pair,
const ParallelWellInfo< Scalar > &  well 
)

◆ operator<() [1/3]

template<class Scalar >
bool Opm::operator< ( const ParallelWellInfo< Scalar > &  well,
const std::pair< std::string, bool > &  pair 
)

◆ operator<() [2/3]

template<class Scalar >
bool Opm::operator< ( const ParallelWellInfo< Scalar > &  well1,
const ParallelWellInfo< Scalar > &  well2 
)

◆ operator<() [3/3]

template<class Scalar >
bool Opm::operator< ( const std::pair< std::string, bool > &  pair,
const ParallelWellInfo< Scalar > &  well 
)

◆ operator==() [1/4]

template<class T1 , class T2 , std::size_t Alignment>
bool Opm::operator== ( const aligned_allocator< T1, Alignment > &  ,
const aligned_allocator< T2, Alignment > &   
)
inlinenoexcept

◆ operator==() [2/4]

template<class Scalar >
bool Opm::operator== ( const ParallelWellInfo< Scalar > &  well,
const std::pair< std::string, bool > &  pair 
)

◆ operator==() [3/4]

template<class Scalar >
bool Opm::operator== ( const ParallelWellInfo< Scalar > &  well1,
const ParallelWellInfo< Scalar > &  well2 
)

◆ operator==() [4/4]

template<class Scalar >
bool Opm::operator== ( const std::pair< std::string, bool > &  pair,
const ParallelWellInfo< Scalar > &  well 
)

◆ partitionCells()

template<class GridView , class Element >
std::pair< std::vector< int >, int > Opm::partitionCells ( const std::string &  method,
const int  num_local_domains,
const GridView &  grid_view,
const std::vector< Well > &  wells,
const std::unordered_map< std::string, std::set< int > > &  possibleFutureConnections,
const ZoltanPartitioningControl< Element > &  zoltan_ctrl 
)

Partition rank's interior cells.

Parameters
[in]methodPartitioning method. Supported values are "zoltan", "simple", or a filename with the extension ".partition". The "zoltan" method invokes the Zoltan graph partitioning package and requires both MPI and an active Zoltan library. The "simple" method uses a one-dimensional load-balanced approach, and the filename method will read a precomputed partition vector from the named file.
[in]num_local_domainsNumber of subdomains. Not used when explicit partitioning is input from a file.
[in]commMPI Communication object for exchanging globally unique cell IDs and for communication within the Zoltan library. Not used unless
method == "zoltan"
.
[in]grid_viewView of rank's cells, both interior and overlap cells. Not used unless
method == "zoltan"
.
[in]wellsCollection of simulation model wells. Not used unless
method == "zoltan"
.
[in]zoltan_ctrlControl parameters for local Zoltan-based partitioning. Not used unless
method == "zoltan"
.
Returns
Partition vector–subdomain ID for each cell in grid_view traversal order for its interior cells–and the number of subdomains on current rank.

◆ partitionCellsFromFile()

std::pair< std::vector< int >, int > Opm::partitionCellsFromFile ( const std::string &  filename,
const int  num_cells 
)

Read a partitioning from file, assumed to contain one number per cell, its partition number.

Returns
pair containing a partition vector (partition number for each cell), and the number of partitions.

◆ partitionCellsSimple()

std::pair< std::vector< int >, int > Opm::partitionCellsSimple ( const int  num_cells,
const int  num_domains 
)

Trivially simple partitioner assigning partitions en bloc, consecutively by cell index.

Returns
pair containing a partition vector (partition number for each cell), and the number of partitions.

◆ phaseUsage()

◆ phaseUsageFromDeck() [1/2]

PhaseUsage Opm::phaseUsageFromDeck ( const Deck &  deck)

Looks at presence of WATER, OIL and GAS keywords in deck to determine active phases.

◆ phaseUsageFromDeck() [2/2]

PhaseUsage Opm::phaseUsageFromDeck ( const EclipseState &  eclipseState)

Looks at presence of WATER, OIL and GAS keywords in state object to determine active phases.

Referenced by Opm::SimulatorFullyImplicitBlackoil< TypeTag >::SimulatorFullyImplicitBlackoil().

◆ prefetch()

template<int temporalLocality = 3, int writeOnly = 0, class T = void>
void Opm::prefetch ( const T &  val,
unsigned  n = 1 
)

Template function which emits prefetch instructions for a range of memory.

This function does not change the semantics of the code, but used correctly it will improve performace because the number of cache misses will be reduced.

Referenced by Opm::PffGridVector< GridView, Stencil, Data, DofMapper >::prefetch().

◆ prepareResultOutputDirectory()

void Opm::prepareResultOutputDirectory ( const std::string &  baseName,
const std::filesystem::path &  outputDir 
)

◆ printFlowBanner()

void Opm::printFlowBanner ( int  nprocs,
int  threads,
std::string_view  moduleVersionName 
)

Referenced by Opm::Main::initialize_().

◆ printFlowTrailer()

void Opm::printFlowTrailer ( int  nprocs,
int  nthreads,
const double  total_setup_time,
const double  deck_read_time,
const SimulatorReport report,
const SimulatorReportSingle localsolves_report 
)

◆ printPRTHeader()

void Opm::printPRTHeader ( const int  nprocs,
const int  nthreads,
const std::string &  parameters,
std::string_view  moduleVersion,
std::string_view  compileTimestamp 
)

◆ readDeck()

void Opm::readDeck ( Parallel::Communication  comm,
const std::string &  deckFilename,
std::shared_ptr< EclipseState > &  eclipseState,
std::shared_ptr< Schedule > &  schedule,
std::unique_ptr< UDQState > &  udqState,
std::unique_ptr< Action::State > &  actionState,
std::unique_ptr< WellTestState > &  wtestState,
std::shared_ptr< SummaryConfig > &  summaryConfig,
std::shared_ptr< Python >  python,
const std::string &  parsingStrictness,
const std::string &  actionParsingStrictness,
const std::string &  inputSkipMode,
bool  initFromRestart,
bool  checkDeck,
const std::optional< int > &  outputInterval 
)

Reads the deck and creates all necessary objects if needed.

If pointers already contains objects then they are used otherwise they are created and can be used outside later.

◆ readTimeStepFile()

template<class Scalar >
std::vector< Scalar > Opm::readTimeStepFile ( const std::string &  file)

Read explicitly defined time steps from file.

Parameters
fileFile to read

◆ registerDamarisParameters()

void Opm::registerDamarisParameters ( )

Register damaris runtime parameters.

Referenced by Opm::DamarisWriter< TypeTag >::registerParameters().

◆ registerEclTimeSteppingParameters()

template<class Scalar >
void Opm::registerEclTimeSteppingParameters ( )

◆ registerFlowProblemParameters()

template<class Scalar >
void Opm::registerFlowProblemParameters ( )

◆ reorderVerticesPreserving()

template<class Graph >
std::vector< std::size_t > Opm::reorderVerticesPreserving ( const std::vector< int > &  colors,
int  noColors,
const std::vector< std::size_t > &  verticesPerColor,
const Graph &  graph 
)

! Reorder colored graph preserving order of vertices with the same color.

Referenced by Opm::ParallelOverlappingILU0< Matrix, Domain, Range, ParallelInfoT >::update().

◆ reorderVerticesSpheres()

template<class Graph >
std::vector< std::size_t > Opm::reorderVerticesSpheres ( const std::vector< int > &  colors,
int  noColors,
const std::vector< std::size_t > &  verticesPerColor,
const Graph &  graph,
typename Graph::VertexDescriptor  root 
)

◆ resetTerminal() [1/2]

void Opm::resetTerminal ( )

Resets the current TTY to a usable state if the program was aborted.

This is intended to be called as part of a generic exception handler

◆ resetTerminal() [2/2]

void Opm::resetTerminal ( int  signum)

Resets the current TTY to a usable state if the program was interrupted by SIGABRT or SIGINT.

◆ setupAMG()

PropertyTree Opm::setupAMG ( const std::string &  conf,
const FlowLinearSolverParameters p 
)

◆ setupCPR()

PropertyTree Opm::setupCPR ( const std::string &  conf,
const FlowLinearSolverParameters p 
)

◆ setupCPRW()

PropertyTree Opm::setupCPRW ( const std::string &  conf,
const FlowLinearSolverParameters p 
)

◆ setupDILU()

PropertyTree Opm::setupDILU ( const std::string &  conf,
const FlowLinearSolverParameters p 
)

◆ setupILU()

PropertyTree Opm::setupILU ( const std::string &  conf,
const FlowLinearSolverParameters p 
)

◆ setupLogging()

FileOutputMode Opm::setupLogging ( Parallel::Communication comm,
const std::string &  deck_filename,
const std::string &  cmdline_output_dir,
const std::string &  cmdline_output,
bool  output_cout_,
const std::string &  stdout_log_id,
const bool  allRanksDbgLog 
)

◆ setupMetisParams()

std::map< std::string, std::string > Opm::setupMetisParams ( const std::string &  conf)

◆ setupParseContext()

std::unique_ptr< ParseContext > Opm::setupParseContext ( const bool  exitOnAllErrors)

◆ setupPropertyTree()

PropertyTree Opm::setupPropertyTree ( FlowLinearSolverParameters  p,
bool  linearSolverMaxIterSet,
bool  linearSolverReductionSet 
)

◆ setupStreamLogging()

void Opm::setupStreamLogging ( const std::string &  stdout_log_id)

◆ setupUMFPack()

PropertyTree Opm::setupUMFPack ( const std::string &  conf,
const FlowLinearSolverParameters p 
)

◆ setupZoltanParams()

std::map< std::string, std::string > Opm::setupZoltanParams ( const std::string &  conf)

◆ setUseFixedOrder() [1/2]

template<typename C >
auto Opm::setUseFixedOrder ( criterion,
bool  booleanValue 
) -> decltype(criterion.setUseFixedOrder(booleanValue))

◆ setUseFixedOrder() [2/2]

template<typename C >
void Opm::setUseFixedOrder ( ,
  ... 
)

◆ signum()

template<class Scalar >
int Opm::signum ( Scalar  val)

Template function which returns the sign of a floating point value.

This is a type safe and fast implementation of a sign() function for arbitrary floating point values. It a slightly modified variant of

https://stackoverflow.com/questions/1903954/is-there-a-standard-sign-function-signum-sgn-in-c-c

Referenced by Opm::BlackOilNewtonMethod< TypeTag >::updatePrimaryVariables_().

◆ simulatorOutputDir()

std::string Opm::simulatorOutputDir ( )

Determine and check the configured directory for simulation output.

Referenced by Opm::FvBaseProblem< TypeTag >::outputDir().

◆ to_string() [1/4]

std::string Opm::to_string ( const ConvergenceReport::ReservoirFailure::Type  t)

Referenced by Opm::ForchheimerExtensiveQuantities< TypeTag >::calculateForchheimerFlux_(), Dune::CartesianIndexMapper< Dune::ALUGrid< 3, 3, Dune::cube, Dune::nonconforming > >::cartesianCoordinate(), Opm::MultisegmentWell< TypeTag >::checkOperabilityUnderTHPLimit(), Opm::StandardWell< TypeTag >::checkOperabilityUnderTHPLimit(), Opm::BlackOilLocalResidualTPFA< TypeTag >::computeBoundaryFlux(), Opm::BlackoilWellModel< TypeTag >::computeWellGroupThp(), Opm::MultisegmentWell< TypeTag >::computeWellPotentials(), Opm::MultisegmentWell< TypeTag >::computeWellPotentialWithTHP(), Opm::BlackOilModel< TypeTag >::deserializeEntity(), Opm::FvBaseDiscretization< TypeTag >::deserializeEntity(), Opm::PvsModel< TypeTag >::deserializeEntity(), Opm::EQUIL::DeckDependent::equilnum(), Opm::EcfvStencil< Scalar, GridView, needFaceIntegrationPos, needFaceNormal >::EcfvSubControlVolumeFace< needIntegrationPos, needNormal >::faceDirFromDirId(), Opm::BlackoilWellModel< TypeTag >::getDomainWellConvergence(), Opm::BlackOilPolymerModule< TypeTag, enablePolymerV >::getPlymwinjTable(), Opm::BlackOilPolymerModule< TypeTag, enablePolymerV >::getSkprpolyTable(), Opm::BlackOilPolymerModule< TypeTag, enablePolymerV >::getSkprwatTable(), Opm::BlackoilWellModel< TypeTag >::getWellConvergence(), Opm::EQUIL::Details::horizontalSubdivision(), Opm::EQUIL::DeckDependent::InitialStateComputer< FluidSystem, Grid, GridView, ElementMapper, CartesianIndexMapper >::InitialStateComputer(), logAndCheckForExceptionsAndThrow(), logAndCheckForProblemsAndThrow(), Opm::BlackoilModel< TypeTag >::nonlinearIterationNewton(), Opm::PackUnPackWBPData::pack(), Opm::NcpNewtonMethod< TypeTag >::preSolve_(), Opm::NewtonMethod< TypeTag >::preSolve_(), Opm::SimulatorFullyImplicitBlackoil< TypeTag >::runStep(), Opm::BlackOilModel< TypeTag >::serializeEntity(), Opm::FvBaseDiscretization< TypeTag >::serializeEntity(), Opm::PvsModel< TypeTag >::serializeEntity(), Opm::ISTLSolver< TypeTag >::setActiveSolver(), Opm::ISTLSolver< TypeTag >::shouldCreateSolver(), Opm::Simulator< TypeTag >::Simulator(), Opm::WellInterface< TypeTag >::solveWellEquation(), Opm::WellInterface< TypeTag >::solveWellForTesting(), Opm::NonlinearSolver< TypeTag, PhysicalModel >::step(), Opm::FvBaseProblem< TypeTag >::timeIntegration(), Opm::gpuistl::toDebugString(), Opm::VcfvStencil< Scalar, GridView >::update(), Opm::NcpModel< TypeTag >::updatePVWeights(), Opm::BlackoilWellModel< TypeTag >::updateWellControlsAndNetwork(), Opm::WellInterface< TypeTag >::volumetricSurfaceRateForConnection(), Opm::GridDataOutput::SimMeshDataAccessor< GridView, partitions >::writeCellTypes(), Opm::GridDataOutput::SimMeshDataAccessor< GridView, partitions >::writeConnectivity(), Opm::GridDataOutput::SimMeshDataAccessor< GridView, partitions >::writeGridPoints(), Opm::GridDataOutput::SimMeshDataAccessor< GridView, partitions >::writeGridPoints_AOS(), Opm::GridDataOutput::SimMeshDataAccessor< GridView, partitions >::writeGridPoints_SOA(), and Opm::GridDataOutput::SimMeshDataAccessor< GridView, partitions >::writeOffsetsCells().

◆ to_string() [2/4]

std::string Opm::to_string ( const ConvergenceReport::Severity  s)

◆ to_string() [3/4]

std::string Opm::to_string ( const ConvergenceReport::WellFailure wf)

◆ to_string() [4/4]

std::string Opm::to_string ( const ConvergenceReport::WellFailure::Type  t)

◆ verifyValidCellGeometry()

void Opm::verifyValidCellGeometry ( Parallel::Communication  comm,
const EclipseState &  eclipseState 
)

◆ wellProdIndStandard()

template<class Scalar >
Scalar Opm::wellProdIndStandard ( const WellProdIndexCalculator< Scalar > &  wellPICalc,
const std::vector< Scalar > &  connMobility 
)

Compute well-level productivity index value.

Parameters
[in]wellPICalcProductivity index calculator.
[in]connMobilityPhase mobility for each connection. Typically derived from dynamic flow state conditions in cells intersected by well's connections. Must have one value for each
wellPICalc.numConnections()
well connection.
Returns
Well-level steady-state productivity index value.

Variable Documentation

◆ Co2InjectionTolerance

double Opm::Co2InjectionTolerance = 1e-8

◆ externalLoadBalancer

std::optional<std::function<std::vector<int>(const Dune::CpGrid&)> > Opm::externalLoadBalancer
extern

optional functor returning external load balancing information

If it is set then this will be used during loadbalance.

Referenced by Opm::GenericCpGridVanguard< ElementMapper, GridView, Scalar >::setExternalLoadBalancer().