[Carpet] Regridding & Recomposing
Bela Szilagyi
szilagyi at aei.mpg.de
Tue Jan 16 19:38:51 CET 2007
Erik,
it seems that your definitions for Regridding & Recomposing, in combination
with Carpet::CallRegrid() give no scheduling of the POSTREGRID bin in certain
cases where maybe it should.
From what I see, the return value of the Regrid function is set to "true" when
requesting a decrease in the number of refinement levels. Also, the
Recompose() routine appears to return "true" only if the grid definition on a
particular level has changed. You only schedule POSTREGRID if both
"did_regrid" and "did_recompose" is set to "true". Which means that when I
request a change (decrease) in the levels, but no change within any of the
levels themselves, there will be no scheduling of POSTREGRID.
I would suggest that we treat the case
did_regrid = (not did_recompose) = true
slightly differently.
We could schedule POSTREGRID either on all grids or on the new finest grid
after having changed the nr of levels.
Also, if did_recompose is true on level L < max_reflevels, wouldn't it be
safer (and reasonable) to call POSTREGRID on all finer levels as well, rather
than only on level L? (Perhaps the logic within Recompose() will ensure this
already.)
--
Bela Szilagyi
----------------------------------------------------
Max-Planck-Institut für Gravitationsphysik
Albert-Einstein-Institut
Tel: +49 331 567 7632
Fax: +49 331 567 7649
----------------------------------------------------
More information about the developers
mailing list