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
509 stars 159 forks source link

Support reading periodic Gmsh files #1246

Open wence- opened 6 years ago

wence- commented 6 years ago

DMPlex can read periodic meshes from Gmsh. But we can't use them from Firedrake.

The problem is two-fold:

  1. We need to be able to specify to the mesh what coordinate field to use (addressed in branch mesh-coordinate-element). This bit is easy
  2. We need more generic code to reorder the coordinate field that the DM gives us into the correct one for Firedrake. I got lost in the reorderings. This is particularly tricky because in PETSc, they only DGise the coordinates for those cells which are on the periodic "boundary", not everywhere. So in the rest of the mesh it's still continuous. Moreover, the periodic vertices have values associated with them. Quoth Matt:

You can think of it being multi-values, or you can think of the vertex values as lying on a specific Riemann sheet.

goldsbe commented 5 years ago

Has there been any progress made on this?

I am interested in using Firedrake to model acoustic and elastic wave metamaterials, which require periodic BCs applied on a representative unit cell. The geometry of the unit cell is usually very complex, so I generate the geometry in CAD and mesh using Gmsh.

dham commented 5 years ago

I don't think this has been fixed. It's not currently on any developer's critical path which makes it unlikely to be fixed rapidly, I'm afraid.