Opm::Details Namespace Reference

Typedefs

using PressureMatrixType = Dune::BCRSMatrix< Opm::MatrixBlock< double, 1, 1 > >
 
using PressureVectorType = Dune::BlockVector< Dune::FieldVector< double, 1 > >
 
using SeqCoarseOperatorType = Dune::MatrixAdapter< PressureMatrixType, PressureVectorType, PressureVectorType >
 
template<class Comm >
using ParCoarseOperatorType = Dune::OverlappingSchwarzOperator< PressureMatrixType, PressureVectorType, PressureVectorType, Comm >
 
template<class Comm >
using CoarseOperatorType = std::conditional_t< std::is_same< Comm, Dune::Amg::SequentialInformation >::value, SeqCoarseOperatorType, ParCoarseOperatorType< Comm > >
 

Functions

template<class Matrix >
void copySubMatrix (const Matrix &A, const std::vector< int > &indices, Matrix &B)
 
template<class Matrix >
Matrix extractMatrix (const Matrix &m, const std::vector< int > &indices)
 
template<class Vector >
Vector extractVector (const Vector &x, const std::vector< int > &indices)
 
template<class Vector >
void setGlobal (const Vector &x, const std::vector< int > &indices, Vector &global_x)
 
template<class Matrix >
bool matrixEqual (const Matrix &m1, const Matrix &m2)
 
template<class DenseMatrix >
DenseMatrix transposeDenseMatrix (const DenseMatrix &M)
 

Typedef Documentation

◆ CoarseOperatorType

template<class Comm >
using Opm::Details::CoarseOperatorType = typedef std::conditional_t<std::is_same<Comm, Dune::Amg::SequentialInformation>::value, SeqCoarseOperatorType, ParCoarseOperatorType<Comm> >

◆ ParCoarseOperatorType

template<class Comm >
using Opm::Details::ParCoarseOperatorType = typedef Dune::OverlappingSchwarzOperator<PressureMatrixType, PressureVectorType, PressureVectorType, Comm>

◆ PressureMatrixType

typedef Dune::BCRSMatrix< Opm::MatrixBlock< double, 1, 1 > > Opm::Details::PressureMatrixType

◆ PressureVectorType

typedef Dune::BlockVector< Dune::FieldVector< double, 1 > > Opm::Details::PressureVectorType

◆ SeqCoarseOperatorType

Function Documentation

◆ copySubMatrix()

template<class Matrix >
void Opm::Details::copySubMatrix ( const Matrix &  A,
const std::vector< int > &  indices,
Matrix &  B 
)

Referenced by extractMatrix().

◆ extractMatrix()

template<class Matrix >
Matrix Opm::Details::extractMatrix ( const Matrix &  m,
const std::vector< int > &  indices 
)

References copySubMatrix().

◆ extractVector()

template<class Vector >
Vector Opm::Details::extractVector ( const Vector &  x,
const std::vector< int > &  indices 
)

◆ matrixEqual()

template<class Matrix >
bool Opm::Details::matrixEqual ( const Matrix &  m1,
const Matrix &  m2 
)

◆ setGlobal()

template<class Vector >
void Opm::Details::setGlobal ( const Vector &  x,
const std::vector< int > &  indices,
Vector &  global_x 
)

◆ transposeDenseMatrix()

template<class DenseMatrix >
DenseMatrix Opm::Details::transposeDenseMatrix ( const DenseMatrix &  M)