For our example, since the equations of motion are invariant under the transformation 78#78 for any integer n, we may consider 64#64 to be a periodic variable with period 82#82. We may choose any interval of length 82#82 as a fundamental domain for the variable 64#64. Common choices are the intervals 85#85 and 80#80. We make the latter choice. To pass this information into DsTool, we edit yet a few more lines in bball_init():
int manifold_type=PERIODIC; /* EUCLIDEAN or PERIODIC */ static int periodic_varb[]={TRUE, FALSE}; /* if PERIODIC, which varbs periodic? */ static double period_start[]={0.,0.}; /*if PERIODIC, begin fundamental domain */ static double period_end[]={TWOPI, 1.}; /*if PERIODIC, end of fundamental domain*/
We remark on the variables period_start and
period_end. If the jth coordinate is not periodic (, the
value of periodic_varb[j] is FALSE) then it does not
matter what period_start[j] and period_end[j] are because
the entries are ignored by DsTool. Similarly, if the variable
manifold_type is EUCLIDEAN, then it doesn't matter what
values are given for the entries of periodic_varb. It is
always safe, of course, to set each entry of periodic_varb to
FALSE. As mentioned in Section , TWOPI is a global
constant.