local polynomial refinement


81
views
2
20 days ago by
pf4d  
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


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

Similar posts:
Search »