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

  CLASS | The name of the class template to instantiate.
  T | The 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:
WellModelMatrixAdapter<Dune::BCRSMatrix<MatrixBlock<Scalar, Dim, Dim>>,
Dune::BlockVector<Dune::FieldVector<Scalar, Dim>>,
Dune::BlockVector<Dune::FieldVector<Scalar, Dim>>>
Opm::WellModelMatrixAdapter
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:
WellModelGhostLastMatrixAdapter<Dune::BCRSMatrix<MatrixBlock<Scalar, Dim, Dim>>,
Dune::BlockVector<Dune::FieldVector<Scalar, Dim>>,
Dune::BlockVector<Dune::FieldVector<Scalar, Dim>>,
overlap>
Opm::WellModelGhostLastMatrixAdapter
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 | sum(dropped entries)
MILU_2 | sum(dropped entries)
MILU_3 | sum(|dropped entries|)
MILU_4 | 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

  container | The container whose values to accumulate.
  maskContainer | null 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

  msg | String to print
  indentWidth | Size of indent
  maxWidth | Maximum 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

  graph | The 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] | wellPICalc | Productivity index calculator.
  [in] | connMobility | Phase 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

  comm | Parallel communicator !
  eclState | EclipseState to broadcast !
  schedule | Schedule to broadcast !
  summaryConfig | SummaryConfig to broadcast !
  udqState | UDQ state to broadcast !
  actionState | Action state to broadcast !
  wtestState | Well 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

  matrix | A dune sparse matrix
  coloringType | The 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]

  method

  Partitioning 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_domains | Number of subdomains. Not used when explicit partitioning is input from a file.
  [in] | comm | MPI Communication object for exchanging globally unique cell IDs and for communication within the Zoltan library. Not used unless method == "zoltan" .
  [in] | grid_view | View of rank's cells, both interior and overlap cells. Not used unless method == "zoltan" .
  [in] | wells | Collection of simulation model wells. Not used unless method == "zoltan" .
  [in] | possibleFutureConnections | Map of possible future connections.
  [in] | zoltan_ctrl | Control parameters for local Zoltan-based partitioning. Not used unless method == "zoltan" .
  [in] | num_neighbor_levels | Number 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_vector | The partition vector
  domains | The subdomains
  local_reports_accumulated | The accumulated reports per rank
  domain_reports_accumulated | The accumulated reports per domain
  grid | The grid
  num_wells | The 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

  file | File 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

  domains | Vector of domains
  grid | The 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_reports | The accumulated reports per domain
  local_report | The accumulated reports per rank
  output_cout | Whether to output to cout
  comm | The 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] | conf | Named 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] | conf | Named 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] | edgeSizeThreshold | Low-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] | wellPICalc | Productivity index calculator.
  [in] | connMobility | Phase 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

  odir | The output directory
  domains | The subdomains
  domain_reports | The accumulated reports per domain
  grid | The grid
  elementMapper | The element mapper
  cartMapper | The 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

  odir | The output directory
  domains | Vector of domains
  grid | The grid
  elementMapper | The element mapper
  cartMapper | The 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;
}