dune-pdelab 2.7-git
Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
CoarseSpace< X > Class Template Referenceabstract

Representation of a coarse space intended for two-level Schwarz preconditioners. More...

#include <dune/pdelab/backend/istl/geneo/coarsespace.hh>

Inheritance diagram for CoarseSpace< X >:
Inheritance graph

Public Types

typedef Dune::BlockVector< Dune::FieldVector< double, 1 > > COARSE_V
 
typedef Dune::BCRSMatrix< Dune::FieldMatrix< double, 1, 1 > > COARSE_M
 

Public Member Functions

virtual void restrict (const X &fine, COARSE_V &restricted) const =0
 Restricts a vector defined on a subdomain to the coarse space.
 
virtual void prolongate (const COARSE_V &coarse, X &prolongated) const =0
 Prolongates a vector defined on the coarse space to the subdomain.
 
virtual std::shared_ptr< COARSE_Mget_coarse_system ()=0
 Returns the matrix representing the coarse basis.
 
virtual int basis_size ()=0
 Returns the size of the coarse basis.
 

Detailed Description

template<class X>
class CoarseSpace< X >

Representation of a coarse space intended for two-level Schwarz preconditioners.

Template Parameters
XVector type on the subdomain

Member Typedef Documentation

◆ COARSE_M

template<class X >
typedef Dune::BCRSMatrix<Dune::FieldMatrix<double,1,1> > CoarseSpace< X >::COARSE_M

◆ COARSE_V

template<class X >
typedef Dune::BlockVector<Dune::FieldVector<double,1> > CoarseSpace< X >::COARSE_V

Member Function Documentation

◆ basis_size()

template<class X >
virtual int CoarseSpace< X >::basis_size ( )
pure virtual

Returns the size of the coarse basis.

Returns
Size of the basis

Implemented in Dune::PDELab::SubdomainProjectedCoarseSpace< GFS, M, X, PIH >.

◆ get_coarse_system()

template<class X >
virtual std::shared_ptr< COARSE_M > CoarseSpace< X >::get_coarse_system ( )
pure virtual

Returns the matrix representing the coarse basis.

Returns
The coarse matrix

Implemented in Dune::PDELab::SubdomainProjectedCoarseSpace< GFS, M, X, PIH >.

◆ prolongate()

template<class X >
virtual void CoarseSpace< X >::prolongate ( const COARSE_V coarse,
X &  prolongated 
) const
pure virtual

Prolongates a vector defined on the coarse space to the subdomain.

Parameters
[in]vThe coarse space vector to be prolongated
[out]prolongatedThe prolongation in subdomain space.

Implemented in Dune::PDELab::SubdomainProjectedCoarseSpace< GFS, M, X, PIH >.

◆ restrict()

template<class X >
virtual void CoarseSpace< X >::restrict ( const X &  fine,
COARSE_V restricted 
) const
pure virtual

Restricts a vector defined on a subdomain to the coarse space.

Parameters
[in]dThe subdomain space vector to be restricted
[out]restrictedResulting restriction in coarse space. Must be of size given by basis_size().

Implemented in Dune::PDELab::SubdomainProjectedCoarseSpace< GFS, M, X, PIH >.


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