[Users] Problem with CarpetRegrid2/AMR

Eloisa Bentivegna bentivegna at cct.lsu.edu
Thu Dec 15 15:18:37 CST 2011


On Dec 15, 2011, at 9:50 PM, Hal Finkel wrote:

> Can you be more specific?

I think that what Erik is suggesting is to fill all the grid parts that are not covered by the SetLevelMask calculation. These entail:

1) The interprocessor and mesh refinement boundaries, which are filled by requiring that level_mask is synchronised upon exit from SetLevelMask (basically this is done by adding "SYNC: level_mask" to the schedule block for SetLevelMask in schedule.ccl);
2) The symmetry boundaries, which are filled by applying the corresponding conditions right after SetLevelMask (this is accomplished by scheduling the SelectBoundConds function and ApplyBCs group, in this order, after SetLevelMask).

It's worth stressing that this approach doesn't currently work for me; I plan on taking a closer look in the next few days.

> And is a sufficient number just to make sure
> that no one processor holds to opposing faces of the cube?

Yes. I'm not sure whether this number can be calculated a priori, especially in the case where the grid is worked out at runtime and may be quite dynamical. However, I'm reviewing Erik's patch introducing some login in Periodic to check exactly this. With this patch, you'll know (a posteriori) whether you have a sufficient number of processors.

Thanks,
Eloisa


More information about the Users mailing list