local polynomial refinement

12 weeks 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

2 Answers

12 weeks 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 12 weeks ago by pf4d  
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 12 weeks 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 12 weeks ago by Nate  
and from DG you believe that CG could follow more easily?
written 12 weeks ago by pf4d  
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 12 weeks ago by Nate  
12 weeks 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
Please login to add an answer/comment or follow this question.

Similar posts:
Search »