[Dune] Local p-refinement in DUNE?

Christian Engwer christian.engwer at uni-muenster.de
Thu Mar 22 20:15:52 CET 2018


Dear Bryan,

there is a limited amount of support for p-refinement. There are
different variable*fem.hh implementations of DG bases with variable
polynomial degree. You can specify the degree via a non-standard
method
      void setOrder (const EntityType& e, unsigned int p)

This should work quite straight forward. If you want to use conforming
FEM things are a bit more complicated. You could implement something
very similar to the current implementation, but how do you ensure
conformity. This has to be done either by the finite-element-map by
providing a specific finite-element which has a lower degree on a
face, or by introducing appropriate constraints. Currently
dune-localfunctions is not able to create such mixed degree elements
and I don't think this is a viable apporach. So you want the
constraints... PDELab has a couple of constraints implementations, but
non that will work for this case.

So first question is ... what exactly do you need?

Best
Christian


> Hello,
> I am attempting to implement the ability to locally refine the polynomial
> degree of the function space within my DUNE code, using PDELab. My first
> thought was to use DUNE's "CompositeGridFunction" functionality, but I do
> not believe this allows for modification of the grid space degree across
> the domain.
>
> To do this, would I instead have to code my own finite-element map whose
> degree changes across the domain, and make a grid function space out of
> that? Are there any tutorials available where such refinement is done? I
> don't have any ideas of a starting point, so any thoughts or pointers would
> be greatly appreciated!
>
> Thank you,
> Bryan




More information about the Dune mailing list