#1236: ReflectionSYmmetry does not handle vector groups of vectors correctly ---------------------+------------------------------------------------------ Reporter: rhaas | Owner: Type: defect | Status: new Priority: minor | Milestone: Component: Cactus | Version: Resolution: | Keywords: RelfectionSymmetry RotatingSymmetry180 RotatingSymmetry90 ---------------------+------------------------------------------------------
Comment (by eschnett):
Instead of checking for divisible by three, please check whether the group is a vector group and what the vector length is (see cctk_Group.h, in particular the cGroup data structure).
Just looping is not a good idea, since boundary conditions can be requested per variable. In this case, symmetries should be applied only once to each variable. Instead of looping, we could use the vector length as distance between the variables. For example, the parameter file may request boundary conditions just for some variables in a group.
I assume that, in all cases, we would be allowing cases that were disallowed before. Thus, backward compatibility should not be an issue.