23 #ifndef EWOMS_COPYRESTRICTPROLONG_HH 24 #define EWOMS_COPYRESTRICTPROLONG_HH 26 #include <opm/common/Unused.hpp> 29 #include <dune/fem/space/common/restrictprolonginterface.hh> 34 template <
class Gr
id,
class Container >
37 template <
class Gr
id,
class Container >
40 typedef typename Grid::ctype DomainFieldType;
44 template<
class Gr
id,
class Container >
47 :
public Dune::Fem::RestrictProlongInterfaceDefault< CopyRestrictProlongTraits< Grid, Container > >
52 Container& container_;
54 typedef typename Grid::ctype DomainFieldType;
57 : container_( container )
66 template <
class Field>
71 template<
class Entity >
72 void restrictLocal (
const Entity& father,
const Entity& son,
bool initialize )
const 75 assert( container_.codimension() == 0 );
79 container_[ father ] = container_[ son ];
84 template<
class Entity,
class LocalGeometry >
87 const LocalGeometry& geometryInFather OPM_UNUSED,
88 bool initialize)
const 92 template<
class Entity >
95 bool initialize OPM_UNUSED)
const 98 assert( container_.codimension() == 0 );
100 container_[ son ] = container_[ father ];
104 template<
class Entity,
class LocalGeometry >
107 const LocalGeometry& geometryInFather OPM_UNUSED,
108 bool initialize)
const 114 template<
class Communicator >
123 template<
class LoadBalancer >
132 class EmptyRestrictProlong;
136 typedef double DomainFieldType;
142 :
public Dune::Fem::RestrictProlongInterfaceDefault< EmptyRestrictProlongTraits >
154 template <
class Field>
159 template<
class Entity >
161 const Entity& son OPM_UNUSED,
162 bool initialize OPM_UNUSED)
const 166 template<
class Entity,
class LocalGeometry >
168 const Entity& son OPM_UNUSED,
169 const LocalGeometry& geometryInFather OPM_UNUSED,
170 bool initialize OPM_UNUSED)
const 174 template<
class Entity >
176 const Entity& son OPM_UNUSED,
177 bool initialize OPM_UNUSED)
const 181 template<
class Entity,
class LocalGeometry >
183 const Entity& son OPM_UNUSED,
184 const LocalGeometry& geometryInFather OPM_UNUSED,
185 bool initialize OPM_UNUSED)
const 191 template<
class Communicator >
198 template<
class LoadBalancer >
void setFatherChildWeight(const Field &weight OPM_UNUSED) const
explicit set volume ratio of son and father
Definition: restrictprolong.hh:155
void restrictLocal(const Entity &father OPM_UNUSED, const Entity &son OPM_UNUSED, const LocalGeometry &geometryInFather OPM_UNUSED, bool initialize OPM_UNUSED) const
restrict data to father
Definition: restrictprolong.hh:167
Definition: baseauxiliarymodule.hh:37
void addToList(Communicator &comm OPM_UNUSED)
add discrete function to communicator
Definition: restrictprolong.hh:192
Definition: restrictprolong.hh:134
void restrictLocal(const Entity &father, const Entity &son, const LocalGeometry &geometryInFather OPM_UNUSED, bool initialize) const
restrict data to father
Definition: restrictprolong.hh:85
void prolongLocal(const Entity &father, const Entity &son, const LocalGeometry &geometryInFather OPM_UNUSED, bool initialize) const
prolong data to children
Definition: restrictprolong.hh:105
void prolongLocal(const Entity &father, const Entity &son, bool initialize OPM_UNUSED) const
prolong data to children
Definition: restrictprolong.hh:93
void addToList(Communicator &comm OPM_UNUSED)
add discrete function to communicator
Definition: restrictprolong.hh:115
Definition: restrictprolong.hh:35
Definition: restrictprolong.hh:38
void addToLoadBalancer(LoadBalancer &lb OPM_UNUSED)
add discrete function to load balancer
Definition: restrictprolong.hh:199
Definition: restrictprolong.hh:140
void prolongLocal(const Entity &father OPM_UNUSED, const Entity &son OPM_UNUSED, bool initialize OPM_UNUSED) const
prolong data to children
Definition: restrictprolong.hh:175
void restrictLocal(const Entity &father, const Entity &son, bool initialize) const
restrict data to father
Definition: restrictprolong.hh:72
void prolongLocal(const Entity &father OPM_UNUSED, const Entity &son OPM_UNUSED, const LocalGeometry &geometryInFather OPM_UNUSED, bool initialize OPM_UNUSED) const
prolong data to children
Definition: restrictprolong.hh:182
void setFatherChildWeight(const Field &weight OPM_UNUSED) const
explicit set volume ratio of son and father
Definition: restrictprolong.hh:67
void restrictLocal(const Entity &father OPM_UNUSED, const Entity &son OPM_UNUSED, bool initialize OPM_UNUSED) const
restrict data to father
Definition: restrictprolong.hh:160
void addToLoadBalancer(LoadBalancer &lb OPM_UNUSED)
add discrete function to load balancer
Definition: restrictprolong.hh:124