← Back to team overview

dolfin team mailing list archive

MeshHierarchy

 

I am now working on mesh refinement/coarsening in Dolfin. There are 2
different approaches; either (1) we have one mesh object that we modify,
or (2) we have a hierarchy of meshes. I think we should support both (1)
and (2). The benefit of (1) is that it is simple and cheap to store,
whereas (2) can make coarsening simpler and is typically needed in
geometric multigrid.

I plan to add a class MeshHierarchy for the purpose of (2). I want to keep
it simple, but to minimize storage we need to be somewhat more clever than
just using a simple array with meshes. I guess something like (i) a
primitive base mesh; mesh0, which is a regular mesh object, together with
(ii) the number of refinement levels, and (iii) for each level k the cells
that are part k but not k-1, together with their vertices and edges.

Is there any problem in considering (iii) to be some sort of "broken
mesh", and treat mesh_k as a regular mesh object that may not be
connected? If we do this then MeshHierarchy would basically just be a
collection of mesh objects, together with parent-child info.

Any other ideas/comments/objections?

/Johan












Follow ups