It is an immediate observation that any nice, equally spaced two-dimensional mesh loses its nice properties under iteration of the nonlinear map f. This has to do with different growth rates, which lead to the accumulation of the mesh on one-dimensional submanifolds as is sketched in Figure 2. Our strategy to avoid this problem is to compute the intersection curves of with the finitely many leaves of . Along each intersection curve we impose that the mesh has a maximal distance between meshpoints. Furthermore, the algorithm is such that corresponding mesh points in neighboring leaves have the same (arclength) distance from the invariant manifold. This is a result of the strategy of adding to the mesh a circle with prescribed (arclength) distance at each step. By default we begin with enough points in M, so that neighboring points in M have maximal distance . (It may be useful during computations to allow the distance between mesh points in one leaf to be different from the distance between mesh points in neighboring leaves.)
In other words, by definition the mesh is uniform in the beginning of the computation, so that each edge of the triangulation has a maximal length of . The only problem is that later in the computation neighboring points in different leaves may have a distance larger than . The solution is to add leaves during the computation to guarantee that the mesh stays uniform.
If we allow new leaves
to be added, it means that M is no longer of
fixed size. At any step, let M label the leaves
that currently define the mesh.
An additional leaf is added as follows.
After computing Mesh[k]
we
check for all pairs
of neighboring points from M
if the distance between
Mesh[k][
]
and
Mesh[k][
]
is smaller than .
Suppose that this distance is larger than
at . Then we add the point
Mesh[k-1][
]
+
Mesh[k-1][
]
to M,
which means that we add
the leaf to the finite
collection defining the mesh. We
enlarge Mesh
by the entry Mesh[k-1][
]
,
that is, we enlarge the circle Mesh[k-1]
by the linear interpolation
. (Note that
Mesh[k-1][
]
and
Mesh[k-1][
]
are less than apart.)
Now we determine a new point
Mesh[k][
]
that lies
on the curve
and at distance from
Mesh[k-1][
]
by the same technique we described before.
In the next step, is simply
another leaf in the collection given by M, so that
the next circle will also contain a point in this
new leaf. Finally, the set of triangles in
Tri
is updated accordingly. How the mesh
grows is sketched in Figure 9;
see also Section 5.3.
Written by: Bernd Krauskopf
& Hinke Osinga
Created: May 27 1997 ---
Last modified: Fri May 30 19:52:23 1997