firedrakeproject / firedrake

Firedrake is an automated system for the portable solution of partial differential equations using the finite element method (FEM)
https://firedrakeproject.org
Other
502 stars 158 forks source link

Adding mesh adaptation #745

Open taupalosaurus opened 8 years ago

taupalosaurus commented 8 years ago

This issue is a summary of a discussion during a meeting at IC on march 22nd. The goal of the issue is to present the roadmap we came up with, and open it to discussion.

The idea is to use Pragmatic library [https://github.com/meshadaptation/pragmatic] which will be plugged into PETSc DMPlex. First, a very limited prototype will be implemented so the workflow can be tested, then a more complete version will be developed. A major issue in implementing mesh adaptation will be the solution transfer procedure (for adaptive restarts as well as time-dependant simulations), from the "old" mesh to the "new" one. Should it be done at a topologic level in PETSc/DMPlex ? This might be simpler for standard P1 Lagrange elements, but would become difficult for more complex elements spaces, given that DMPlex objects have no notion of degrees of freedom. So it seems better to implement the interpolation procedure in Firedrake.

The adopted roadmap was summarised in the picture attached at the end of this issue. The main points were :

dsc_0011

debunge commented 7 years ago

Could anyone tell me please, what is current status of mesh adaptation in firedrake?

taupalosaurus commented 7 years ago

There is currently a PR open that implements some of the above: https://github.com/firedrakeproject/firedrake/pull/1063 (works on "regular" (non extruded) meshes with limited CG solution transfer capabilities, for now in serial). The PR mainly awaits rework of the parallel part to land.