On Tue, Apr 10, 2012 at 12:39 PM, Scott Hawley scott.hawley@belmont.edu wrote:
How about this? I came up with this last night, and it _seems_ to work..
The variable "time" may need to be set to cctk_time. Since restriction does not perform time interpolation, the only bad effect if you don't do so could be that Carpet aborts with an error message complaining about an inconsistent time. Or maybe this variable is ignored for restriction.
The loop over comm_state should be the outermost loop. For each such loop, Carpet communicates, and it is most efficient to pack as many communications together as possible. Hence the vi loop should be inside the comm_state loop. This is purely for efficiency; the code is correct as is.
Yes, your last assert statement does what you assume it does.
ŠAnd another question: Does the "base grid" count as reflevel = 0? OrŠmore specifically, if not, how do we restrict on to the "non-refined" grid?
Yes, the base grid has reflevel 0. Restricting means to restrict TO a particular level, so you do want to restrict (to) level 0, but restricting (to) the finest grid is a no-op (since there are no finer grids).
-erik