opm-simulators
Loading...
Searching...
No Matches
Opm Namespace Reference

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

Namespaces

namespace  DamarisOutput
 Below are the Damaris Keywords supported by Damaris to be filled in the built-in XML file.
namespace  EQUIL
 Types and routines that collectively implement a basic ECLIPSE-style equilibration-based initialisation scheme.
namespace  ExceptionType
 This class implements a deferred logger: 1) messages can be pushed back to a vector 2) a call to logMessages adds the messages to OpmLog backends.

Classes

class  BlackOilBioeffectsModule
 Contains the high level supplements required to extend the black oil model by bioeffects. More...
class  BlackOilBioeffectsIntensiveQuantities
 Provides the volumetric quantities required for the equations needed by the bioeffects extension of the black-oil model. More...
class  BlackOilBioeffectsIntensiveQuantities< TypeTag, false >
class  BlackOilBioeffectsExtensiveQuantities
 Provides the bioeffects specific extensive quantities to the generic black-oil module's extensive quantities. More...
class  BlackOilBioeffectsExtensiveQuantities< TypeTag, false >
struct  BlackOilBioeffectsParams
 Struct holding the parameters for the BlackOilBioeffectsModule class. More...
class  BlackOilBoundaryRateVector
 Implements a boundary vector for the fully implicit black-oil model. More...
class  BlackOilBrineModule
 Contains the high level supplements required to extend the black oil model by brine. More...
class  BlackOilBrineIntensiveQuantities
class  BlackOilBrineIntensiveQuantities< TypeTag, true >
class  BlackOilBrineIntensiveQuantities< TypeTag, false >
struct  BlackOilBrineParams
 Struct holding the parameters for the BlackoilBrineModule class. More...
class  BlackOilConvectiveMixingModule
class  BlackOilConvectiveMixingModule< TypeTag, false >
class  BlackOilConvectiveMixingModule< TypeTag, true >
class  BlackOilConvectiveMixingIntensiveQuantities
 Provides the volumetric quantities required for the equations needed by the convective mixing (DRSDTCON) model. More...
class  BlackOilConvectiveMixingIntensiveQuantities< TypeTag, true >
class  BlackOilConvectiveMixingIntensiveQuantities< TypeTag, false >
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  BlackOilDiffusionModule
 Provides the auxiliary methods required for consideration of the diffusion equation. More...
class  BlackOilDiffusionExtensiveQuantities
 Provides the quantities required to calculate diffusive mass fluxes. 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  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  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  BlackOilDispersionModule
 Provides the auxiliary methods required for consideration of the dispersion equation. More...
class  BlackOilDispersionExtensiveQuantities
 Provides the quantities required to calculate dispersive mass fluxes. 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  BlackOilDispersionIntensiveQuantities
 Provides the volumetric quantities required for the calculation of dispersive fluxes. More...
class  BlackOilDispersionIntensiveQuantities< TypeTag, false >
class  BlackOilDispersionIntensiveQuantities< TypeTag, true >
class  BlackOilDispersionExtensiveQuantities< TypeTag, false >
class  BlackOilDispersionExtensiveQuantities< TypeTag, true >
 Provides the quantities required to calculate dispersive mass fluxes. More...
class  BlackOilEnergyModule
 Contains the high level supplements required to extend the black oil model by energy. More...
class  BlackOilEnergyIntensiveQuantities
 Provides the volumetric quantities required for the equations needed by the energys extension of the black-oil model. More...
class  BlackOilEnergyIntensiveQuantities< TypeTag, true >
class  BlackOilEnergyIntensiveQuantities< TypeTag, false >
class  BlackOilEnergyExtensiveQuantities
 Provides the energy specific extensive quantities to the generic black-oil module's extensive quantities. More...
class  BlackOilEnergyExtensiveQuantities< TypeTag, true >
class  BlackOilEnergyExtensiveQuantities< TypeTag, false >
class  BlackOilExtboModule
 Contains the high level supplements required to extend the black oil model. More...
class  BlackOilExtboIntensiveQuantities
 Provides the volumetric quantities required for the equations needed by the solvents extension of the black-oil model. More...
class  BlackOilExtboIntensiveQuantities< TypeTag, true >
class  BlackOilExtboIntensiveQuantities< TypeTag, false >
class  BlackOilExtboExtensiveQuantities
 Provides the solvent specific extensive quantities to the generic black-oil module's extensive quantities. More...
class  BlackOilExtboExtensiveQuantities< TypeTag, false >
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  BlackOilFoamModule
 Contains the high level supplements required to extend the black oil model to include the effects of foam. 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, true >
class  BlackOilFoamIntensiveQuantities< TypeTag, false >
struct  BlackOilFoamParams
 Struct holding the parameters for the BlackoilFoamModule class. 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  BlackOilModel
 A fully-implicit black-oil flow model. 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  BlackOilPolymerModule
 Contains the high level supplements required to extend the black oil model by polymer. More...
class  BlackOilPolymerIntensiveQuantities
 Provides the volumetric quantities required for the equations needed by the polymers extension of the black-oil model. More...
class  BlackOilPolymerIntensiveQuantities< TypeTag, true >
class  BlackOilPolymerIntensiveQuantities< TypeTag, false >
class  BlackOilPolymerExtensiveQuantities
 Provides the polymer specific extensive quantities to the generic black-oil module's extensive quantities. More...
class  BlackOilPolymerExtensiveQuantities< TypeTag, true >
class  BlackOilPolymerExtensiveQuantities< TypeTag, false >
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  BlackOilSolventModule
 Contains the high level supplements required to extend the black oil model by solvents. More...
class  BlackOilSolventIntensiveQuantities
 Provides the volumetric quantities required for the equations needed by the solvents extension of the black-oil model. More...
class  BlackOilSolventIntensiveQuantities< TypeTag, true >
class  BlackOilSolventIntensiveQuantities< TypeTag, false >
class  BlackOilSolventExtensiveQuantities
 Provides the solvent specific extensive quantities to the generic black-oil module's extensive quantities. More...
class  BlackOilSolventExtensiveQuantities< TypeTag, false >
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...
struct  BlackOilVariableAndEquationIndices
 The primary variable and equation indices for the three-phase black-oil model. More...
class  DarcyIntensiveQuantities
 Provides the intensive quantities for the Darcy flux module. More...
class  DarcyExtensiveQuantities
 Provides the Darcy flux module. More...
class  DarcyBaseProblem
 Provides the defaults for the parameters required by the Darcy velocity approach. More...
struct  DarcyFluxModule
 Specifies a flux module which uses the Darcy relation. 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  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  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  DirectionalMobility
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  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  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  ForchheimerIntensiveQuantities
 Provides the intensive quantities for the Forchheimer module. More...
class  ForchheimerExtensiveQuantities
 Provides the Forchheimer flux module. More...
class  ForchheimerBaseProblem
 Provides the defaults for the parameters required by the Forchheimer velocity approach. More...
struct  ForchheimerFluxModule
 Specifies a flux module which uses the Forchheimer relation. 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  TemperatureCallback
 Callback class for temperature. More...
class  PressureCallback
 Callback class for a phase pressure. More...
class  BoundaryPressureCallback
 Callback class for a phase pressure. More...
class  DensityCallback
 Callback class for the density of a phase. More...
class  MolarDensityCallback
 Callback class for the molar density of a phase. More...
class  ViscosityCallback
 Callback class for the viscosity of a phase. 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  MoleFractionCallback
 Callback class for a mole fraction of a component in a phase. More...
class  TransIntensiveQuantities
 Provides the intensive quantities for the transmissibility based flux module. More...
class  TransExtensiveQuantities
 Provides the transmissibility based flux module. More...
class  TransBaseProblem
 Provides the defaults for the parameters required by the transmissibility based volume flux calculation. More...
struct  TransFluxModule
 Specifies a flux module which uses transmissibilities. More...
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  FractureMapper
 Stores the topology of fractures. More...
class  BaseAuxiliaryModule
 Base class for specifying auxiliary equations. 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  FvBaseDiscretizationNoAdapt
 The base class for the finite volume discretization schemes without adaptation. 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  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 independently 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  EcfvDiscretization
 The base class for the element-centered finite-volume discretization scheme. 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...
struct  LinearizationType
class  CopyRestrictProlong
struct  CopyRestrictProlongTraits
struct  EmptyRestrictProlongTraits
class  EmptyRestrictProlong
class  TpfaLinearizer
 The common code for the linearizers of non-linear systems of equations. More...
class  EcfvBaseOutputModule
 Implements the discretization specific parts of writing files. 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...
class  P1FeGradientCalculator
 This class calculates gradients of arbitrary quantities at flux integration points using first order finite elements ansatz functions. 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  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  FlashPrimaryVariables
 Represents the primary variables used by the compositional flow model based on flash calculations. More...
class  FlashRateVector
 Implements a vector representing rates of conserved quantities. More...
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  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  CubeGridVanguard
 Provides a simulator vanguad which creates a regular grid made of quadrilaterals. More...
class  DgfVanguard
 Provides a simulator vanguard which creates a grid by parsing a Dune Grid Format (DGF) file. More...
class  Restart
 Load or save a state of a problem to/from the harddisk. More...
class  SimplexGridVanguard
 Provides a simulator vanguard which a creates regular grid made of simplices. More...
class  StructuredGridVanguard
 Helper class for grid instantiation of the lens problem. More...
class  UnstructuredGridVanguard
 Provides a simulator vanguard which creates a grid by parsing an unstructured grid file. More...
class  VtkBlackOilBioeffectsModule
 VTK output module for the Bioeffect model's related quantities. More...
struct  VtkBlackOilBioeffectsParams
 Struct holding the parameters for VtkBlackOilBioeffectsModule. 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  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  VtkVectorFunction
 Provides a vector-valued function using Dune::FieldVectors as elements. More...
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  NullConvergenceWriter
 A convergence writer for the Newton method which does nothing. More...
class  GridCommHandleSum
 Data handle for parallel communication which sums up all values are attached to DOFs. More...
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  MpiBuffer
 Simplifies handling of buffers to be used in conjunction with MPI. More...
class  TaskletInterface
 The base class for tasklets. 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  TaskletRunner
 Handles where a given tasklet is run. 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  FlashNewtonMethod
 A Newton solver specific to the PTFlash model. 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  RichardsBoundaryRateVector
 Implements a boundary vector for the fully implicit Richards model. 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  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  aligned_allocator
class  aligned_allocator< void, Alignment >
class  GenericGuard
 A simple class which makes sure that a cleanup function is called once the object is destroyed. More...
class  PffGridVector
 A random-access container which stores data attached to a grid's degrees of freedom in a prefetch friendly manner. More...
class  QuadrialteralQuadratureGeometry
 Quadrature geometry for quadrilaterals. More...
class  Simulator
 Manages the initializing and running of time dependent problems. 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  AquiferAnalytical
class  AquiferCarterTracy
class  AquiferConstantFlux
class  AquiferFetkovich
struct  IsNumericalAquiferCell
struct  IsNumericalAquiferCell< Dune::CpGrid >
class  AquiferInterface
class  AquiferNumerical
class  BlackoilAquiferModel
 Class for handling the blackoil aquifer model. More...
class  SupportsFaceTag
class  SupportsFaceTag< Dune::CpGrid >
class  BlackoilWellModelGeneric
 Class for handling the blackoil well model. More...
class  ActionHandler
 Class handling Action support in simulator. More...
class  LevelCartesianIndexMapper< Dune::ALUGrid< 3, 3, Dune::cube, Dune::nonconforming > >
class  FlowAluGridVanguard
class  AluGridVanguard
 Helper class for grid instantiation of ECL file-format using problems. More...
class  BaseAquiferModel
 The base class which specifies the API of aquifer models. More...
struct  BioeffectsSolutionContainer
 Struct holding MICP extension data. More...
class  BioeffectsContainer
class  BlackoilModel
 A model implementation for three-phase black oil. More...
class  BlackoilModelConvergenceMonitor
 Implementation of penalty cards for three-phase black oil. More...
class  BlackoilModelNldd
 A NLDD implementation for three-phase black oil. More...
struct  BlackoilModelParameters
 Solver parameters for the BlackoilModel. More...
class  BlackoilWellModel
 Class for handling the blackoil well model. More...
class  CollectDataOnIORank
class  GlobalCellIndex
class  DistributeIndexMapping
class  ElementIndexScatterHandle
 Communication handle to scatter the global index. More...
class  ElementIndexHandle
 Communication handle to scatter the global index. More...
class  PackUnPackCellData
class  PackUnPackWellData
class  PackUnPackGroupAndNetworkValues
class  PackUnPackBlockData
class  PackUnPackWBPData
class  PackUnPackWellTestState
class  PackUnPackAquiferData
class  PackUnpackInterRegFlows
class  PackUnpackFlows
class  CompositionalContainer
class  ConvergenceOutputConfiguration
 Parse comma separated option strings into a runtime configuration object for whether to output additional convergence information and, if so, what information to output. More...
class  CpGridVanguard
 Helper class for grid instantiation of ECL file-format using problems. More...
class  DamarisWriter
 Collects necessary output values and pass them to Damaris server processes. More...
class  DummyGradientCalculator
 This is a "dummy" gradient calculator which does not do anything. More...
class  EclGenericWriter
class  EclWriter
 Collects necessary output values and pass it to opm-common's ECL output. More...
class  EquilInitializer
 Computes the initial condition based on the EQUIL keyword from ECL. More...
class  ExtboContainer
class  ConvergenceReportQueue
 Communication channel between thread creating output requests and consumer thread writing those requests to a file. More...
class  ConvergenceOutputThread
 Encapsulating object for thread processing producer's convergence output requests. More...
class  FIBlackOilModel
class  FIPContainer
class  FlowBaseVanguard
 Helper class for grid instantiation of ECL file-format using problems. More...
struct  LookUpCellCentroid
class  LookUpData
class  FlowGenericProblem
 This problem simulates an input file given in the data format used by the commercial ECLiPSE simulator. More...
class  FlowGenericVanguard
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...
class  FlowsContainer
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  GenericCpGridVanguard
class  GenericOutputBlackoilModule
class  LookUpCartesianData
class  GenericThresholdPressure
class  GenericTracerModel
class  BlackOilHybridNewton
 Hybrid Newton solver extension for the black-oil model. More...
struct  Scaler
 Represents scaling information for a feature. More...
struct  Transform
 Represents a transformation applied to a feature. More...
struct  FeatureSpec
 Metadata for a single feature (input or output). More...
class  HybridNewtonConfig
 Configuration for a Hybrid Newton ML model. More...
class  InterRegFlowMapSingleFIP
 Form CSR adjacency matrix representation of inter-region flow rate graph provided as a list of connections between regions on local MPI rank. More...
class  InterRegFlowMap
 Inter-region flow accumulation maps for all region definition arrays. More...
class  LogOutputHelper
class  Main
class  MechContainer
class  MixingRateControls
 Class handling mixing rate controls for a FlowProblemBlackoil. More...
class  NewTranIntensiveQuantities
 Provides the intensive quantities for the ECL flux module. More...
class  NewTranExtensiveQuantities
 Provides the ECL flux module. More...
class  NewTranBaseProblem
 Provides the defaults for the parameters required by the transmissibility based volume flux calculation. More...
struct  NewTranFluxModule
 Specifies a flux module which uses ECL transmissibilities. More...
struct  NonlinearSolverParameters
class  NonlinearSolver
 A nonlinear solver class suitable for general fully-implicit models, as well as pressure, transport and sequential models. More...
class  OutputBlackOilModule
 Output module for the results black oil model writing in ECL binary format. More...
class  OutputCompositionalModule
 Output module for the results black oil model writing in ECL binary format. More...
struct  ZoltanPartitioningControl
 Control parameters for on-rank subdomain partitioning using Zoltan library. More...
class  PolyhedralGridVanguard
 Helper class for grid instantiation of ECL file-format using problems. More...
class  PyMain
class  RegionPhasePoreVolAverage
 Facility for calculating volume-weighted average function values over user-defined regions in parallel. More...
class  ReservoirCouplingMaster
class  ReservoirCouplingSlave
class  ReservoirCouplingSpawnSlaves
class  RFTContainer
 Collection of cell-level RFT data–i.e., pressures and saturations–in cells intersected by wells. More...
class  RSTConv
 Class computing RPTRST CONV output. More...
class  SimulatorConvergenceOutput
 Class handling convergence history output for a simulator. More...
class  SimulatorFullyImplicitBlackoil
 a simulator for the blackoil model More...
struct  SerializableSim
 Abstract interface for simulator serialization ops. More...
class  SimulatorSerializer
 Class handling simulator serialization. More...
struct  PolymerSolutionContainer
 Struct holding polymer extension data. More...
struct  SubDomainIndices
 Representing a part of a grid, in a way suitable for performing local solves. More...
struct  SubDomain
 Representing a part of a grid, in a way suitable for performing local solves. More...
class  TracerContainer
class  TracerModel
 A class which handles tracers as specified in by ECL. More...
class  Transmissibility
class  VtkTracerModule
 VTK output module for the tracer model's parameters. More...
class  AbstractISTLSolver
 Abstract interface for ISTL solvers. More...
class  ISTLSolverGpuBridge
 This class solves the fully implicit black-oil system by solving the reduced system (after eliminating well variables) as a block-structured matrix (one block for all cell variables) for a fixed number of cell variables np . More...
class  ISTLSolver
 This class solves the fully implicit black-oil system by solving the reduced system (after eliminating well variables) as a block-structured matrix (one block for all cell variables) for a fixed number of cell variables np . More...
class  ISTLSolverRuntimeOptionProxy
 ISTLSolverRuntimeOptionProxy selects the appropriate ISTLSolver runtime based on CLI options. More...
struct  FlowLinearSolverParameters
 This class carries all parameters for the NewtonIterationBlackoilInterleaved class. More...
class  WellContributionsCuda
class  WellContributions
 This class serves to eliminate the need to include the WellContributions into the matrix (with –matrix-add-well-contributions=true) for the cusparseSolver or openclSolver. More...
class  GpuBridge
 GpuBridge acts as interface between opm-simulators with the GpuSolvers. More...
class  MultisegmentWellContribution
 This class serves to duplicate the functionality of the MultisegmentWell A MultisegmentWell uses C, D and B and performs y -= (C^T * (D^-1 * (B*x))) B and C are matrices, with M rows and N columns, where N is the size of the matrix. More...
class  WellContributionsOCL
class  HipKernels
class  WellContributionsRocsparse
struct  is_gpu_operator
 Check if a given operator is a GPU operator. More...
struct  is_gpu_matrix
 Check if a given operator is a GPU matrix. More...
class  MatrixBlock
class  PreconditionerFactory
 This is an object factory for creating preconditioners. More...
class  ParallelOverlappingILU0
 A two-step version of an overlapping Schwarz preconditioner using one step ILU0 as. More...
class  ParallelOverlappingILU0Args
class  ParallelRestrictedOverlappingSchwarz
 Block parallel preconditioner. More...
struct  AMGHelper
class  PressureBhpTransferPolicy
class  PressureTransferPolicy
class  PropertyTree
 Hierarchical collection of key/value pairs. More...
struct  StandardPreconditioners< Operator, Comm, typename std::enable_if_t< Opm::is_gpu_operator_v< Operator > > >
struct  StandardPreconditioners< Operator, Dune::Amg::SequentialInformation, typename std::enable_if_t< Opm::is_gpu_operator_v< Operator > > >
struct  AMGSmootherArgsHelper
struct  AMGSmootherArgsHelper< ParallelOverlappingILU0< M, V, V, C > >
struct  StandardPreconditioners
struct  StandardPreconditioners< Operator, Dune::Amg::SequentialInformation, typename std::enable_if_t<!Opm::is_gpu_operator_v< Operator > > >
class  LinearOperatorExtra
 Linear operator wrapper for well model. More...
class  WellModelAsLinearOperator
class  DomainWellModelAsLinearOperator
class  WellModelMatrixAdapter
 Adapter to combine a matrix and another linear operator into a combined linear operator. More...
class  WellModelGhostLastMatrixAdapter
 Adapter to combine a matrix and another linear operator into a combined linear operator. More...
class  GhostLastMatrixAdapter
 Dune linear operator that assumes ghost rows are ordered after interior rows. More...
class  AdaptiveSimulatorTimer
 Simulation timer for adaptive time stepping. More...
class  AdaptiveTimeStepping
class  ConvergenceReport
 Represents the convergence status of the whole simulator, to make it possible to query and store the reasons for convergence failures. More...
struct  StepReport
struct  SimulatorReportSingle
 A struct for returning timing data from a simulator to its caller. More...
struct  SimulatorReport
class  SimulatorTimer
class  SimulatorTimerInterface
 Interface class for SimulatorTimer objects, to be improved. More...
class  SimpleIterationCountTimeStepControl
 A simple iteration count based adaptive time step control. More...
class  PIDTimeStepControl
 PID controller based adaptive time step control as suggested in: Turek and Kuzmin. More...
class  PIDAndIterationCountTimeStepControl
 PID controller based adaptive time step control as above that also takes target iterations into account. More...
class  General3rdOrderController
 General 3rd order controller. More...
class  HardcodedTimeStepControl
 HardcodedTimeStepControl Input generated from summary file using the ert application: More...
class  RelativeChangeInterface
 RelativeChangeInterface. More...
class  TimeStepControlInterface
 TimeStepControlInterface. More...
class  ComponentName
class  DeferredLogger
class  HDF5File
 Class handling simple output to HDF5. More...
class  HDF5Serializer
 Class for (de-)serializing using HDF5. More...
class  ParallelFieldPropsManager
 Parallel frontend to the field properties. More...
class  ParallelEclipseState
 Parallel frontend to the EclipseState. More...
class  ParallelNLDDPartitioningZoltan
 Partition connectivity graph into non-overlapping domains using the Zoltan graph partitioning software package. More...
class  LevelCartesianIndexMapper
class  RelpermDiagnostics
 This class is intend to be a relperm diagnostics, to detect wrong input of relperm table and endpoints. More...
struct  EclEpsScalingPointsInfo
class  SatfuncConsistencyChecks
 Platform for running sets of consistency checks against collection of saturation function end-points. More...
class  VectorVectorDataHandle
 A data handle sending multiple data store in vectors attached to cells. More...
class  ALQState
class  BlackoilWellModelNldd
 Class for handling the blackoil well model in a NLDD solver. More...
class  SparseTable
class  GroupState
class  WellState
 The state of a set of wells, tailored for use by the fully implicit blackoil simulator. More...
class  WellGroupHelpers
class  BlackoilWellModelConstraints
 Class for handling constraints for the blackoil well model. More...
class  WellInterface
class  BlackoilWellModelGasLiftGeneric
class  BlackoilWellModelGasLift
 Class for handling the gaslift in the blackoil well model. More...
class  GasLiftGroupInfo
class  GasLiftSingleWellGeneric
class  GasLiftWellState
class  VFPProperties
 A thin wrapper class that holds one VFPProdProperties and one VFPInjProperties object. More...
class  WellInterfaceGeneric
class  BlackoilWellModelGuideRates
 Class for handling the guide rates in the blackoil well model. More...
class  BlackoilWellModelNlddGeneric
struct  PerforationData
 Static data associated with a well perforation. More...
class  SingleWellState
class  BlackoilWellModelRestart
 Class for restarting the blackoil well model. More...
class  BlackoilWellModelWBP
 Class for handling the blackoil well model. More...
class  ConnectionIndexMap
 Connection index mappings. More...
struct  ConnFiltrateData
class  ConnFracStatistics
 Collection of fracturing statistics measures at the connection level. More...
class  GasLiftCommon
class  PhaseUsageInfo
class  GasLiftSingleWell
class  GasLiftStage2
class  GlobalWellInfo
class  GroupEconomicLimitsChecker
class  GuideRateHandler
 Handles computation and reporting of guide rates for wells and groups. More...
class  ParallelWellInfo
 Class encapsulating some information about parallel wells. More...
class  MultisegmentWell
class  MultisegmentWellEquationAccess
 Class administering assembler access to equation system. More...
class  MultisegmentWellEquations
class  MultisegmentWellPrimaryVariables
class  WellInterfaceIndices
class  MultisegmentWellAssemble
 Class handling assemble of the equation system for MultisegmentWell. More...
class  MultisegmentWellGeneric
class  MultisegmentWellEval
class  SegmentState
class  MultisegmentWellSegments
class  ParallelPAvgCalculator
 Facility for deriving well-level pressure values from selected block-averaging procedures. More...
class  ParallelPAvgDynamicSourceData
 Dynamic source data for block-average pressure calculations. More...
class  ParallelWBPCalculation
 Parallel facility for managing the on-rank collection and global distribution of WBPn source values as well as local calculation and distributed reduction of the inferred WBPn report values. More...
struct  CopyGatherScatter
class  CommunicateAboveBelow
 Class to facilitate getting values associated with the above/below perforation. More...
class  GlobalPerfContainerFactory
 A factory for creating a global data representation for distributed wells. More...
class  CheckDistributedWellConnections
 Class checking that all connections are on active cells. More...
class  PerfData
struct  PerforationRates
class  RatioCalculator
class  RunningStatistics
 Facility for calculating simple sample statistics without having full sample available. More...
struct  RuntimePerforation
 Simple model of a well connection created at runtime, possibly as a result of a geo-mechanical fracturing process. More...
class  StandardWell
class  StandardWellEquationAccess
 Class administering assembler access to equation system. More...
class  StandardWellEquations
class  StandardWellPrimaryVariables
 Class holding primary variables for StandardWell. More...
class  WellInterfaceFluidSystem
class  StandardWellAssemble
 Class handling assemble of the equation system for StandardWell. More...
class  StandardWellConnections
class  StandardWellEval
class  VFPHelpers
class  VFPInjProperties
class  VFPProdProperties
 Class which linearly interpolates BHP as a function of rate, tubing head pressure, water fraction, gas fraction, and artificial lift for production VFP tables, and similarly the BHP as a function of the rate and tubing head pressure. More...
class  WellAssemble
class  WellBhpThpCalculator
 Class for computing BHP limits. More...
class  WellConnectionAuxiliaryModule
class  WellConstraints
 Class for computing well group constraints. More...
class  WellContainer
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  WellProdIndexCalculator
 Collect per-connection static information to enable calculating connection-level or well-level productivity index values when incorporating dynamic phase mobilities. More...
class  WellTest
 Class for performing well tests. More...
struct  WellTracerRate
struct  MSWellTracerRate
struct  WGState
class  GpuResult
 This class is based on InverseOperatorResult struct from dune/istl/solver.hh It is needed to prevent a compile error in basearray.hh, the nvcc compiler might not support all features in there. More...
class  GpuSolver
 This class serves to simplify choosing between different backend solvers, such as cusparseSolver and openclSolver This class is abstract, no instantiations can of it can be made, only of its children. More...
class  OpenclKernels

Typedefs

template<class TypeTag>
using RichardsExtensiveQuantities = MultiPhaseBaseExtensiveQuantities<TypeTag>
 Calculates and stores the data which is required to calculate the flux of fluid over a face of a finite volume.
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(...))
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(...))
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
template<class Scalar>
using MatLaw1 = EclMaterialLaw::Manager<ThreePhaseMaterialTraits<Scalar,0,1,2,true,true>>
template<class Scalar>
using MatLaw2 = EclMaterialLaw::Manager<ThreePhaseMaterialTraits<Scalar,0,1,2,false,true>>
template<class T>
using FS = BlackOilFluidSystem<T, BlackOilDefaultFluidSystemIndices>
 Macro INSTANTIATE_TYPE_INDICES is used to to instantiate a template class with various predefined index configurations.
template<class Scalar, std::size_t Size>
using BFV = Dune::BlockVector<Dune::FieldVector<Scalar,Size>>
typedef Dune::InverseOperatorResult InverseOperatorResult
using CommSeq = Dune::Amg::SequentialInformation
template<class Scalar, int Dim>
using OpFSeq
template<class Scalar, int Dim>
using OpBSeq
template<class Scalar, int Dim, bool overlap>
using OpW
template<class Scalar, int Dim, bool overlap>
using OpWG
template<class Scalar>
using dIter = typename std::vector<Scalar>::iterator
template<class Scalar>
using cdIter = typename std::vector<Scalar>::const_iterator
using RegionId = int
template<class Scalar>
using AvgP
template<class Scalar>
using AvgPMap = std::map<std::string, std::unique_ptr<AvgP<Scalar>>>

Enumerations

enum class  ElementType { none , simplex , cube }
 The types of reference elements available.
enum class  NonlinearRelaxType { Dampen , SOR }
enum class  DomainSolveApproach { Jacobi , GaussSeidel }
 Solver approach for NLDD.
enum class  DomainOrderingMeasure { AveragePressure , MaxPressure , Residual }
 Measure to use for domain ordering.
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 ,
  General3rdOrder
}
enum class  ToleranceTestVersions { Standard , ControlErrorFiltering }
enum class  InternalControlVersions { IController , General3rdOrder }
enum class  FileOutputMode { OUTPUT_NONE = 0 , OUTPUT_LOG_ONLY = 1 , OUTPUT_ALL = 3 }
enum class  SolverStatus

Functions

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.
template<class TypeTag, template< class, class > class Property>
constexpr auto getPropValue ()
 get the value data member of a property
template<class Scalar>
constexpr int signum (Scalar val)
 Template function which returns the sign of a floating point value.
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.
std::string simulatorOutputDir ()
 Determine and check the configured directory for simulation output.
template<class Scalar>
std::vector< Scalar > readTimeStepFile (const std::string &file)
 Read explicitly defined time steps from file.
template std::vector< double > readTimeStepFile (const std::string &)
std::string breakLines (const std::string &msg, int indentWidth, int maxWidth)
 Break up a string in lines suitable for terminal output.
int getTtyWidth ()
 Get the width of the tty we are attached to.
void assignResetTerminalSignalHandlers ()
 Assign signal handlers that reset the terminal on errors.
void resetTerminal ()
 Resets the current TTY to a usable state if the program was aborted.
void resetTerminal (int signum)
 Resets the current TTY to a usable state if the program was interrupted by SIGABRT or SIGINT.
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 nthreads, std::string_view moduleVersionName)
void printFlowTrailer (int nprocs, int nthreads, const double total_setup_time, const double deck_read_time, const SimulatorReport &report)
void registerDamarisParameters ()
 Register damaris runtime parameters.
template<>
void FlowGenericVanguard::serializeOp< Serializer< Serialization::MemPacker > > (Serializer< Serialization::MemPacker > &serializer)
template<class Scalar>
void registerFlowProblemParameters ()
template void registerFlowProblemParameters< double > ()
template<class TypeTag>
int flowMain (int argc, char **argv, bool outputCout, bool outputFiles)
void reportNlddStatistics (const std::vector< SimulatorReport > &domain_reports, const SimulatorReport &local_report, const bool output_cout, const Parallel::Communication &comm)
 Reports NLDD statistics after simulation.
template<class Grid, class Domain, class ElementMapper, class CartMapper>
void writeNonlinearIterationsPerCell (const std::filesystem::path &odir, const std::vector< Domain > &domains, const std::vector< SimulatorReport > &domain_reports, const Grid &grid, const ElementMapper &elementMapper, const CartMapper &cartMapper)
 Writes the number of nonlinear iterations per cell to a file in ResInsight compatible format.
template<class Grid, class Domain, class ElementMapper, class CartMapper>
void writePartitions (const std::filesystem::path &odir, const std::vector< Domain > &domains, const Grid &grid, const ElementMapper &elementMapper, const CartMapper &cartMapper)
 Writes the partition vector to a file in ResInsight compatible format and a partition file for each rank.
template<class Grid, class Domain>
void printDomainDistributionSummary (const std::vector< int > &partition_vector, const std::vector< Domain > &domains, SimulatorReport &local_reports_accumulated, std::vector< SimulatorReport > &domain_reports_accumulated, const Grid &grid, int num_wells)
 Prints a summary of domain distribution across ranks.
template<class Grid, class Domain>
std::vector< int > reconstitutePartitionVector (const std::vector< Domain > &domains, const Grid &grid)
 Reconstructs the partition vector that maps each grid cell to its corresponding domain ID, accounting for domain distribution across MPI ranks.
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, const int num_neighbor_levels)
 Partition rank's interior cells.
std::pair< std::vector< int >, int > partitionCellsFromFile (const std::string &filename, const int num_cells)
 Read a partitioning from file, assumed to contain one number per cell, its partition number.
std::pair< std::vector< int >, int > partitionCellsSimple (const int num_cells, const int num_domains)
 Trivially simple partitioner assigning partitions en bloc, consecutively by cell index.
template<class TypeTag>
std::unique_ptr< FlowMain< TypeTag > > flowMainInit (int argc, char **argv, bool outputCout, bool outputFiles)
DomainOrderingMeasure domainOrderingMeasureFromString (const std::string_view measure)
template<class BridgeMatrix>
int replaceZeroDiagonal (BridgeMatrix &mat, std::vector< typename BridgeMatrix::size_type > &diag_indices)
template<class BridgeMatrix>
void checkMemoryContiguous (const BridgeMatrix &mat)
template<class Graph>
std::tuple< std::vector< int >, int, std::vector< std::size_t > > colorVerticesWelshPowell (const Graph &graph)
 Color the vertices of graph.
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.
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
template<class M>
Opm::SparseTable< std::size_t > getMatrixRowColoring (const M &matrix, ColoringType coloringType)
 This coloring algorithm interprets the sparsity structure of a matrix as a graph.
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.
template<class Communication>
void extendCommunicatorWithWells (const Communication &comm, std::shared_ptr< Communication > &commRW, const int nw)
PropertyTree setupPropertyTree (FlowLinearSolverParameters p, bool linearSolverMaxIterSet, bool linearSolverReductionSet)
 Set up a property tree intended for FlexibleSolver by either reading the tree from a JSON file or creating a tree giving the default solver and preconditioner.
std::string getSolverString (const FlowLinearSolverParameters &p)
PropertyTree setupCPRW (const std::string &, 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)
template<typename C>
auto setUseFixedOrder (C &criterion, bool booleanValue) -> decltype(criterion.setUseFixedOrder(booleanValue))
template<typename C>
void setUseFixedOrder (C &,...)
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)
std::string to_string (const ConvergenceReport::PenaltyCard &pc)
template<class Scalar>
void registerEclTimeSteppingParameters ()
template void registerEclTimeSteppingParameters< double > ()
ConvergenceReport gatherConvergenceReport (const ConvergenceReport &local_report, Parallel::Communication communicator)
 Create a global convergence report combining local (per-process) reports.
Opm::DeferredLogger gatherDeferredLogger (const Opm::DeferredLogger &local_deferredlogger, Opm::Parallel::Communication communicator)
 Create a global log combining local logs.
std::string moduleVersionName ()
 Return the version name of the module, for example "2015.10" (for a release branch) or "2016.04-pre" (for a master branch).
std::string 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.
std::string 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)".
std::string compileTimestamp ()
 Return a string "dd-mm-yyyy at HH::MM::SS hrs" which is the time the binary was compiled.
RestartValue loadParallelRestart (const EclipseIO *eclIO, Action::State &actionState, SummaryState &summaryState, const std::vector< Opm::RestartKey > &solutionKeys, const std::vector< Opm::RestartKey > &extraKeys, Parallel::Communication comm)
data::Solution loadParallelRestartSolution (const EclipseIO *eclIO, const std::vector< Opm::RestartKey > &solutionKeys, Parallel::Communication comm, const int step)
RestartValue loadParallelRestart (const EclipseIO *eclIO, Action::State &actionState, SummaryState &summaryState, const std::vector< RestartKey > &solutionKeys, const std::vector< RestartKey > &extraKeys, Parallel::Communication comm)
data::Solution loadParallelRestartSolution (const EclipseIO *eclIO, const std::vector< RestartKey > &solutionKeys, Parallel::Communication comm, const int step)
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.
template<class T>
void eclBroadcast (Parallel::Communication comm, T &data)
template void eclBroadcast (Parallel::Communication, TransMult &)
template void eclBroadcast (Parallel::Communication, Schedule &)
template void eclBroadcast (Parallel::Communication, SummaryConfig &)
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, bool keepKeywords, const std::optional< int > &outputInterval, bool slaveMode)
 Reads the deck and creates all necessary objects if needed.
void verifyValidCellGeometry (Parallel::Communication comm, const EclipseState &eclipseState)
std::map< std::string, std::string > setupZoltanParams (const std::string &conf, const std::optional< double > &edgeSizeThreshold={})
 Form collection of Zoltan partitioning parameters from named configuration.
std::map< std::string, std::string > setupMetisParams (const std::string &conf)
 Form collection of METIS partitioning parameters from named configuration.
std::string simTimeToString (const std::time_t start_time, const double sim_time)
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)
 Compute connection-level productivity index values for all connections in a well.
template<class Scalar>
Scalar wellProdIndStandard (const WellProdIndexCalculator< Scalar > &wellPICalc, const std::vector< Scalar > &connMobility)
 Compute well-level productivity index value.

Variables

template<class TypeTag, bool enableBioeffectsV>
BlackOilBioeffectsParams< typename BlackOilBioeffectsModule< TypeTag, enableBioeffectsV >::Scalar > BlackOilBioeffectsModule< TypeTag, enableBioeffectsV >::params_
template<class TypeTag, bool enableBrineV>
BlackOilBrineParams< typename BlackOilBrineModule< TypeTag, enableBrineV >::Scalar > BlackOilBrineModule< TypeTag, enableBrineV >::params_
template<typename TypeTag>
bool BlackOilDiffusionModule< TypeTag, true >::use_mole_fraction_
template<class TypeTag, bool enableExtboV>
BlackOilExtboParams< typename BlackOilExtboModule< TypeTag, enableExtboV >::Scalar > BlackOilExtboModule< TypeTag, enableExtboV >::params_
template<class TypeTag, bool enableFoam>
BlackOilFoamParams< typename BlackOilFoamModule< TypeTag, enableFoam >::Scalar > BlackOilFoamModule< TypeTag, enableFoam >::params_
template<class TypeTag, bool enablePolymerV>
BlackOilPolymerParams< typename BlackOilPolymerModule< TypeTag, enablePolymerV >::Scalar > BlackOilPolymerModule< TypeTag, enablePolymerV >::params_
template<class TypeTag, bool enableSolventV>
BlackOilSolventParams< typename BlackOilSolventModule< TypeTag, enableSolventV >::Scalar > BlackOilSolventModule< TypeTag, enableSolventV >::params_
template<class Scalar>
std::array< typename VcfvScvGeometries< Scalar, 1, ElementType::cube >::ScvLocalGeometry, VcfvScvGeometries< Scalar, 1, ElementType::cube >::numScv > VcfvScvGeometries< Scalar, 1, ElementType::cube >::scvGeoms_ {}
template<class Scalar>
std::array< typename VcfvScvGeometries< Scalar, 2, ElementType::simplex >::ScvLocalGeometry, VcfvScvGeometries< Scalar, 2, ElementType::simplex >::numScv > VcfvScvGeometries< Scalar, 2, ElementType::simplex >::scvGeoms_ {}
template<class Scalar>
std::array< typename VcfvScvGeometries< Scalar, 2, ElementType::cube >::ScvLocalGeometry, VcfvScvGeometries< Scalar, 2, ElementType::cube >::numScv > VcfvScvGeometries< Scalar, 2, ElementType::cube >::scvGeoms_ {}
template<class Scalar>
std::array< typename VcfvScvGeometries< Scalar, 3, ElementType::simplex >::ScvLocalGeometry, VcfvScvGeometries< Scalar, 3, ElementType::simplex >::numScv > VcfvScvGeometries< Scalar, 3, ElementType::simplex >::scvGeoms_ {}
template<class Scalar>
std::array< typename VcfvScvGeometries< Scalar, 3, ElementType::cube >::ScvLocalGeometry, VcfvScvGeometries< Scalar, 3, ElementType::cube >::numScv > VcfvScvGeometries< Scalar, 3, ElementType::cube >::scvGeoms_ {}
std::optional< std::function< std::vector< int >(const Dune::CpGrid &)> > externalLoadBalancer
 optional functor returning external load balancing information
template<class Scalar>
int HipKernels< Scalar >::verbosity = 0
template<class Scalar>
bool HipKernels< Scalar >::initialized = false
auto noZero

Detailed Description

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

Typedef Documentation

◆ AvgP

template<class Scalar>
using Opm::AvgP
Initial value:
RegionAverageCalculator::
AverageRegionalPressure<BlackOilFluidSystem<Scalar>,std::vector<int>>

◆ FS

template<class T>
using Opm::FS = BlackOilFluidSystem<T, BlackOilDefaultFluidSystemIndices>

Macro INSTANTIATE_TYPE_INDICES is used to to instantiate a template class with various predefined index configurations.

Parameters
CLASSThe name of the class template to instantiate.
TThe scalar type (e.g., double or float) used in the instantiation.

The macro internally uses INSTANTIATE_CLASS to instantiate the provided class template with combinations of BlackOilOnePhaseIndices, BlackOilTwoPhaseIndices, and BlackOilVariableAndEquationIndices (three phase variants). These indices represent different configurations for different physical systems to be simulated.

\usage Example usage in a source file:

#include <opm/simulators/utils/InstantiationIndicesMacros.hpp>
INSTANTIATE_TYPE_INDICES(MyClass, double)
#if FLOW_INSTANTIATE_FLOAT
INSTANTIATE_TYPE_INDICES(MyClass, float)
#endif

This will instantiate MyClass with all predefined index configurations for both double and float scalar types (if FLOW_INSTANTIATE_FLOAT is defined).

◆ OpBSeq

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

◆ OpFSeq

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

◆ OpW

template<class Scalar, int Dim, bool overlap>
using Opm::OpW
Initial value:
Dune::BlockVector<Dune::FieldVector<Scalar, Dim>>,
Dune::BlockVector<Dune::FieldVector<Scalar, Dim>>>
Adapter to combine a matrix and another linear operator into a combined linear operator.
Definition WellOperators.hpp:225

◆ OpWG

template<class Scalar, int Dim, bool overlap>
using Opm::OpWG
Initial value:
Dune::BlockVector<Dune::FieldVector<Scalar, Dim>>,
Dune::BlockVector<Dune::FieldVector<Scalar, Dim>>,
overlap>
Adapter to combine a matrix and another linear operator into a combined linear operator.
Definition WellOperators.hpp:299

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.

◆ 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)

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.

◆ 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

◆ 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.

◆ 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
commParallel communicator !
eclStateEclipseState to broadcast !
scheduleSchedule to broadcast !
summaryConfigSummaryConfig to broadcast !
udqStateUDQ state to broadcast !
actionStateAction state to broadcast !
wtestStateWell test state to broadcast

◆ getMatrixRowColoring()

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

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.

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

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

◆ 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"

◆ 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)".

◆ 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,
const int num_neighbor_levels )

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]possibleFutureConnectionsMap of possible future connections.
[in]zoltan_ctrlControl parameters for local Zoltan-based partitioning. Not used unless
method == "zoltan"
.
[in]num_neighbor_levelsNumber of neighbor levels to consider for partitioning. 0 means only direct well connections are considered, 1 means one level of neighbors, etc.
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.

◆ 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.

◆ printDomainDistributionSummary()

template<class Grid, class Domain>
void Opm::printDomainDistributionSummary ( const std::vector< int > & partition_vector,
const std::vector< Domain > & domains,
SimulatorReport & local_reports_accumulated,
std::vector< SimulatorReport > & domain_reports_accumulated,
const Grid & grid,
int num_wells )

Prints a summary of domain distribution across ranks.

Parameters
partition_vectorThe partition vector
domainsThe subdomains
local_reports_accumulatedThe accumulated reports per rank
domain_reports_accumulatedThe accumulated reports per domain
gridThe grid
num_wellsThe number of wells

◆ 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,
bool keepKeywords,
const std::optional< int > & outputInterval,
bool slaveMode )

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>
template std::vector< float > Opm::readTimeStepFile ( const std::string & file)

Read explicitly defined time steps from file.

Parameters
fileFile to read

◆ reconstitutePartitionVector()

template<class Grid, class Domain>
std::vector< int > Opm::reconstitutePartitionVector ( const std::vector< Domain > & domains,
const Grid & grid )

Reconstructs the partition vector that maps each grid cell to its corresponding domain ID, accounting for domain distribution across MPI ranks.

Parameters
domainsVector of domains
gridThe grid
Returns
The reconstructed partition vector

◆ reportNlddStatistics()

void Opm::reportNlddStatistics ( const std::vector< SimulatorReport > & domain_reports,
const SimulatorReport & local_report,
const bool output_cout,
const Parallel::Communication & comm )

Reports NLDD statistics after simulation.

Parameters
domain_reportsThe accumulated reports per domain
local_reportThe accumulated reports per rank
output_coutWhether to output to cout
commThe communication object for parallel runs

◆ resetTerminal()

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

◆ setupMetisParams()

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

Form collection of METIS partitioning parameters from named configuration.

Parameters
[in]confNamed METIS configuration. Must either be the name of a JSON configuration file with the filename extension ".json", or the known configuration name "default" which uses the built-in default partitioning parameters.
Returns
Collection of METIS partitioning parameters.

◆ setupPropertyTree()

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

Set up a property tree intended for FlexibleSolver by either reading the tree from a JSON file or creating a tree giving the default solver and preconditioner.

If the latter, the parameters –linear-solver-reduction, –linear-solver-maxiter and –linear-solver-verbosity are used, but if reading from file the data in the JSON file will override any other options.

◆ setupZoltanParams()

std::map< std::string, std::string > Opm::setupZoltanParams ( const std::string & conf,
const std::optional< double > & edgeSizeThreshold = {} )

Form collection of Zoltan partitioning parameters from named configuration.

Parameters
[in]confNamed Zoltan configuration. Must either be the name of a JSON configuration file with the filename extension ".json", or one of the known configuration names

-* graph Generates configuration parameters for the "GRAPH" load-balancing method, using the "PHG" graph package.

-* hypergraph Generates configuration parameters for the "HYPERGRAPH" load-balancing method.

-* scotch Generates configuration parameters for the "GRAPH" load-balancing method, using the "Scotch" graph package.

Parameters
[in]edgeSizeThresholdLow-level Zoltan partitioning control parameter for when to omit a hyperedge in a hypergraph. Fraction in the range [0,1] representing a threshold above which to omit discard hyperedges. Used for conf="graph" and conf="hypergraph". Nullopt to use the built-in default value.
Returns
Collection of Zoltan partitioning parameters.

◆ signum()

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

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

◆ 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.

◆ writeNonlinearIterationsPerCell()

template<class Grid, class Domain, class ElementMapper, class CartMapper>
void Opm::writeNonlinearIterationsPerCell ( const std::filesystem::path & odir,
const std::vector< Domain > & domains,
const std::vector< SimulatorReport > & domain_reports,
const Grid & grid,
const ElementMapper & elementMapper,
const CartMapper & cartMapper )

Writes the number of nonlinear iterations per cell to a file in ResInsight compatible format.

Parameters
odirThe output directory
domainsThe subdomains
domain_reportsThe accumulated reports per domain
gridThe grid
elementMapperThe element mapper
cartMapperThe cartesian index mapper

◆ writePartitions()

template<class Grid, class Domain, class ElementMapper, class CartMapper>
void Opm::writePartitions ( const std::filesystem::path & odir,
const std::vector< Domain > & domains,
const Grid & grid,
const ElementMapper & elementMapper,
const CartMapper & cartMapper )

Writes the partition vector to a file in ResInsight compatible format and a partition file for each rank.

Parameters
odirThe output directory
domainsVector of domains
gridThe grid
elementMapperThe element mapper
cartMapperThe cartesian index mapper

Variable Documentation

◆ externalLoadBalancer

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

optional functor returning external load balancing information

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

◆ noZero

auto Opm::noZero
Initial value:
= [](auto val)
{
if (val == decltype(val){0})
return decltype(val){1};
return val;
}