23#ifndef EWOMS_COPYRESTRICTPROLONG_HH
24#define EWOMS_COPYRESTRICTPROLONG_HH
27#include <dune/fem/space/common/restrictprolonginterface.hh>
32 template <
class Gr
id,
class Container >
33 class CopyRestrictProlong;
35 template <
class Gr
id,
class Container >
38 using DomainFieldType =
typename Grid::ctype;
42 template<
class Gr
id,
class Container >
45 :
public Dune::Fem::RestrictProlongInterfaceDefault< CopyRestrictProlongTraits< Grid, Container > >
50 Container& container_;
52 using DomainFieldType =
typename Grid::ctype;
55 : container_( container )
64 template <
class Field>
69 template<
class Entity >
70 void restrictLocal (
const Entity& father,
const Entity& son,
bool initialize )
const
73 assert( container_.codimension() == 0 );
77 container_[ father ] = container_[ son ];
82 template<
class Entity,
class LocalGeometry >
86 bool initialize)
const
90 template<
class Entity >
96 assert( container_.codimension() == 0 );
98 container_[ son ] = container_[ father ];
102 template<
class Entity,
class LocalGeometry >
105 const LocalGeometry&,
106 bool initialize)
const
112 template<
class Communicator >
121 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:47
void addToLoadBalancer(LoadBalancer &)
add discrete function to load balancer
Definition restrictprolong.hh:122
void restrictLocal(const Entity &father, const Entity &son, bool initialize) const
restrict data to father
Definition restrictprolong.hh:70
void setFatherChildWeight(const Field &) const
explicit set volume ratio of son and father
Definition restrictprolong.hh:65
void prolongLocal(const Entity &father, const Entity &son, const LocalGeometry &, bool initialize) const
prolong data to children
Definition restrictprolong.hh:103
void prolongLocal(const Entity &father, const Entity &son, bool) const
prolong data to children
Definition restrictprolong.hh:91
void restrictLocal(const Entity &father, const Entity &son, const LocalGeometry &, bool initialize) const
restrict data to father
Definition restrictprolong.hh:83
void addToList(Communicator &)
add discrete function to communicator
Definition restrictprolong.hh:113
Definition restrictprolong.hh:142
void addToList(Communicator &)
add discrete function to communicator
Definition restrictprolong.hh:190
void restrictLocal(const Entity &, const Entity &, const LocalGeometry &, bool) const
restrict data to father
Definition restrictprolong.hh:165
void prolongLocal(const Entity &, const Entity &, const LocalGeometry &, bool) const
prolong data to children
Definition restrictprolong.hh:180
void addToLoadBalancer(LoadBalancer &)
add discrete function to load balancer
Definition restrictprolong.hh:197
void setFatherChildWeight(const Field &) const
explicit set volume ratio of son and father
Definition restrictprolong.hh:153
void prolongLocal(const Entity &, const Entity &, bool) const
prolong data to children
Definition restrictprolong.hh:173
void restrictLocal(const Entity &, const Entity &, bool) const
restrict data to father
Definition restrictprolong.hh:158
This file contains a set of helper functions used by VFPProd / VFPInj.
Definition blackoilboundaryratevector.hh:37
Definition restrictprolong.hh:37
Definition restrictprolong.hh:133