#1204: carpet bug --------------------------------------+------------------------------------- Reporter: abdik@… | Owner: eschnett Type: defect | Status: new Priority: major | Milestone: Component: Carpet | Version: Resolution: | Keywords: --------------------------------------+-------------------------------------
Comment (by rhaas):
Ernazar had talked to me about this before a bit but I could not really help. While Ernazar was reverting the commit (4306806ad6d517f4e9b675d3cd541c95db3ea7fa) that introduced the failing assert (line 1211 of dh.cc), I rooted a bit in the code of dh.cc. It seems as if dh::regrid assumes that local_boxes::fine_boundary is empty when the routine is entered. My suspicion is that this is not true if regrid is entered for a patch that did not actually change (eg level 1 changed which calls regrid on all finer levels that might not have changed or maybe any multipatch patch). A fix would seem to be to do what fast_boxes does and call local_boxes.clear() in lines 287 of dh.cc might fix it. I don't know how expensive this is though (and if one could re-use some of the apparently expensive content of local_boxes). I have not tested this.