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 |
Distance implementation details. | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
template<class FEBasisDomain , class FEBasisTarget , class GlueType > | |
auto | Dumux::makeProjectionMatricesPair (const FEBasisDomain &feBasisDomain, const FEBasisTarget &feBasisTarget, GlueType glue) |
Creates the matrices underlying l2-projections. More... | |
template<class FEBasisDomain , class FEBasisTarget , class GlueType > | |
auto | Dumux::makeProjectionMatrices (const FEBasisDomain &feBasisDomain, const FEBasisTarget &feBasisTarget, GlueType glue) |
Creates the matrices underlying l2-projections. More... | |