DUNE PDELab (2.8)
This constructs a coarse space from a per-subdomain local basis. More...
#include <dune/pdelab/backend/istl/geneo/subdomainprojectedcoarsespace.hh>
Public Member Functions | |
SubdomainProjectedCoarseSpace (const GFS &gfs, const M &AF_exterior_, std::shared_ptr< SubdomainBasis< X > > subdomainbasis, const PIH ¶llelhelper, int verbosity=1) | |
Constructor. More... | |
void | restrict (const X &fine, COARSE_V &restricted) const override |
Restricts a vector defined on a subdomain to the coarse space. More... | |
void | prolongate (const COARSE_V &coarse, X &prolongated) const override |
Prolongates a vector defined on the coarse space to the subdomain. More... | |
std::shared_ptr< COARSE_M > | get_coarse_system () override |
Returns the matrix representing the coarse basis. More... | |
rank_type | basis_size () override |
Returns the size of the coarse basis. More... | |
Detailed Description
class Dune::PDELab::SubdomainProjectedCoarseSpace< GFS, M, X, PIH >
This constructs a coarse space from a per-subdomain local basis.
The per-subdomain coarse basis is communicated to each subdomain's neighbors, a global coarse system based on those is constructed and distributed to across all processes. In the process, the per-subdomain basis functions are extended by zeros, resulting in a sparse system.
Constructor & Destructor Documentation
◆ SubdomainProjectedCoarseSpace()
|
inline |
Constructor.
- Parameters
-
gfs Grid function space. AF_exterior_ Stiffness matrix of the problem to be solved. subdomainbasis Per-subdomain coarse basis. verbosity Verbosity.
Member Function Documentation
◆ basis_size()
|
inlineoverridevirtual |
◆ get_coarse_system()
|
inlineoverridevirtual |
Returns the matrix representing the coarse basis.
- Returns
- The coarse matrix
Implements CoarseSpace< X >.
◆ prolongate()
|
inlineoverridevirtual |
Prolongates a vector defined on the coarse space to the subdomain.
- Parameters
-
[in] v The coarse space vector to be prolongated [out] prolongated The prolongation in subdomain space.
Implements CoarseSpace< X >.
◆ restrict()
|
inlineoverridevirtual |
Restricts a vector defined on a subdomain to the coarse space.
- Parameters
-
[in] d The subdomain space vector to be restricted [out] restricted Resulting restriction in coarse space. Must be of size given by basis_size().
Implements CoarseSpace< X >.
The documentation for this class was generated from the following file:
- dune/pdelab/backend/istl/geneo/subdomainprojectedcoarsespace.hh