Opm::GhostLastMatrixAdapter< M, X, Y, C > Class Template Reference

Dune linear operator that assumes ghost rows are ordered after interior rows. Avoids some computations because of this. More...

#include <WellOperators.hpp>

Inheritance diagram for Opm::GhostLastMatrixAdapter< M, X, Y, C >:
Inheritance graph

Public Types

typedef M matrix_type
 
typedef X domain_type
 
typedef Y range_type
 
typedef X::field_type field_type
 
typedef C communication_type
 

Public Member Functions

Dune::SolverCategory::Category category () const override
 
 GhostLastMatrixAdapter (const M &A, const communication_type &comm)
 constructor: just store a reference to a matrix More...
 
 GhostLastMatrixAdapter (const std::shared_ptr< M > A, const communication_type &comm)
 
virtual void apply (const X &x, Y &y) const override
 
virtual void applyscaleadd (field_type alpha, const X &x, Y &y) const override
 
virtual const matrix_typegetmat () const override
 
size_t getInteriorSize () const
 

Detailed Description

template<class M, class X, class Y, class C>
class Opm::GhostLastMatrixAdapter< M, X, Y, C >

Dune linear operator that assumes ghost rows are ordered after interior rows. Avoids some computations because of this.

This is similar to WellModelGhostLastMatrixAdapter, with the difference that here we do not have a well model, and also do calcilate the interiorSize using the parallel index set. Created for use in AMG/CPR smoothers.

Member Typedef Documentation

◆ communication_type

template<class M , class X , class Y , class C >
typedef C Opm::GhostLastMatrixAdapter< M, X, Y, C >::communication_type

◆ domain_type

template<class M , class X , class Y , class C >
typedef X Opm::GhostLastMatrixAdapter< M, X, Y, C >::domain_type

◆ field_type

template<class M , class X , class Y , class C >
typedef X::field_type Opm::GhostLastMatrixAdapter< M, X, Y, C >::field_type

◆ matrix_type

template<class M , class X , class Y , class C >
typedef M Opm::GhostLastMatrixAdapter< M, X, Y, C >::matrix_type

◆ range_type

template<class M , class X , class Y , class C >
typedef Y Opm::GhostLastMatrixAdapter< M, X, Y, C >::range_type

Constructor & Destructor Documentation

◆ GhostLastMatrixAdapter() [1/2]

template<class M , class X , class Y , class C >
Opm::GhostLastMatrixAdapter< M, X, Y, C >::GhostLastMatrixAdapter ( const M &  A,
const communication_type comm 
)
inline

constructor: just store a reference to a matrix

◆ GhostLastMatrixAdapter() [2/2]

template<class M , class X , class Y , class C >
Opm::GhostLastMatrixAdapter< M, X, Y, C >::GhostLastMatrixAdapter ( const std::shared_ptr< M >  A,
const communication_type comm 
)
inline

Member Function Documentation

◆ apply()

template<class M , class X , class Y , class C >
virtual void Opm::GhostLastMatrixAdapter< M, X, Y, C >::apply ( const X &  x,
Y &  y 
) const
inlineoverridevirtual

◆ applyscaleadd()

template<class M , class X , class Y , class C >
virtual void Opm::GhostLastMatrixAdapter< M, X, Y, C >::applyscaleadd ( field_type  alpha,
const X &  x,
Y &  y 
) const
inlineoverridevirtual

◆ category()

template<class M , class X , class Y , class C >
Dune::SolverCategory::Category Opm::GhostLastMatrixAdapter< M, X, Y, C >::category ( ) const
inlineoverride

◆ getInteriorSize()

template<class M , class X , class Y , class C >
size_t Opm::GhostLastMatrixAdapter< M, X, Y, C >::getInteriorSize ( ) const
inline

◆ getmat()

template<class M , class X , class Y , class C >
virtual const matrix_type & Opm::GhostLastMatrixAdapter< M, X, Y, C >::getmat ( ) const
inlineoverridevirtual

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