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