dune-grid-glue and hanging nodes
I need to add the possibility to project surfaces with hanging nodes using ContactMerge
and the Codim1Extractor
and would like to have your opinion on how to implement this best.
First of all, the problem is that StandardMerge
assumes that along every edge there exists exactly one pair of neighbors.
In my mind there are two possibilities:
-
Modify
StandardMerge
(or add aNonConformingContactMerge
) by storing for each edge a vector of neighbors and use this information within the advancing front algorithm. -
Modify
Codim1Extractor
(or add aNonConformingCodim1Extractor
) such that elements containing a hanging node are split up into "conforming" triangles before handing them over to the merger (similar to how quadrilaterals are treated)
For possibility 1. I am not sure if computing nonconforming neighbor information works without addionally knowing the underlying gridview and the extractor predicate, hence it would destroy all decoupling done in dune-grid-glue. Possibility 2. should work but it is rather difficult in comparison with 1.