23 #ifndef EWOMS_COPYRESTRICTPROLONG_HH 24 #define EWOMS_COPYRESTRICTPROLONG_HH 29 #include <dune/fem/space/common/restrictprolonginterface.hh> 34 template <
class Gr
id,
class Container>
37 template <
class Gr
id,
class Container>
40 using DomainFieldType =
typename Grid::ctype;
44 template<
class Gr
id,
class Container>
47 :
public Dune::Fem::RestrictProlongInterfaceDefault<CopyRestrictProlongTraits<Grid, Container>>
52 Container& container_;
55 using DomainFieldType =
typename Grid::ctype;
58 : container_(container)
67 template <
class Field>
72 template<
class Entity>
73 void restrictLocal (
const Entity& father,
const Entity& son,
bool initialize)
const 76 assert(container_.codimension() == 0);
79 container_[father] = container_[son];
84 template<
class Entity,
class LocalGeometry>
88 bool initialize)
const 92 template<
class Entity>
98 assert(container_.codimension() == 0);
100 container_[son] = container_[father];
104 template<
class Entity,
class LocalGeometry>
107 const LocalGeometry&,
108 bool initialize)
const 114 template<
class Communicator>
123 template<
class LoadBalancer>
130 class EmptyRestrictProlong;
134 using DomainFieldType = double;
140 :
public Dune::Fem::RestrictProlongInterfaceDefault< EmptyRestrictProlongTraits >
152 template <
class Field>
157 template<
class Entity>
164 template<
class Entity,
class LocalGeometry>
167 const LocalGeometry&,
172 template<
class Entity>
179 template<
class Entity,
class LocalGeometry>
182 const LocalGeometry&,
189 template<
class Communicator>
196 template<
class LoadBalancer>
Definition: restrictprolong.hh:35
void setFatherChildWeight(const Field &) const
explicit set volume ratio of son and father
Definition: restrictprolong.hh:68
void restrictLocal(const Entity &father, const Entity &son, bool initialize) const
restrict data to father
Definition: restrictprolong.hh:73
void prolongLocal(const Entity &, const Entity &, bool) const
prolong data to children
Definition: restrictprolong.hh:173
void prolongLocal(const Entity &, const Entity &, const LocalGeometry &, bool) const
prolong data to children
Definition: restrictprolong.hh:180
Definition: restrictprolong.hh:132
void addToList(Communicator &)
add discrete function to communicator
Definition: restrictprolong.hh:190
This file contains a set of helper functions used by VFPProd / VFPInj.
Definition: blackoilbioeffectsmodules.hh:45
void restrictLocal(const Entity &father, const Entity &son, const LocalGeometry &, bool initialize) const
restrict data to father
Definition: restrictprolong.hh:85
void addToList(Communicator &)
add discrete function to communicator
Definition: restrictprolong.hh:115
void setFatherChildWeight(const Field &) const
explicit set volume ratio of son and father
Definition: restrictprolong.hh:153
void addToLoadBalancer(LoadBalancer &)
add discrete function to load balancer
Definition: restrictprolong.hh:124
void restrictLocal(const Entity &, const Entity &, const LocalGeometry &, bool) const
restrict data to father
Definition: restrictprolong.hh:165
void restrictLocal(const Entity &, const Entity &, bool) const
restrict data to father
Definition: restrictprolong.hh:158
void addToLoadBalancer(LoadBalancer &)
add discrete function to load balancer
Definition: restrictprolong.hh:197
Definition: restrictprolong.hh:38
void prolongLocal(const Entity &father, const Entity &son, bool) const
prolong data to children
Definition: restrictprolong.hh:93
void prolongLocal(const Entity &father, const Entity &son, const LocalGeometry &, bool initialize) const
prolong data to children
Definition: restrictprolong.hh:105
Definition: restrictprolong.hh:138