Opm Namespace Reference

Namespaces

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

Classes

class  ActionHandler
 Class handling Action support in simulator. More...
 
class  AdaptiveSimulatorTimer
 Simulation timer for adaptive time stepping. More...
 
class  AdaptiveTimeStepping
 
class  ALQState
 
class  AluGridVanguard
 Helper class for grid instantiation of ECL file-format using problems. More...
 
struct  AMGHelper
 
struct  AMGSmootherArgsHelper
 
struct  AMGSmootherArgsHelper< Opm::ParallelOverlappingILU0< M, V, V, C > >
 
class  AquiferAnalytical
 
class  AquiferCarterTracy
 
class  AquiferConstantFlux
 
class  AquiferFetkovich
 
class  AquiferInterface
 
class  AquiferNumerical
 
class  BaseAquiferModel
 The base class which specifies the API of aquifer models. More...
 
class  BdaBridge
 BdaBridge acts as interface between opm-simulators with the BdaSolvers. More...
 
class  BlackoilAquiferModel
 Class for handling the blackoil aquifer model. More...
 
class  BlackoilModel
 
class  BlackoilModelNldd
 A NLDD implementation for three-phase black oil. More...
 
struct  BlackoilModelParameters
 Solver parameters for the BlackoilModel. More...
 
class  BlackoilPhases
 
class  BlackoilWellModel
 Class for handling the blackoil well model. More...
 
class  BlackoilWellModelConstraints
 Class for handling constraints for the blackoil well model. More...
 
class  BlackoilWellModelGeneric
 Class for handling the blackoil well model. More...
 
class  BlackoilWellModelGuideRates
 Class for handling the guide rates in the blackoil well model. More...
 
class  BlackoilWellModelRestart
 Class for restarting the blackoil well model. More...
 
class  CheckDistributedWellConnections
 Class checking that all connections are on active cells. More...
 
class  CollectDataOnIORank
 
class  CommunicateAboveBelow
 Class to facilitate getting values associated with the above/below perforation. More...
 
class  ComponentName
 
struct  ConnFiltrateData
 
class  ConvergenceOutputConfiguration
 
class  ConvergenceOutputThread
 
class  ConvergenceReport
 
class  ConvergenceReportQueue
 
class  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  DeferredLogger
 
class  DistributeIndexMapping
 
class  DummyGradientCalculator
 This is a "dummy" gradient calculator which does not do anything. More...
 
class  EcfvDiscretization
 
class  EclGenericWriter
 
class  EclWriter
 Collects necessary output values and pass it to opm-output. More...
 
class  ElementIndexHandle
 Communication handle to scatter the global index. More...
 
class  ElementIndexScatterHandle
 Communication handle to scatter the global index. More...
 
class  EquilInitializer
 Computes the initial condition based on the EQUIL keyword from ECL. More...
 
class  FIBlackOilModel
 
class  FlowAluGridVanguard
 
class  FlowBaseVanguard
 Helper class for grid instantiation of ECL file-format using problems. More...
 
class  FlowGenericProblem
 This problem simulates an input file given in the data format used by the commercial ECLiPSE simulator. More...
 
class  FlowGenericVanguard
 
struct  FlowLinearSolverParameters
 This class carries all parameters for the NewtonIterationBlackoilInterleaved class. More...
 
class  FlowMain
 
class  FlowProblem
 This problem simulates an input file given in the data format used by the commercial ECLiPSE simulator. More...
 
struct  FlowsData
 Simple container for FLOWS data. More...
 
class  FlowThresholdPressure
 This class calculates the threshold pressure for grid faces according to the Eclipse Reference Manual. More...
 
class  GasLiftCommon
 
class  GasLiftGroupInfo
 
class  GasLiftSingleWell
 
class  GasLiftSingleWellGeneric
 
class  GasLiftStage2
 
class  GasLiftWellState
 
class  GenericCpGridVanguard
 
class  GenericOutputBlackoilModule
 
class  GenericThresholdPressure
 
class  GenericTracerModel
 
class  GlobalCellIndex
 
class  GlobalPerfContainerFactory
 A factory for creating a global data representation for distributed wells. More...
 
class  GlobalWellInfo
 
class  GroupEconomicLimitsChecker
 
class  GroupState
 
class  HardcodedTimeStepControl
 
class  HDF5File
 Class handling simple output to HDF5. More...
 
class  HDF5Serializer
 Class for (de-)serializing using HDF5. More...
 
class  InterRegFlowMap
 Inter-region flow accumulation maps for all region definition arrays. More...
 
class  InterRegFlowMapSingleFIP
 
struct  IsNumericalAquiferCell
 
struct  IsNumericalAquiferCell< Dune::CpGrid >
 
class  ISTLSolver
 
class  ISTLSolverBda
 
class  LinearOperatorExtra
 
class  LogOutputHelper
 
class  LookUpCartesianData
 
struct  LookUpCellCentroid
 
class  LookUpData
 
class  Main
 
class  MatrixBlock
 
struct  MICPSolutionContainer
 Struct holding MICP extension data. More...
 
class  MixingRateControls
 Class handling mixing rate controls for a FlowProblem. More...
 
class  MultisegmentWell
 
class  MultisegmentWellAssemble
 Class handling assemble of the equation system for MultisegmentWell. More...
 
class  MultisegmentWellContribution
 
class  MultisegmentWellEquationAccess
 
class  MultisegmentWellEquations
 
class  MultisegmentWellEval
 
class  MultisegmentWellGeneric
 
class  MultisegmentWellPrimaryVariables
 
class  MultisegmentWellSegments
 
class  NewTranBaseProblem
 Provides the defaults for the parameters required by the transmissibility based volume flux calculation. More...
 
class  NewTranExtensiveQuantities
 Provides the ECL flux module. More...
 
struct  NewTranFluxModule
 Specifies a flux module which uses ECL transmissibilities. More...
 
class  NewTranIntensiveQuantities
 Provides the intensive quantities for the ECL flux module. More...
 
class  NonlinearSolver
 
class  OutputBlackOilModule
 Output module for the results black oil model writing in ECL binary format. More...
 
class  PackUnPackAquiferData
 
class  PackUnPackBlockData
 
class  PackUnPackCellData
 
class  PackUnpackFlows
 
class  PackUnPackGroupAndNetworkValues
 
class  PackUnpackInterRegFlows
 
class  PackUnPackWBPData
 
class  PackUnPackWellData
 
class  PackUnPackWellTestState
 
class  ParallelEclipseState
 Parallel frontend to the EclipseState. More...
 
class  ParallelFieldPropsManager
 Parallel frontend to the field properties. More...
 
class  ParallelNLDDPartitioningZoltan
 
class  ParallelOverlappingILU0
 A two-step version of an overlapping Schwarz preconditioner using one step ILU0 as. More...
 
class  ParallelOverlappingILU0Args
 
class  ParallelPAvgCalculator
 
class  ParallelPAvgDynamicSourceData
 
class  ParallelRestrictedOverlappingSchwarz
 Block parallel preconditioner. More...
 
class  ParallelWBPCalculation
 
class  ParallelWellInfo
 Class encapsulating some information about parallel wells. More...
 
class  PerfData
 
struct  PerforationData
 Static data associated with a well perforation. More...
 
struct  PerforationRates
 
struct  PhaseUsage
 
class  PIDAndIterationCountTimeStepControl
 
class  PIDTimeStepControl
 
class  PolyhedralGridVanguard
 Helper class for grid instantiation of ECL file-format using problems. More...
 
struct  PolymerSolutionContainer
 Struct holding polymer extension data. More...
 
class  PreconditionerFactory
 
class  PressureBhpTransferPolicy
 
class  PressureTransferPolicy
 
class  PropertyTree
 
class  PropsDataHandle
 A Data handle to communicate the field properties during load balance. More...
 
class  RegionPhasePoreVolAverage
 
class  RelativeChangeInterface
 
class  RelpermDiagnostics
 
class  RSTConv
 Class computing RPTRST CONV output. More...
 
class  SegmentState
 
struct  SerializableSim
 Abstract interface for simulator serialization ops. More...
 
class  SimpleIterationCountTimeStepControl
 
class  SimulatorFullyImplicitBlackoil
 a simulator for the blackoil model More...
 
struct  SimulatorReport
 
struct  SimulatorReportSingle
 A struct for returning timing data from a simulator to its caller. More...
 
class  SimulatorSerializer
 Class handling simulator serialization. More...
 
class  SimulatorTimer
 
class  SimulatorTimerInterface
 Interface class for SimulatorTimer objects, to be improved. More...
 
class  SingleWellState
 
struct  StandardPreconditioners
 
struct  StandardPreconditioners< Operator, Dune::Amg::SequentialInformation >
 
class  StandardWell
 
class  StandardWellAssemble
 Class handling assemble of the equation system for StandardWell. More...
 
class  StandardWellConnections
 
class  StandardWellEquationAccess
 
class  StandardWellEquations
 
class  StandardWellEval
 
class  StandardWellPrimaryVariables
 Class holding primary variables for StandardWell. More...
 
struct  StepReport
 
struct  SubDomain
 
class  SupportsFaceTag
 
class  SupportsFaceTag< Dune::CpGrid >
 
class  TimeStepControlInterface
 
class  TracerModel
 A class which handles tracers as specified in by ECL. More...
 
struct  TracerSolverSelector
 
class  Transmissibility
 
class  VectorVectorDataHandle
 A data handle sending multiple data store in vectors attached to cells. More...
 
class  VFPInjProperties
 
class  VFPProdProperties
 
class  VFPProperties
 
class  VtkTracerModule
 VTK output module for the tracer model's parameters. More...
 
class  WellAssemble
 
class  WellBhpThpCalculator
 Class for computing BHP limits. More...
 
class  WellConnectionAuxiliaryModule
 
class  WellConnectionAuxiliaryModuleGeneric
 
class  WellConstraints
 Class for computing well group constraints. More...
 
class  WellContainer
 
class  WellContributions
 
class  WellContributionsCuda
 
class  WellContributionsOCL
 
class  WellContributionsRocsparse
 
class  WellConvergence
 
class  WellFilterCake
 Class for well calculations related to filter cakes. More...
 
class  WellGroupConstraints
 Class for computing well group constraints. More...
 
class  WellGroupControls
 Class for computing well group controls. More...
 
class  WellInterface
 
class  WellInterfaceFluidSystem
 
class  WellInterfaceGeneric
 
class  WellInterfaceIndices
 
class  WellModelAsLinearOperator
 
class  WellModelGhostLastMatrixAdapter
 Adapter to combine a matrix and another linear operator into a combined linear operator. More...
 
class  WellModelMatrixAdapter
 Adapter to combine a matrix and another linear operator into a combined linear operator. More...
 
class  WellProdIndexCalculator
 
class  WellState
 
class  WellTest
 Class for performing well tests. More...
 
struct  WGState
 
struct  ZoltanPartitioningControl
 

Typedefs

using IndexMapType = std::vector< int >
 
using IndexMapStorageType = std::vector< IndexMapType >
 
using P2PCommunicatorType = Dune::Point2PointCommunicator< Dune::SimpleMessageBuffer >
 
using MessageBufferType = typename P2PCommunicatorType::MessageBufferType
 
typedef Dune::InverseOperatorResult InverseOperatorResult
 
using CommSeq = Dune::Amg::SequentialInformation
 
template<int Dim>
using OpFSeq = Dune::MatrixAdapter< Dune::BCRSMatrix< Dune::FieldMatrix< double, Dim, Dim > >, Dune::BlockVector< Dune::FieldVector< double, Dim > >, Dune::BlockVector< Dune::FieldVector< double, Dim > > >
 
template<int Dim>
using OpBSeq = Dune::MatrixAdapter< Dune::BCRSMatrix< Opm::MatrixBlock< double, Dim, Dim > >, Dune::BlockVector< Dune::FieldVector< double, Dim > >, Dune::BlockVector< Dune::FieldVector< double, Dim > > >
 
template<int Dim, bool overlap>
using OpW = WellModelMatrixAdapter< Dune::BCRSMatrix< MatrixBlock< double, Dim, Dim > >, Dune::BlockVector< Dune::FieldVector< double, Dim > >, Dune::BlockVector< Dune::FieldVector< double, Dim > >, overlap >
 
template<int Dim, bool overlap>
using OpWG = WellModelGhostLastMatrixAdapter< Dune::BCRSMatrix< MatrixBlock< double, Dim, Dim > >, Dune::BlockVector< Dune::FieldVector< double, Dim > >, Dune::BlockVector< Dune::FieldVector< double, Dim > >, overlap >
 
using CommPar = Dune::OwnerOverlapCopyCommunication< int, int >
 
template<int Dim>
using OpFPar = Dune::OverlappingSchwarzOperator< Dune::BCRSMatrix< Dune::FieldMatrix< double, Dim, Dim > >, Dune::BlockVector< Dune::FieldVector< double, Dim > >, Dune::BlockVector< Dune::FieldVector< double, Dim > >, CommPar >
 
template<int Dim>
using OpBPar = Dune::OverlappingSchwarzOperator< Dune::BCRSMatrix< MatrixBlock< double, Dim, Dim > >, Dune::BlockVector< Dune::FieldVector< double, Dim > >, Dune::BlockVector< Dune::FieldVector< double, Dim > >, CommPar >
 
using RegionId = int
 

Enumerations

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

Functions

PhaseUsage phaseUsage (const Phases &phases)
 Determine the active phases. More...
 
PhaseUsage phaseUsageFromDeck (const EclipseState &eclipseState)
 
PhaseUsage phaseUsageFromDeck (const Deck &deck)
 
void printPRTHeader (const int nprocs, const int nthreads, const std::string &parameters, std::string_view moduleVersion, std::string_view compileTimestamp)
 
void printFlowBanner (int nprocs, int threads, std::string_view moduleVersionName)
 
void printFlowTrailer (int nprocs, int nthreads, const double total_setup_time, const double deck_read_time, const SimulatorReport &report, const SimulatorReportSingle &localsolves_report)
 
int eclPositionalParameter (Dune::ParameterTree &tree, std::set< std::string > &seenParams, std::string &errorMsg, const char **argv, int paramIdx)
 
template<class Vector , class Grid , class Matrix >
std::tuple< std::unique_ptr< Dune::OverlappingSchwarzOperator< Matrix, Vector, Vector, Dune::OwnerOverlapCopyCommunication< int, int > > >, std::unique_ptr< typename TracerSolverSelector< Matrix, Vector >::type > > createParallelFlexibleSolver (const Grid &, const Matrix &, const PropertyTree &)
 
template<class Vector , class Matrix >
std::tuple< std::unique_ptr< Dune::OverlappingSchwarzOperator< Matrix, Vector, Vector, Dune::OwnerOverlapCopyCommunication< int, int > > >, std::unique_ptr< typename TracerSolverSelector< Matrix, Vector >::type > > createParallelFlexibleSolver (const Dune::CpGrid &grid, const Matrix &M, const PropertyTree &prm)
 
template<class TypeTag >
int flowMain (int argc, char **argv, bool outputCout, bool outputFiles)
 
template<class GridView , class Element >
std::pair< std::vector< int >, int > partitionCells (const std::string &method, const int num_local_domains, const GridView &grid_view, const std::vector< Well > &wells, const ZoltanPartitioningControl< Element > &zoltan_ctrl)
 
std::pair< std::vector< int >, int > partitionCellsFromFile (const std::string &filename, const int num_cells)
 
std::pair< std::vector< int >, int > partitionCellsSimple (const int num_cells, const int num_domains)
 
DomainOrderingMeasure domainOrderingMeasureFromString (const std::string_view measure)
 
template<class Graph >
std::tuple< std::vector< int >, int, std::vector< std::size_t > > colorVerticesWelshPowell (const Graph &graph)
 Color the vertices of graph. More...
 
template<class Graph >
std::vector< std::size_t > reorderVerticesPreserving (const std::vector< int > &colors, int noColors, const std::vector< std::size_t > &verticesPerColor, const Graph &graph)
 ! Reorder colored graph preserving order of vertices with the same color. More...
 
template<class Graph >
std::vector< std::size_t > reorderVerticesSpheres (const std::vector< int > &colors, int noColors, const std::vector< std::size_t > &verticesPerColor, const Graph &graph, typename Graph::VertexDescriptor root)
 ! Reorder Vetrices in spheres More...
 
template<class M >
Opm::SparseTable< std::size_t > getMatrixRowColoring (const M &matrix, ColoringType coloringType)
 Given a matrix and dependecy type, returns a SparseTable grouping the rows by which can be executed in parallel without breaking dependencies. More...
 
MILU_VARIANT convertString2Milu (const std::string &milu)
 
template<class T1 >
auto accumulateMaskedValues (const T1 &container, const std::vector< double > *maskContainer) -> decltype(container[0] *(*maskContainer)[0])
 Accumulates entries masked with 1. More...
 
template<typename C >
auto setUseFixedOrder (C criterion, bool booleanValue) -> decltype(criterion.setUseFixedOrder(booleanValue))
 
template<typename C >
void setUseFixedOrder (C,...)
 
template<class Communication >
void extendCommunicatorWithWells (const Communication &comm, std::shared_ptr< Communication > &commRW, const int nw)
 
PropertyTree setupPropertyTree (FlowLinearSolverParameters p, bool linearSolverMaxIterSet, bool linearSolverReductionSet)
 
PropertyTree setupCPRW (const std::string &conf, const FlowLinearSolverParameters &p)
 
PropertyTree setupCPR (const std::string &conf, const FlowLinearSolverParameters &p)
 
PropertyTree setupAMG (const std::string &conf, const FlowLinearSolverParameters &p)
 
PropertyTree setupILU (const std::string &conf, const FlowLinearSolverParameters &p)
 
PropertyTree setupDILU (const std::string &conf, const FlowLinearSolverParameters &p)
 
PropertyTree setupUMFPack (const std::string &conf, const FlowLinearSolverParameters &p)
 
std::string to_string (const ConvergenceReport::ReservoirFailure::Type t)
 
std::string to_string (const ConvergenceReport::Severity s)
 
std::string to_string (const ConvergenceReport::WellFailure::Type t)
 
std::string to_string (const ConvergenceReport::WellFailure &wf)
 
template<class TypeTag >
void registerEclTimeSteppingParameters ()
 
ConvergenceReport gatherConvergenceReport (const ConvergenceReport &local_report, Parallel::Communication communicator)
 
Opm::DeferredLogger gatherDeferredLogger (const Opm::DeferredLogger &local_deferredlogger, Parallel::Communication communicator)
 Create a global log combining local logs. More...
 
std::string moduleVersionName ()
 
std::string moduleVersionHash ()
 
std::string moduleVersion ()
 
std::string compileTimestamp ()
 
RestartValue loadParallelRestart (const EclipseIO *eclIO, Action::State &actionState, SummaryState &summaryState, const std::vector< RestartKey > &solutionKeys, const std::vector< RestartKey > &extraKeys, Parallel::Communication comm)
 
void eclStateBroadcast (Parallel::Communication comm, EclipseState &eclState, Schedule &schedule, SummaryConfig &summaryConfig, UDQState &udqState, Action::State &actionState, WellTestState &wtestState)
 Broadcasts an eclipse state from root node in parallel runs. ! More...
 
template<class T >
void eclBroadcast (Parallel::Communication, T &)
 
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)
 
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, bool initFromRestart, bool checkDeck, const std::optional< int > &outputInterval)
 Reads the deck and creates all necessary objects if needed. More...
 
void verifyValidCellGeometry (Parallel::Communication comm, const EclipseState &eclipseState)
 
std::map< std::string, std::string > setupZoltanParams (const std::string &conf)
 
bool operator< (const ParallelWellInfo &well1, const ParallelWellInfo &well2)
 
bool operator== (const ParallelWellInfo &well1, const ParallelWellInfo &well2)
 
bool operator!= (const ParallelWellInfo &well1, const ParallelWellInfo &well2)
 
bool operator< (const std::pair< std::string, bool > &pair, const ParallelWellInfo &well)
 
bool operator< (const ParallelWellInfo &well, const std::pair< std::string, bool > &pair)
 
bool operator== (const std::pair< std::string, bool > &pair, const ParallelWellInfo &well)
 
bool operator== (const ParallelWellInfo &well, const std::pair< std::string, bool > &pair)
 
bool operator!= (const std::pair< std::string, bool > &pair, const ParallelWellInfo &well)
 
bool operator!= (const ParallelWellInfo &well, const std::pair< std::string, bool > &pair)
 
std::vector< double > connectionProdIndStandard (const WellProdIndexCalculator &wellPICalc, const std::vector< double > &connMobility)
 
double wellProdIndStandard (const WellProdIndexCalculator &wellPICalc, const std::vector< double > &connMobility)
 

Variables

std::optional< std::function< std::vector< int >(const Dune::CpGrid &)> > externalLoadBalancer
 optional functor returning external load balancing information More...
 

Detailed Description

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

Typedef Documentation

◆ CommPar

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

◆ CommSeq

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

◆ IndexMapStorageType

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

◆ IndexMapType

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

◆ InverseOperatorResult

typedef Dune::InverseOperatorResult Opm::InverseOperatorResult

◆ MessageBufferType

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

◆ OpBPar

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

◆ OpBSeq

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

◆ OpFPar

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

◆ OpFSeq

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

◆ OpW

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

◆ OpWG

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

◆ P2PCommunicatorType

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

◆ RegionId

typedef int Opm::RegionId

Enumeration Type Documentation

◆ ColoringType

enum class Opm::ColoringType
strong

Specify coloring type.

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

Enumerator
SYMMETRIC 
LOWER 
UPPER 

◆ DomainOrderingMeasure

enum class Opm::DomainOrderingMeasure
strong

Measure to use for domain ordering.

Enumerator
AveragePressure 
MaxPressure 
Residual 

◆ DomainSolveApproach

enum class Opm::DomainSolveApproach
strong

Solver approach for NLDD.

Enumerator
Jacobi 
GaussSeidel 

◆ FileOutputMode

enum class Opm::FileOutputMode
strong
Enumerator
OUTPUT_NONE 

No file output.

OUTPUT_LOG_ONLY 

Output only to log files, no ECLIPSE output.

OUTPUT_ALL 

Output to all files.

◆ MILU_VARIANT

enum class Opm::MILU_VARIANT
strong
Enumerator
ILU 

Do not perform modified ILU.

MILU_1 

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

MILU_2 

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

MILU_3 

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

MILU_4 

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

◆ NonlinearRelaxType

enum class Opm::NonlinearRelaxType
strong
Enumerator
Dampen 
SOR 

◆ TimeStepControlType

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

Function Documentation

◆ accumulateMaskedValues()

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

Accumulates entries masked with 1.

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

◆ colorVerticesWelshPowell()

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

Color the vertices of graph.

It uses the algorithm of Welsh and Powell for this.

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

References Opm::Detail::colorGraphWelshPowell().

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

◆ compileTimestamp()

std::string Opm::compileTimestamp ( )

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

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

◆ connectionProdIndStandard()

std::vector< double > Opm::connectionProdIndStandard ( const WellProdIndexCalculator wellPICalc,
const std::vector< double > &  connMobility 
)

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

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

◆ convertString2Milu()

◆ createParallelFlexibleSolver() [1/2]

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

◆ createParallelFlexibleSolver() [2/2]

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

◆ domainOrderingMeasureFromString()

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

◆ eclBroadcast()

◆ eclPositionalParameter()

int Opm::eclPositionalParameter ( Dune::ParameterTree &  tree,
std::set< std::string > &  seenParams,
std::string &  errorMsg,
const char **  argv,
int  paramIdx 
)

◆ eclStateBroadcast()

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

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

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

◆ ensureOutputDirExists()

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

◆ extendCommunicatorWithWells()

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

◆ flowMain()

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

◆ gatherConvergenceReport()

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

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

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

◆ gatherDeferredLogger()

◆ getMatrixRowColoring()

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

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

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

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

References LOWER, SYMMETRIC, and UPPER.

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

◆ loadParallelRestart()

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

◆ moduleVersion()

std::string Opm::moduleVersion ( )

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

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

◆ moduleVersionHash()

std::string Opm::moduleVersionHash ( )

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

◆ moduleVersionName()

std::string Opm::moduleVersionName ( )

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

◆ operator!=() [1/3]

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

◆ operator!=() [2/3]

bool Opm::operator!= ( const ParallelWellInfo well1,
const ParallelWellInfo well2 
)

◆ operator!=() [3/3]

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

◆ operator<() [1/3]

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

◆ operator<() [2/3]

bool Opm::operator< ( const ParallelWellInfo well1,
const ParallelWellInfo well2 
)

◆ operator<() [3/3]

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

◆ operator==() [1/3]

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

◆ operator==() [2/3]

bool Opm::operator== ( const ParallelWellInfo well1,
const ParallelWellInfo well2 
)

◆ operator==() [3/3]

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

◆ partitionCells()

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

Partition rank's interior cells.

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

◆ partitionCellsFromFile()

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

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

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

◆ partitionCellsSimple()

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

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

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

◆ phaseUsage()

◆ phaseUsageFromDeck() [1/2]

PhaseUsage Opm::phaseUsageFromDeck ( const Deck &  deck)

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

◆ phaseUsageFromDeck() [2/2]

PhaseUsage Opm::phaseUsageFromDeck ( const EclipseState &  eclipseState)

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

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

◆ prepareResultOutputDirectory()

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

◆ printFlowBanner()

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

◆ printFlowTrailer()

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

◆ printPRTHeader()

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

◆ readDeck()

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

Reads the deck and creates all necessary objects if needed.

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

◆ registerEclTimeSteppingParameters()

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

◆ reorderVerticesPreserving()

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

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

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

◆ reorderVerticesSpheres()

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

◆ setupAMG()

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

◆ setupCPR()

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

◆ setupCPRW()

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

◆ setupDILU()

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

◆ setupILU()

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

◆ setupLogging()

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

◆ setupParseContext()

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

◆ setupPropertyTree()

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

◆ setupUMFPack()

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

◆ setupZoltanParams()

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

◆ setUseFixedOrder() [1/2]

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

◆ setUseFixedOrder() [2/2]

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

◆ to_string() [1/4]

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

Referenced by Dune::CartesianIndexMapper< Dune::ALUGrid< 3, 3, Dune::cube, Dune::nonconforming > >::cartesianCoordinate(), Opm::MultisegmentWell< TypeTag >::checkOperabilityUnderTHPLimit(), Opm::StandardWell< TypeTag >::checkOperabilityUnderTHPLimit(), Opm::MultisegmentWell< TypeTag >::computeWellPotentials(), Opm::MultisegmentWell< TypeTag >::computeWellPotentialWithTHP(), Opm::EQUIL::DeckDependent::equilnum(), Opm::BlackoilWellModel< TypeTag >::getDomainWellConvergence(), Opm::BlackoilWellModel< TypeTag >::getWellConvergence(), Opm::EQUIL::Details::horizontalSubdivision(), Opm::EQUIL::DeckDependent::InitialStateComputer< FluidSystem, Grid, GridView, ElementMapper, CartesianIndexMapper >::InitialStateComputer(), logAndCheckForExceptionsAndThrow(), Opm::BlackoilModel< TypeTag >::nonlinearIterationNewton(), Opm::PackUnPackWBPData::pack(), Opm::SimulatorFullyImplicitBlackoil< TypeTag >::runStep(), Opm::ISTLSolver< TypeTag >::setActiveSolver(), Opm::ISTLSolver< TypeTag >::shouldCreateSolver(), Opm::WellInterface< TypeTag >::solveWellEquation(), Opm::WellInterface< TypeTag >::solveWellForTesting(), Opm::NonlinearSolver< TypeTag, PhysicalModel >::step(), Opm::cuistl::toDebugString(), Opm::BlackoilWellModel< TypeTag >::updateWellControlsAndNetwork(), Opm::WellInterface< TypeTag >::volumetricSurfaceRateForConnection(), Opm::GridDataOutput::SimMeshDataAccessor< GridView, partitions >::writeCellTypes(), Opm::GridDataOutput::SimMeshDataAccessor< GridView, partitions >::writeConnectivity(), Opm::GridDataOutput::SimMeshDataAccessor< GridView, partitions >::writeGridPoints(), Opm::GridDataOutput::SimMeshDataAccessor< GridView, partitions >::writeGridPoints_AOS(), Opm::GridDataOutput::SimMeshDataAccessor< GridView, partitions >::writeGridPoints_SOA(), and Opm::GridDataOutput::SimMeshDataAccessor< GridView, partitions >::writeOffsetsCells().

◆ to_string() [2/4]

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

◆ to_string() [3/4]

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

◆ to_string() [4/4]

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

◆ verifyValidCellGeometry()

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

◆ wellProdIndStandard()

double Opm::wellProdIndStandard ( const WellProdIndexCalculator wellPICalc,
const std::vector< double > &  connMobility 
)

Compute well-level productivity index value.

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

Variable Documentation

◆ externalLoadBalancer

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

optional functor returning external load balancing information

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

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