DUNE-FEM (unstable)

Dune::Fem::RestrictProlongDefault< DiscreteFunction > Class Template Reference

This is a wrapper for the default implemented restriction/prolongation operator, which only takes a discrete function template. More...

#include <dune/fem/space/common/restrictprolonginterface.hh>

Public Types

typedef Traits::RestProlImp RestProlImp
 type of restrict-prolong operator implementation
 

Public Member Functions

void setFatherChildWeight (const DomainFieldType &weight) const
 explicit set volume ratio of son and father More...
 
template<class Entity >
void restrictLocal (const Entity &father, const Entity &son, bool initialize) const
 restrict data to father
 
template<class Entity , class LocalGeometry >
void restrictLocal (const Entity &father, const Entity &son, const LocalGeometry &geometryInFather, bool initialize) const
 restrict data to father
 
template<class Entity >
void restrictFinalize (const Entity &father) const
 finalize restriction on father
 
template<class Entity >
void prolongLocal (const Entity &father, const Entity &son, bool initialize) const
 prolong data to children
 
template<class Entity , class LocalGeometry >
void prolongLocal (const Entity &father, const Entity &son, const LocalGeometry &geometryInFather, bool initialize) const
 prolong data to children
 
template<class Communicator , class Operation >
void addToList (Communicator &comm, const Operation &op)
 add discrete function to communicator with given unpack operation
 
template<class Communicator >
void addToList (Communicator &comm)
 add discrete function to communicator
 
template<class Communicator >
void removeFromList (Communicator &comm)
 remove discrete function from communicator
 
template<class LoadBalancer >
void addToLoadBalancer (LoadBalancer &lb)
 add discrete function to load balancer
 

Protected Member Functions

template<class IndexSet , class Entity >
bool entitiesAreCopies (const IndexSet &indexSet, const Entity &father, const Entity &son) const
 return true if father and son have the same index
 
bool entitiesAreCopies (const IndexSet &indexSet, const Entity &father, const Entity &son) const
 return true if father and son have the same index
 
template<class Entity >
DomainFieldType calcWeight (const Entity &father, const Entity &son) const
 calculates the weight, i.e. (volume son)/(volume father) More...
 

Detailed Description

template<class DiscreteFunction>
class Dune::Fem::RestrictProlongDefault< DiscreteFunction >

This is a wrapper for the default implemented restriction/prolongation operator, which only takes a discrete function template.

Member Function Documentation

◆ calcWeight()

template<class Traits >
template<class Entity >
DomainFieldType Dune::Fem::RestrictProlongInterface< Traits >::calcWeight ( const Entity father,
const Entity son 
) const
inlineprotectedinherited

calculates the weight, i.e. (volume son)/(volume father)

Parameters
[in]fatherFather Entity
[in]sonSon Entity
Returns
proportion between fahter and son volume

References Dune::Entity< cd, dim, GridImp, EntityImp >::geometry().

◆ setFatherChildWeight()

template<class DiscreteFunction >
void Dune::Fem::RestrictProlongDefault< DiscreteFunction >::setFatherChildWeight ( const DomainFieldType weight) const
inline

explicit set volume ratio of son and father

Parameters
[in]weightvolume of son / volume of father
Note
If this ratio is set, it is assume to be constant.

The documentation for this class was generated from the following file:
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.80.0 (May 2, 22:35, 2024)