#558: Carpet with Periodic Boundary Conditions ------------------------------+--------------------------------------------- Reporter: hfinkel@… | Owner: eschnett Type: enhancement | Status: review Priority: major | Milestone: Component: Carpet | Version: Resolution: | Keywords: carpet periodic ------------------------------+---------------------------------------------
Comment (by eschnett):
Inserting an extra call to clip should not be a performance issue, because these routines are only called during regridding, not during evolution.
One alternative may be to modify the shifting to
// Shift boxes upwards and downwards by one period symmetrised |= bb.shift(+ioffset / bb.stride()) & baseextent; symmetrised |= bb.shift(-ioffset / bb.stride()) & baseextent;
which does part of what the clipping does.
The underlying problem, of course, is Carpet's inefficient implementation of bboxsets. This really needs to improve.