Dune-Fufem 2.11-git
Loading...
Searching...
No Matches
basisinterpolationmatrixassembler.hh File Reference
#include <type_traits>
#include <cmath>
#include <vector>
#include <dune/common/exceptions.hh>
#include <dune/common/version.hh>
#include <dune/common/rangeutilities.hh>
#include <dune/assembler/backends/istlmatrixbackend.hh>
#include <dune/typetree/childextraction.hh>
#include <dune/typetree/traversal.hh>

Go to the source code of this file.

Functions

template<class MatrixType , class CoarseBasis , class FineBasis >
static void assembleGlobalBasisTransferMatrix (MatrixType &matrix, const CoarseBasis &coarseBasis, const FineBasis &fineBasis, const double tolerance=1e-12)
 Assemble the transfer matrix for multigrid methods.
 

Function Documentation

◆ assembleGlobalBasisTransferMatrix()

template<class MatrixType , class CoarseBasis , class FineBasis >
static void assembleGlobalBasisTransferMatrix ( MatrixType &  matrix,
const CoarseBasis &  coarseBasis,
const FineBasis &  fineBasis,
const double  tolerance = 1e-12 
)
static

Assemble the transfer matrix for multigrid methods.

The coarse and fine basis has to be related: in a way that the fine grid is descendant of the coarse grid (not necessarily direct descandant). The two bases are assumed to implement the dune-functions basis interface.

Parameters
[out]matrixthe matrix corresponding to the basis transfer operator
[in]coarseBasisglobal basis on the coarse grid
[in]fineBasisglobal basis on the fine grid
[in]tolerance(optional) interpolation threshold. Default is 1e-12.