### local polynomial refinement

306
views
2
9 months ago by
I would like to locally increase the polynomial order of the finite-element basis; i.e., perform local $p$ refinement.

I do not care if this is difficult to implement and am interested in any strategy to accomplish the task.
Community: FEniCS Project

5
9 months ago by
The p_refine() in dolfin is to change the order of the geometry, from P1 to P2, i.e. quadratic geometry, not to perform local p-refinement of the basis.

Local p-refinement would probably require a lot of work. I suppose the DofMap would have to be changed, e.g. so that some cells had more degrees of freedom. You would have to design a new DofMap class based on GenericDofMap with a variable number of dofs per cell.
This seems like it would be a very useful feature.

Do you think it would be worth the effort?
written 9 months ago by pf4d
2
It could be quite difficult, especially in parallel. Perhaps DG elements are easier to deal with, and that might be a good place to start.
written 9 months ago by Chris Richardson
DG is definitely the place to start in terms of complexity. The thought of CG p-refinement makes me nervous.
written 9 months ago by Nate
and from DG you believe that CG could follow more easily?
written 9 months ago by pf4d
2
Not particularly. Maintaining continuity of the basis between elements with CG p-refinement will be a lot of effort with the way FFC and UFC work at the moment. Someone may have some better ideas of how to handle this. DG is much simpler since you have no restrictions on continuity of the basis between elements.
written 8 months ago by Nate
0
9 months ago by
I guess you might be aware of this, but it seems that there is work going on, at least there is "p_refine" inside here
https://bitbucket.org/fenics-project/dolfin/src/deee9312def806218369971de6786ce9bdf469b8/dolfin/refinement/refine.h?at=master&fileviewer=file-view-default