
Andreas Dedner authored
Merge branch 'bugfix/LagrangeSpaceRangeGT1' into 'master' ref:dunefem/dunefem Note: requires the feature/lagrangeinterpolate_with_general_container branch of dunelocalfunctions This merge request adds the following features to the lfe spaces:  use of vectorial bfe if the underlying lfe is scalar. Note that at the moment vector valued spaces like RT are not available as (V)^r spaces  generic restrict/prolong operators which are based on the underlying local interpolation. Should work in general but some tests i.e. with an RT space still need to be added. Note that this required a new method on the restrict/prolong operators restrictFinalize which is called after restrictLocal has been called for all children on a given father. This approach assumes that one father element is completely finished before another coarse element is considered  if this does not hold the construction will fail. The LocalRP operators do not have a default interface class so the restrictFinalize method can not be default implemented. This MR also contains some other minor changes (which should not influence any code) which were required to make dunefem play nicely with dunelocalfunction. The restrction/prolongation is now implemented as follows: For the prolongation the interpolation on the children is directly used (without setting up a matrix), i.e., denoting with \$G_{CF}\$ the geometryInFather: u_C = I_C(u_F\circ G_{CF}) For the restriction I want to do the same, i.e., u_F = I_F(u_{\sum C}\circ (G_{CF})^{1}) where \$`\sum C`\$ denotes the local function which is equal to \$u_C\$ on the child \$C\$. A caveat is when \$I_F\$ requires an evaluation at a point on the boundary between children, i.e., in the Lagrange case at a vertex shared by two children. This will lead to problem when simply implementing this in the prolongLocal method using: u_F = \sum_C I_F(u_C\circ (G_{CF})^{1}) where \$u_C\$ is extended by zero outside of \$C\$. This leads to a doubling of the dof at the shared vertex. To avoid this problem the actual interpolation is performed in a new method restrictFinalize and a suitable weighted value is returned at the shared points. See merge request [!308] [!308]: gitlab.duneproject.org/dunefem/dunefem/merge_requests/308
8bbdd641
Name 
Last commit

Last update 

cmake/modules  
doc  
dune  
lib  
scripts  
.gitignore  
.gitlabci.yml  
AUTHORS  
CHANGELOG.md  
CMakeLists.txt  
COPYING  
LICENSE.md  
README.md  
config.h.cmake  
dunefem.pc.in  
dune.module  
modules 