MathGroup Archive 2006

[Date Index] [Thread Index] [Author Index]

Search the Archive

Geodesics with NDSolve

I am working with geodesics on a torus, for which I want to locate the
cut locus. For this purpose I solve the geodesic equations (two coupled
non-linear first order ODEs), shooting off two geodesics in different
directions from a point p on the surface. The geodesics then meet at
some other (cut) point q1 on the surface. If you change the angle
between the geodesics at the inital point p, they meet at another point
q2 on the surface. In this way, you get a set of points, which together
constitute the socalled cut locus of the torus.

To solve the coupled ODEs in Mathematica, I use NDSolve. This works
good, and I am able to locate the points q1, q2, etc. I do this by
solving the ODEs in a fixed interval for the independent variable, say
t. However, in order to find all the cut points, I have to use
different intervals for t. At the moment, I change the interval
manually, but I would like to do it somehow automatically.

What I would like to achieve is: 1) I specify a large interval for t;
2) after each time step, I check the distance in space between the two
geodesics; 3) if the distance is smaller than a given tolerance,
NDSolve is stopped -- alternatively, if the distance at t(n+1) is
larger than the distance at t(n), NDSolve is stopped, and t(n) is

The problem is, however, that the solution to the ODEs is in the
(u,v)-plane, and thus has to be inserted into the parametrization of
the torus, in order to check the distance in space. This has to be done
after each time step in NDSolve, why this strategy might prove

I do not know if I can achieve this in Mathematica -- with the built-in
function NDSolve. Therefore I am asking you Mathematica experts for any
suggestions on how to achieve what I want here. Do you see what I want
to achieve? I will not provide you with more information now, but if
you want to, I can post the work I have done so far later.


Sigmund Vestergaard
stud.polyt. at the Technical University of Denmark

  • Prev by Date: Re: Extract any diagonal from a square matrix...
  • Next by Date: Re: OT: simplex method
  • Previous by thread: Re: Checking the sign of a Mathematical expression
  • Next by thread: Re: Geodesics with NDSolve