Opm::Linear Namespace Reference

Classes

class  BiCGStabSolver
 Implements a preconditioned stabilized BiCG linear solver. More...
 
class  BlackList
 Expresses which degrees of freedom are blacklisted for the parallel linear solvers and which domestic indices they correspond to. More...
 
struct  BorderIndex
 A single index intersecting with the process boundary. More...
 
class  CombinedCriterion
 Convergence criterion which looks at the absolute value of the residual and fails if the linear solver stagnates. More...
 
class  ConvergenceCriterion
 Base class for all convergence criteria which only defines an virtual API. More...
 
class  DomesticOverlapFromBCRSMatrix
 This class creates and manages the foreign overlap given an initial list of border indices and a BCRS matrix. More...
 
class  ElementBorderListFromGrid
 Uses communication on the grid to find the initial seed list of indices for methods which use element-based degrees of freedom. More...
 
class  FixPointCriterion
 Provides a convergence criterion for the linear solvers which looks at the weighted maximum of the difference between two iterations. More...
 
class  ForeignOverlapFromBCRSMatrix
 This class creates and manages the foreign overlap given an initial list of border indices and a BCRS matrix. More...
 
class  GlobalIndices
 This class maps domestic row indices to and from "global" indices which is used to construct an algebraic overlap for the parallel linear solvers. More...
 
struct  IndexDistanceNpeers
 This structure stores an index, a process rank, and the number of processes which "see" the degree of freedom with the index. More...
 
struct  IndexRank
 This structure stores an index and a process rank. More...
 
struct  IndexRankDist
 This structure stores an index, a process rank, and the distance of the degree of freedom to the process border. More...
 
class  IstlSparseMatrixAdapter
 A sparse matrix interface backend for BCRSMatrix from dune-istl. More...
 
class  NullBorderListCreator
 This is a grid manager which does not create any border list. More...
 
class  OverlappingBCRSMatrix
 An overlap aware block-compressed row storage (BCRS) matrix. More...
 
class  OverlappingBlockVector
 An overlap aware block vector. More...
 
class  OverlappingOperator
 An overlap aware linear operator usable by ISTL. More...
 
class  OverlappingPreconditioner
 An overlap aware preconditioner for any ISTL linear solver. More...
 
class  OverlappingScalarProduct
 An overlap aware ISTL scalar product. More...
 
class  ParallelAmgBackend
 Provides a linear solver backend using the parallel algebraic multi-grid (AMG) linear solver from DUNE-ISTL. More...
 
class  ParallelBaseBackend
 Provides the common code which is required by most linear solvers. More...
 
class  ParallelBiCGStabSolverBackend
 Implements a generic linear solver abstraction. More...
 
class  ParallelIstlSolverBackend
 Provides all unmodified linear solvers from dune-istl. More...
 
struct  PeerIndexGlobalIndex
 This structure stores a local index on a peer process and a global index. More...
 
class  PeerSet
 A set of process ranks. More...
 
class  PreconditionerWrapperILU
 
class  ResidReductionCriterion
 Provides a convergence criterion which looks at the reduction of the two-norm of the residual for the linear solvers. More...
 
class  SeedList
 The list of indices which are on the process boundary. More...
 
class  SolverReport
 Collects summary information about the execution of the linear solver. More...
 
class  SolverWrapperRestartedGMRes
 Solver wrapper for the restarted GMRES solver of dune-istl. More...
 
class  VertexBorderListFromGrid
 Uses communication on the grid to find the initial seed list of indices. More...
 
class  WeightedResidualReductionCriterion
 Convergence criterion which looks at the weighted absolute value of the residual. More...
 

Typedefs

using Index = int
 The type of an index of a degree of freedom. More...
 
using ProcessRank = unsigned
 The type of the rank of a process. More...
 
using BorderDistance = unsigned
 The type representing the distance of an index to the border. More...
 
using BorderList = std::list< BorderIndex >
 This class managages a list of indices which are on the border of a process' partition of the grid. More...
 
using OverlapWithPeer = std::vector< IndexDistanceNpeers >
 The list of indices which overlap with a peer rank. More...
 
using OverlapByRank = std::map< ProcessRank, OverlapWithPeer >
 A type mapping the process rank to the list of indices shared with this peer. More...
 
using OverlapByIndex = std::vector< std::map< ProcessRank, BorderDistance > >
 Maps each index to a list of processes . More...
 
using DomesticOverlapWithPeer = std::vector< Index >
 The list of domestic indices are owned by peer rank. More...
 
using DomesticOverlapByRank = std::map< ProcessRank, DomesticOverlapWithPeer >
 A type mapping the process rank to the list of domestic indices which are owned by the peer. More...
 

Typedef Documentation

◆ BorderDistance

using Opm::Linear::BorderDistance = typedef unsigned

The type representing the distance of an index to the border.

◆ BorderList

using Opm::Linear::BorderList = typedef std::list<BorderIndex>

This class managages a list of indices which are on the border of a process' partition of the grid.

◆ DomesticOverlapByRank

A type mapping the process rank to the list of domestic indices which are owned by the peer.

◆ DomesticOverlapWithPeer

using Opm::Linear::DomesticOverlapWithPeer = typedef std::vector<Index>

The list of domestic indices are owned by peer rank.

◆ Index

using Opm::Linear::Index = typedef int

The type of an index of a degree of freedom.

◆ OverlapByIndex

using Opm::Linear::OverlapByIndex = typedef std::vector<std::map<ProcessRank, BorderDistance> >

Maps each index to a list of processes .

◆ OverlapByRank

A type mapping the process rank to the list of indices shared with this peer.

◆ OverlapWithPeer

using Opm::Linear::OverlapWithPeer = typedef std::vector<IndexDistanceNpeers>

The list of indices which overlap with a peer rank.

◆ ProcessRank

using Opm::Linear::ProcessRank = typedef unsigned

The type of the rank of a process.