Contains functionality for L2-projections from one function space into another, which can live both on the same or different grids of potentially different dimensionality. More...
#include <algorithm>#include <string>#include <utility>#include <type_traits>#include <dune/common/timer.hh>#include <dune/common/fmatrix.hh>#include <dune/common/exceptions.hh>#include <dune/common/promotiontraits.hh>#include <dune/geometry/quadraturerules.hh>#include <dune/istl/matrixindexset.hh>#include <dune/istl/bcrsmatrix.hh>#include <dune/istl/bvector.hh>#include <dumux/common/parameters.hh>#include <dumux/linear/seqsolverbackend.hh>#include <dumux/assembly/jacobianpattern.hh>#include <dumux/discretization/functionspacebasis.hh>Go to the source code of this file.
Contains functionality for L2-projections from one function space into another, which can live both on the same or different grids of potentially different dimensionality.
Classes | |
| class | Dumux::Projector< ScalarType > |
| Does an L2-projection from one discrete function space into another. The convenience functions makeProjectorPair or makeProjector can be used to create such a projection. More... | |
| struct | Dumux::Projector< ScalarType >::Params |
| Parameters that can be passed to project(). More... | |
| class | Dumux::ProjectorTraits< FEBasisDomain, FEBasisTarget > |
| Traits class stating the type of projector between to bases. More... | |
Namespaces | |
| namespace | Dumux |
| namespace | Dumux::Detail |
Functions | |
| template<class Matrix> | |
| void | Dumux::Detail::setupReducedMatrices (const Matrix &massMatrix, const Matrix &projMatrix, const std::vector< bool > &dofIsVoid, Matrix &reducedM, Matrix &reducedP, std::vector< std::size_t > &expansionMap) |
| Reduces a mass matrix and projection matrix such that they are composed of only those dofs that actually take part in the projection. Simultaneously, a container with the index map into the complete target space is filled so that the entries after projection can be assigned to the corresponding dof in the overall target space. | |
| template<bool doBidirectional, class FEBasisDomain, class FEBasisTarget, class GlueType> | |
| auto | Dumux::Detail::createProjectionMatrices (const FEBasisDomain &feBasisDomain, const FEBasisTarget &feBasisTarget, const GlueType &glue, bool treatDiagonalZeroes=true) |
| Creates the matrices underlying l2-projections. | |
| template<bool doBidirectional, class FEBasisDomain, class FEBasisTarget, class GlueType> | |
| auto | Dumux::Detail::makeProjectorPair (const FEBasisDomain &feBasisDomain, const FEBasisTarget &feBasisTarget, const GlueType &glue) |
| Creates a projector class between two function space bases. | |
| template<class FEBasisDomain, class FEBasisTarget, class GlueType> | |
| auto | Dumux::makeProjectorPair (const FEBasisDomain &feBasisDomain, const FEBasisTarget &feBasisTarget, GlueType glue) |
| Creates a pair of projectors between the space with basis feBasisDomain to the space with basis feBasisTarget. | |
| template<class FEBasisDomain, class FEBasisTarget, class GlueType> | |
| auto | Dumux::makeProjector (const FEBasisDomain &feBasisDomain, const FEBasisTarget &feBasisTarget, GlueType glue) |
| Creates a forward projector from the space feBasisDomain to the space with basis feBasisTarget. | |
| template<class FEBasisDomain, class FEBasisTarget, class GlueType> | |
| auto | Dumux::makeProjectionMatricesPair (const FEBasisDomain &feBasisDomain, const FEBasisTarget &feBasisTarget, GlueType glue) |
| Creates the matrices underlying l2-projections. | |
| template<class FEBasisDomain, class FEBasisTarget, class GlueType> | |
| auto | Dumux::makeProjectionMatrices (const FEBasisDomain &feBasisDomain, const FEBasisTarget &feBasisTarget, GlueType glue) |
| Creates the matrices underlying l2-projections. | |