dune-pdelab 2.7-git
Loading...
Searching...
No Matches
coarsespace.hh
Go to the documentation of this file.
1#ifndef DUNE_PDELAB_BACKEND_ISTL_GENEO_COARSESPACE_HH
2#define DUNE_PDELAB_BACKEND_ISTL_GENEO_COARSESPACE_HH
3
7template <class X>
9
10public:
11 typedef Dune::BlockVector<Dune::FieldVector<double,1> > COARSE_V;
12 typedef Dune::BCRSMatrix<Dune::FieldMatrix<double,1,1> > COARSE_M;
13
18 virtual void restrict (const X& fine, COARSE_V& restricted) const = 0;
19
24 virtual void prolongate (const COARSE_V& coarse, X& prolongated) const = 0;
25
29 virtual std::shared_ptr<COARSE_M> get_coarse_system () = 0;
30
34 virtual int basis_size() = 0;
35};
36
37#endif //DUNE_PDELAB_BACKEND_ISTL_GENEO_COARSESPACE_HH
Representation of a coarse space intended for two-level Schwarz preconditioners.
Definition coarsespace.hh:8
Dune::BCRSMatrix< Dune::FieldMatrix< double, 1, 1 > > COARSE_M
Definition coarsespace.hh:12
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_M > get_coarse_system()=0
Returns the matrix representing the coarse basis.
virtual int basis_size()=0
Returns the size of the coarse basis.
virtual void restrict(const X &fine, COARSE_V &restricted) const =0
Restricts a vector defined on a subdomain to the coarse space.
Dune::BlockVector< Dune::FieldVector< double, 1 > > COARSE_V
Definition coarsespace.hh:11