Opm::Details Namespace Reference

Typedefs

template<class Scalar >
using PressureMatrixType = Dune::BCRSMatrix< MatrixBlock< Scalar, 1, 1 > >
 
template<class Scalar >
using PressureVectorType = Dune::BlockVector< Dune::FieldVector< Scalar, 1 > >
 
template<class Scalar >
using SeqCoarseOperatorType = Dune::MatrixAdapter< PressureMatrixType< Scalar >, PressureVectorType< Scalar >, PressureVectorType< Scalar > >
 
template<class Scalar , class Comm >
using ParCoarseOperatorType = Opm::GhostLastMatrixAdapter< PressureMatrixType< Scalar >, PressureVectorType< Scalar >, PressureVectorType< Scalar >, Comm >
 
template<class Scalar , class Comm >
using CoarseOperatorType = std::conditional_t< std::is_same< Comm, Dune::Amg::SequentialInformation >::value, SeqCoarseOperatorType< Scalar >, ParCoarseOperatorType< Scalar, 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 Scalar , class Comm >
using Opm::Details::CoarseOperatorType = typedef std::conditional_t<std::is_same<Comm, Dune::Amg::SequentialInformation>::value, SeqCoarseOperatorType<Scalar>, ParCoarseOperatorType<Scalar,Comm> >

◆ ParCoarseOperatorType

template<class Scalar , class Comm >
using Opm::Details::ParCoarseOperatorType = typedef Opm::GhostLastMatrixAdapter<PressureMatrixType<Scalar>, PressureVectorType<Scalar>, PressureVectorType<Scalar>, Comm>

◆ PressureMatrixType

template<class Scalar >
using Opm::Details::PressureMatrixType = typedef Dune::BCRSMatrix<MatrixBlock<Scalar, 1, 1> >

◆ PressureVectorType

template<class Scalar >
using Opm::Details::PressureVectorType = typedef Dune::BlockVector<Dune::FieldVector<Scalar, 1> >

◆ SeqCoarseOperatorType

template<class Scalar >
using Opm::Details::SeqCoarseOperatorType = typedef Dune::MatrixAdapter<PressureMatrixType<Scalar>, PressureVectorType<Scalar>, PressureVectorType<Scalar> >

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)