Wiki

Clone wiki

FEniCS Developer Tools / MeshHierarchy

Interface to date

mh = MeshHierarchy(mesh)

# mark cells for refinement
markers = CellFunction("bool", mh.finest())

mh = mh.refine(markers)

# also undo refinement
mh = mh.unrefine()

# or partially undo last refinement ('coarsen' some parts of Mesh)
mh = mh.coarsen(markers)

Some thought needs to go in to the coarsen interface, since it is not clear how much coarsening is intended... just one level, or up to the coarsest level.

Work in progress

Currently looking at load balancing, by repartitioning the MeshHierarchy using SCOTCH, with a weight representing the number of fine cells on each Cell at the coarsest level.

Future Work

Need to connect up with FunctionSpace and Function etc. to make useful. Need to be able to interpolate efficiently between related Meshes.

Updated