Opm::Linear::OverlappingBCRSMatrix< BCRSMatrix > Class Template Reference

An overlap aware block-compressed row storage (BCRS) matrix. More...

#include <overlappingbcrsmatrix.hh>

Inheritance diagram for Opm::Linear::OverlappingBCRSMatrix< BCRSMatrix >:
Inheritance graph

Public Types

using Overlap = Opm::Linear::DomesticOverlapFromBCRSMatrix
 
using ColIterator = typename ParentType::ColIterator
 
using ConstColIterator = typename ParentType::ConstColIterator
 
using block_type = typename ParentType::block_type
 
using field_type = typename ParentType::field_type
 

Public Member Functions

 OverlappingBCRSMatrix (const OverlappingBCRSMatrix &other)
 
template<class NativeBCRSMatrix >
 OverlappingBCRSMatrix (const NativeBCRSMatrix &nativeMatrix, const BorderList &borderList, const BlackList &blackList, unsigned overlapSize)
 
 OverlappingBCRSMatrix (size_t, size_t, typename BCRSMatrix::BuildMode)
 
 ~OverlappingBCRSMatrix ()
 
ParentType & asParent ()
 
const ParentType & asParent () const
 
const Overlapoverlap () const
 Returns the domestic overlap for the process. More...
 
void assignAdd (const ParentType &nativeMatrix)
 Assign and syncronize the overlapping matrix from a non-overlapping one. More...
 
template<class NativeBCRSMatrix >
void assignCopy (const NativeBCRSMatrix &nativeMatrix)
 Assign and syncronize the overlapping matrix from a non-overlapping one. More...
 
void resetFront ()
 Set the identity matrix on the main diagonal of front indices. More...
 
void print () const
 
template<class NativeBCRSMatrix >
void assignFromNative (const NativeBCRSMatrix &nativeMatrix)
 
void syncAdd ()
 
void syncCopy ()
 

Detailed Description

template<class BCRSMatrix>
class Opm::Linear::OverlappingBCRSMatrix< BCRSMatrix >

An overlap aware block-compressed row storage (BCRS) matrix.

Member Typedef Documentation

◆ block_type

template<class BCRSMatrix >
using Opm::Linear::OverlappingBCRSMatrix< BCRSMatrix >::block_type = typename ParentType::block_type

◆ ColIterator

template<class BCRSMatrix >
using Opm::Linear::OverlappingBCRSMatrix< BCRSMatrix >::ColIterator = typename ParentType::ColIterator

◆ ConstColIterator

template<class BCRSMatrix >
using Opm::Linear::OverlappingBCRSMatrix< BCRSMatrix >::ConstColIterator = typename ParentType::ConstColIterator

◆ field_type

template<class BCRSMatrix >
using Opm::Linear::OverlappingBCRSMatrix< BCRSMatrix >::field_type = typename ParentType::field_type

◆ Overlap

template<class BCRSMatrix >
using Opm::Linear::OverlappingBCRSMatrix< BCRSMatrix >::Overlap = Opm::Linear::DomesticOverlapFromBCRSMatrix

Constructor & Destructor Documentation

◆ OverlappingBCRSMatrix() [1/3]

template<class BCRSMatrix >
Opm::Linear::OverlappingBCRSMatrix< BCRSMatrix >::OverlappingBCRSMatrix ( const OverlappingBCRSMatrix< BCRSMatrix > &  other)
inline

◆ OverlappingBCRSMatrix() [2/3]

template<class BCRSMatrix >
template<class NativeBCRSMatrix >
Opm::Linear::OverlappingBCRSMatrix< BCRSMatrix >::OverlappingBCRSMatrix ( const NativeBCRSMatrix &  nativeMatrix,
const BorderList borderList,
const BlackList blackList,
unsigned  overlapSize 
)
inline

◆ OverlappingBCRSMatrix() [3/3]

template<class BCRSMatrix >
Opm::Linear::OverlappingBCRSMatrix< BCRSMatrix >::OverlappingBCRSMatrix ( size_t  ,
size_t  ,
typename BCRSMatrix::BuildMode   
)
inline

◆ ~OverlappingBCRSMatrix()

template<class BCRSMatrix >
Opm::Linear::OverlappingBCRSMatrix< BCRSMatrix >::~OverlappingBCRSMatrix ( )
inline

Member Function Documentation

◆ asParent() [1/2]

template<class BCRSMatrix >
ParentType & Opm::Linear::OverlappingBCRSMatrix< BCRSMatrix >::asParent ( )
inline

◆ asParent() [2/2]

template<class BCRSMatrix >
const ParentType & Opm::Linear::OverlappingBCRSMatrix< BCRSMatrix >::asParent ( ) const
inline

◆ assignAdd()

template<class BCRSMatrix >
void Opm::Linear::OverlappingBCRSMatrix< BCRSMatrix >::assignAdd ( const ParentType &  nativeMatrix)
inline

Assign and syncronize the overlapping matrix from a non-overlapping one.

References Opm::Linear::OverlappingBCRSMatrix< BCRSMatrix >::assignFromNative(), and Opm::Linear::OverlappingBCRSMatrix< BCRSMatrix >::syncAdd().

◆ assignCopy()

template<class BCRSMatrix >
template<class NativeBCRSMatrix >
void Opm::Linear::OverlappingBCRSMatrix< BCRSMatrix >::assignCopy ( const NativeBCRSMatrix &  nativeMatrix)
inline

Assign and syncronize the overlapping matrix from a non-overlapping one.

The non-master entries are copied from the master

References Opm::Linear::OverlappingBCRSMatrix< BCRSMatrix >::assignFromNative(), and Opm::Linear::OverlappingBCRSMatrix< BCRSMatrix >::syncCopy().

◆ assignFromNative()

template<class BCRSMatrix >
template<class NativeBCRSMatrix >
void Opm::Linear::OverlappingBCRSMatrix< BCRSMatrix >::assignFromNative ( const NativeBCRSMatrix &  nativeMatrix)
inline

◆ overlap()

template<class BCRSMatrix >
const Overlap & Opm::Linear::OverlappingBCRSMatrix< BCRSMatrix >::overlap ( ) const
inline

Returns the domestic overlap for the process.

◆ print()

template<class BCRSMatrix >
void Opm::Linear::OverlappingBCRSMatrix< BCRSMatrix >::print ( ) const
inline

◆ resetFront()

template<class BCRSMatrix >
void Opm::Linear::OverlappingBCRSMatrix< BCRSMatrix >::resetFront ( )
inline

Set the identity matrix on the main diagonal of front indices.

◆ syncAdd()

template<class BCRSMatrix >
void Opm::Linear::OverlappingBCRSMatrix< BCRSMatrix >::syncAdd ( )
inline

◆ syncCopy()

template<class BCRSMatrix >
void Opm::Linear::OverlappingBCRSMatrix< BCRSMatrix >::syncCopy ( )
inline

The documentation for this class was generated from the following file: