[Dune] Storing a LocalFiniteElement during grid adaption

Simon Praetorius simon.praetorius at tu-dresden.de
Tue Nov 20 18:29:14 CET 2018


Hi everyone,

during grid adaption it might be necessary to store the values of a 
discrete function in a persistent container and interpolate these stored 
values after the grid has changed to a discrete function associated to 
new grid elements. So, the function space has changed and the gridview 
has changed. Assume the discrete function is associated to a leaf 
gridview only. A strategy could be to

a) either interpolate from a leaf element to a non-vanishing father 
element before the grid is coarsened and store the result (somehow) in 
the persistent container for the father element, or
b) just store a representation of the function on the (leaf) element 
before grid coarsening, and interpolate from this stored data after grid 
adaption to the new (coarser) element in the grid

For a) I would require a coarse-element view onto the fine-grid data, or 
more precisely the local finite element on the resulting grid I want to 
interpolate to. This is difficult to obtain, since the new grid does not 
yet exist.

In case b) I need to store the old-grid representation of the function 
on the leaf element. The local coefficients related to this element are 
not enough, they need to get some meaning in the sense of a LocalBasis. 
Is it possible to store, e.g. the LocalFiniteElement associated to a 
leaf grid element on the old grid so that it remains valid after grid 
adaption? The dune-localfunctions manual says that a LocalFiniteElement 
is mainly create by a factory and is valid as along the factory exists. 
But, some factories might depend on the gridView, or the concrete grid 
element, or some data like orientation of the grid element or its 
sub-entities. So, they are probably/maybe not valid after grid change 
anymore.

My question: Is it valid to store a copy of a LocalFiniteElement and use 
it after the grid has changed?

Best,
Simon

PS: this question is related to a discussion in the dune-functions 
mailinglist, but not directly related to dune-functions anymore.





More information about the Dune mailing list