Download as pdf or txt
Download as pdf or txt
You are on page 1of 113

Advanced topics in astrodynamics

Numerical techniques
J.M. Mondelo

Universitat Autònoma de Barcelona

Advanced topics in astrodynamicsNumerical techniques – p.1/64


Contents

Part I: Dynamical systems.


Continuous.
Discrete.
Orbit generation.
Poincaré sections.

Part II: Computation of objects.


Fixed points.
Linear behavior around fixed points.
Periodic orbits.
Minimum–norm least–squares solutions.
Linear behavior around periodic orbits.
Computation of invariant 2D tori.
Starting from a p.o.

Advanced topics in astrodynamicsNumerical techniques – p.2/64


Contents

Part III: Continuation of objects.


Continuation with respect to a parameter.
The pseudo–arclength method.
Continuating p.o.
Continuating invariant tori.

Part IV: The center manifold of the collinear point L1 .


Linear behavior.
Periodic orbits.
Invariant 2D tori.
Iso–energetic Poincaré sections.

Advanced topics in astrodynamicsNumerical techniques – p.2/64


Part I
Dynamical systems

Advanced topics in astrodynamicsNumerical techniques – p.3/64


Continuous and discrete

Dynamical systems are systems that evolve with time.

Time may be thought as


Continuous (clock), matematically t ∈ R
−→ Continuous dynamical systems
Discrete (days, months,. . . ), matematically t ∈ Z
−→ Discrete dynamical systems

Continuous dynamical systems are given by a system of Ordinary Differential


Equations (ODE).

Discrete dynamical systems are given by an smooth, 1–1 map.

Advanced topics in astrodynamicsNumerical techniques – p.4/64


Continuous dynamical systems

Defined by a system of autonomous (i.e. time–independent) ODE.




 ẋ1 = f1 (x1 , x2 , . . . , xn ),


 ẋ2 = f2 (x1 , x2 , . . . , xn ),
 ..

 .


ẋn = fn (x1 , x2 , . . . , xn ),

In short,
ẋ = f (x), for x ∈ Rn , f : R n → Rn .
with    
x1 f1 (x)
 .   . 
x=
 .
.
 ∈ Rn ,


f (x) =  ..  ∈ Rn

xn fn (x)

Advanced topics in astrodynamicsNumerical techniques – p.5/64


Continuous dynamical systems

An autonomous system of ODE

ẋ = f (x), for x ∈ Rn , f : R n → Rn .

allows to define the flow,

φt (x), t ∈ R, x ∈ Rn ,

that satisfies (
d

dt φt (x) = f φt (x) ,
φ0 (x) = x,

and 
φs+t (x) = φs φt (x) .

Advanced topics in astrodynamicsNumerical techniques – p.5/64


Some terminology
Given an initial condition x0 , its orbit is

{φt (x0 )}t∈R .

A fixed point of a continuous dynamical system is a point x 0 whose orbit


is itself:
φt (x0 ) = x0 ∀t ∈ R,
this can only happen if f (x0 ) = 0.
An orbit {φt (x0 )}t∈R is said to be periodic if there is T > 0 such that

φT (x0 ) = x0 ,
φt (x0 ) 6= x0 , for 0 < t < T,

then T is said to be its period.


An invariant set A is a set of initial conditions invariant by the flow:

φt (x0 ) ∈ A ∀x0 ∈ A.
Advanced topics in astrodynamicsNumerical techniques – p.6/64
Example: the Circular Spatial RTBP

y ( x,y,z )

r2
r1

m2 m1 x
(µ−1,0,0) (µ,0,0)

µ = m2 /m1 ,
p
r1 = (x − µ)2 + y 2 + z 2 ,
p
r2 = (x − µ + 1)2 + y 2 + z 2 .

Advanced topics in astrodynamicsNumerical techniques – p.7/64


Example: the Circular Spatial RTBP

In Hamiltonian form, is defined by the equations

1−µ µ
ẋ = px + y, ṗx = py − 3 (x − µ) − 3 (x − µ + 1),
r r2
11 − µ µ 
ẏ = py − x, ṗy = −px − 3 + 3 y,
r r
1 − µ 1 µ  2
ż = pz , ṗz = − + 3 z.
r13 r2

with
p
r1 = (x − µ)2 + y 2 + z 2 ,
p
r2 = (x − µ + 1)2 + y 2 + z 2 ,

and Hamiltonian
1 2 2 2 1−µ µ
H(x, y, z, px , py , pz ) = (px + py + pz ) − xpy + ypx − + .
2 r1 r2

Advanced topics in astrodynamicsNumerical techniques – p.7/64


Example: the Circular Spatial RTBP

In short,
ẋ = f (x), for x ∈ R6 , f : R 6 → R6 .
with
 
  f1 (x) = px + y
x  f2 (x) = py − x 
 
   
 y   f3 (x) = pz 
   
 z   1−µ µ 
x=

,
 f (x) = 

f4 (x) = py −
r13
(x − µ) − 3 (x − µ + 1)
r2


 px    
   1−µ µ 
 py   f5 (x) = −px − 3 + 3 y 
pz

  1 − µ r1 µ  r2 

f6 (x) = − 3 + 3 z
r1 r2

Advanced topics in astrodynamicsNumerical techniques – p.7/64


Non–autonomous ODE

A system of non–autonomous ODE is a system of ODE that depends on time,

ẋ = f (t, x), t ∈ R, x ∈ Rn , f : R × Rn → Rn .

In order to consider the corresponding dynamical system, we have first to


autonomize it: take y = (y0 , . . . , yn )> := (t, x)> , and consider


 ẏ0 = 1,


 ẏ1 = g1 (y0 , y1 , . . . , yn ),
 ..

 .


ẏn = gn (y0 , y1 , . . . , yn ),

in short
ẏ = g(y).
An autonomized system of ODE has never fixed points.

Advanced topics in astrodynamicsNumerical techniques – p.8/64


Example: the Bicircular Problem (BCP)
It’s a restricted four–body problem.
y ( x,y,z )

r2
r1
r3

m2 m1 x
θ0 +ωt
(µ−1,0,0) (µ,0,0)

p a
r1 = (x − µ)2 + y 2 + z 2 ,
p m3
r2 = (x − µ + 1)2 + y 2 + z 2 ,
q 2 2
r3 = x − a cos(θ0 + ωt) + y + a sin(θ0 + ωt) + z 2
m2 m3
µ = , η = ,
m1 m1 + m2 + m3
Advanced topics in astrodynamicsNumerical techniques – p.9/64
Example: the Bicircular Problem (BCP)
The Hamiltonian is
1 2 2 2 1−µ µ
H(t, x, y, z, px , py , pz ) = (px + py + pz ) − xpy + ypx − −
2 r1 r2
η 
− 2 x cos(θ0 + ωt) − y sin(θ0 + ωt) ,
a

and the equations are

ẋ = px + y, ẏ = py − x, ż = pz ,
1−µ µ η 
ṗx = py − (x − µ) − 3 (x − µ + 1) − 3 x − a cos(θ0 + ωt)
r13 r2 r3
η
− 2 cos(θ0 + ωt),
a
1−µ µ η  η
ṗy = −px − 3 + 3 y − 3 y + a sin(θ 0 + ωt) + 2
sin(θ0 + ωt),
r r2 r3 a
1 − µ 1 µ η 
ṗz = − + 3 + 3 z.
r13 r2 r3

Advanced topics in astrodynamicsNumerical techniques – p.9/64


Example: the Bicircular Problem (BCP)
In short form,
ẋ = f (θ0 + ωt, x),
being

x = (x, y, z, px , py , pz )> , f (θ, x) = (f1 (θ, x), . . . , f6 (θ, x))> ,

with

f1 (θ, x) = px + y,
f2 (θ, x) = py − x
f3 (θ, x) = pz
1−µ µ η  η
f4 (θ, x) = py − 3 (x − µ) − 3 (x − µ + 1) − 3 x − a cos θ − 2
cos θ
r1
  r2 r3 a
1−µ µ η  η
f5 (θ, x) = −px − 3 + 3 y − 3 y + a sin θ + 2 sin θ
 1 − µ 1 µ rη2 
r r3 a
f6 (θ, x) = − + 3+ 3 z
r13 r2 r3
Advanced topics in astrodynamicsNumerical techniques – p.9/64
Example: the Bicircular Problem (BCP)
We can autonomize it by introducing a new variable θ:

θ̇ = ω, ẋ = px + y, ẏ = py − x, ż = pz ,
1−µ µ η  η
ṗx = py − 3 (x − µ) − 3 (x − µ + 1) − 3 x − a cos θ − 2
cos θ,
r r2 r3 a
11 − µ µ  η  η
ṗy = −px − + 3 y − 3 y + a sin θ + 2 sin θ,
r13 r2 r3 a
1 − µ µ η 
ṗz = − 3 + 3 + 3 z.
r1 r2 r3

In short form,
ẏ = g(ẏ),
with

y = (θ, x)> , x = (x, y, z, px , py , pz )> , g(y) = (ω, f1 (θ, x), . . . , f6 (θ, x)).

Here we consider θ ∈ T1 : θ = θ + 2π = θ − 2π = . . .
Advanced topics in astrodynamicsNumerical techniques – p.9/64
Discrete dynamical systems

Discrete dynamical systems are defined by dipheormorfisms (smooth 1–1


maps)

F : Rn −→ Rn
x 7−→ F (x).

We denote by F −1 the inverse map of F , and use superscript notation for the
composition of maps:

F 0 (x) = x,
F 1 (x) = F (x),
F 2 (x) = F (F (x)), F −2 (x) = F −1 (F −1 (x)),
F 3 (x) = F (F (F (x))), F −3 (x) = F −1 (F −1 (F −1 (x))).
.. ..
. .

Advanced topics in astrodynamicsNumerical techniques – p.10/64


Some concepts

Given an initial condition, its related orbit is the set { F i (x)}i∈Z , that is,

{. . . , F −3 (x), F −2 (x), F −1 (x), F 0 (x), F 1 (x), F 2 (x), F 3 (x), . . .}.

A fixed point is an initial condition such that its orbit is itself,

F (x0 ) = x0 .

An n–periodic point is an initial condition x0 such that

F n (x0 ) = x0 ,
F i (x0 ) 6= x0 , i = 1, . . . , n − 1.

A set of initial conditions A ∈ Rn is said to be an invariant set if

F n (x) ∈ A, ∀n ∈ Z, ∀x ∈ A.

Advanced topics in astrodynamicsNumerical techniques – p.11/64


Example: the standard map
! !
x x + a sin(x + y)
F : 7−→
y x+y

for x, y ∈ T = R/[0, 2π], a = −0.7.


3

-1

-2

-3
-3 -2 -1 0 1 2 3

Advanced topics in astrodynamicsNumerical techniques – p.12/64


Example: the time–period flow of the BCP

The autonomized BCP:

θ̇ = ω, ẋ = px + y, ẏ = py − x, ż = pz ,
1−µ µ η  η
ṗx = py − (x − µ) − 3 (x − µ + 1) − 3 x − a cos θ − 2 cos θ,
r13  r2 r3 a
1−µ µ η  η
ṗy = −px − 3 + 3 y − 3 y + a sin θ + 2
sin θ,
 1 − µ r1 µ rη2  r3 a
ṗz = − 3 + 3 + 3 z.
r1 r2 r3

Denote by Φt (y) its flow.

d
Φt (y) = F (Φt (y)),
dt
Φ0 (y) = y, ∀y ∈ R7 .

Advanced topics in astrodynamicsNumerical techniques – p.13/64


Example: the time–period flow of the BCP

The autonomized BCP:

θ̇ = ω, ẋ = px + y, ẏ = py − x, ż = pz ,
1−µ µ η  η
ṗx = py − (x − µ) − 3 (x − µ + 1) − 3 x − a cos θ − 2 cos θ,
r13  r2 r3 a
1−µ µ η  η
ṗy = −px − 3 + 3 y − 3 y + a sin θ + 2
sin θ,
 1 − µ r1 µ rη2  r3 a
ṗz = − 3 + 3 + 3 z.
r1 r2 r3

Then,
! !
θ θ + ωt
Φt (y) = φt = ,
x φθt (x)

here φθt (x) is the flow from time 0 to time t of the BCP with phase θ:

ẋ = f (θ + ωt, x)

Advanced topics in astrodynamicsNumerical techniques – p.13/64


Example: the time–period flow of the BCP

We can consider the time–2π/ω flow of ẏ = g(y),

G(y) = Φ2π/ω (y),

that is,
!   !

θ θ+ ω  θ
G = ω = .
x φθ2π/ω (x) φθ2π/ω (x)

Since the θ coordinate is invariant, we can skip it and define

Fθ (x) := φθ2π/ω (x).

Note that a fixed point of Fθ is a periodic orbit of the BCP with initial phase θ.

Advanced topics in astrodynamicsNumerical techniques – p.14/64


Orbit generation in a dynamical system

Assume we are given:


A dynamical system, either continuous or discrete.
An initial condition, x0 ∈ Rn .
We want to numerically generate the orbit of x0 .
In the discrete case, we just have to write a routine that implements the
map, and iterate it.
In the continuous case: we need to use numerical methods for systems for
ODE.
One of the most popular family of methods are Runge–Kutta–Fehlberg
ones.
One of the most popular among them are the RKF78 method by Fehlberg
(1968), developed under contract by NASA for the Apollo missions.
We will just comment the use of a RKF routine as a black box.

Advanced topics in astrodynamicsNumerical techniques – p.15/64


Use of a black–box RKF routine

Consider a system of n possibly non–autonomous ODE,

ẋ = f (t, x),

and denote by φtt0 (x) its flow from time t0 to time t.

d t
φt0 (x) = f (t, φtt0 (x)),
dt
φtt00 (x) = x, ∀x ∈ Rn .

Advanced topics in astrodynamicsNumerical techniques – p.16/64


Use of a black–box RKF routine

Consider a system of n possibly non–autonomous ODE,

ẋ = f (t, x),

and denote by φtt0 (x) its flow from time t0 to time t.


Given t0 ∈ R, x0 ∈ Rn , h0 ∈ R (small), and a tolerance tol, a RKF routine
returns t1 ∈ R, x1 ∈ Rn , h1 ∈ R verifying
(a) |x1 − φtt10 (x0 )| < tol,
(b) t1 is as close to t0 + h0 as possible,
(c) h1 is a recommended steplength for the next call.
We will denote a call to such an RKF routine as

(t1 , x1 , h1 ) = RKFstep(t0 , t, x0 , h0 , f , tol)

Advanced topics in astrodynamicsNumerical techniques – p.16/64


Use of a black–box RKF routine

Consider a system of n possibly non–autonomous ODE,

ẋ = f (t, x),

and denote by φtt0 (x) its flow from time t0 to time t.


In order to implement φtt10 (x0 ) for arbitrary t, t0 , x0 , we need to write a routine
that calls the RKF routine as many times ad needed.

We will denote the call to such a routine to compute φtt10 (x0 ) as

(t1 , x1 ) = RKFflow(t0 , t, x0 , h0 , f , tol)

Advanced topics in astrodynamicsNumerical techniques – p.16/64


Variational equations

In what follows, we will often need the derivative of the flow with respect to
initial conditions, that we will denote as Dφt (x). It can be found by solving
the variational equations:

ẋ = f (t, x),
∂f
Ȧ = (t, x)A,
∂x

where x is an n–dimensional vector and A is a n × n matrix.

If x(t) and A(t) are solutions of the previous system, with

x(t0 ) = x0 , A(t0 ) = In

then
Dφtt0 (x0 ) = A(t).

Advanced topics in astrodynamicsNumerical techniques – p.17/64


Variational equations

The variational equations can be written as a system of n + n 2 ODE as

ẋ1 = f1 (t, x1 , . . . , xn ),
..
.
ẋn = fn (t, x1 , . . . , xn ),

Xn Xn
∂f1 ∂f1
ȧ1,1 = (t, x)ak,1 , . . . , ȧ1,n = (t, x)ak,n ,
∂xk ∂xk
k=1 k=1
.. ..
. .
Xn Xn
∂fn ∂fn
ȧn,1 = (t, x)ak,1 , . . . , ȧn,n = (t, x)ak,n .
∂xk ∂xk
k=1 k=1

Advanced topics in astrodynamicsNumerical techniques – p.17/64


Turning a continuous system into a discrete one

The computation of some objects is simplified by considering discrete


dinamical systems instead of continuous.

A way to turn a continuous dysis into a discrete one is the time–T flow (we
have already done it with the BCP).

Another way useful in many situations is to consider a Poincaré map.

Advanced topics in astrodynamicsNumerical techniques – p.18/64


Poincaré maps

Let Σ be a hypersurface of Rn , and assume it is transversal to the


vectorfield, that is, the vectorfield is not tangent Σ in any point of Σ,

∀x ∈ Σ f (x) ∈
/ Tx (Σ).

Let x0 be such that φT0 ∈ Σ for some T0 > 0, and assume that T0 is
minimum with this property.
Under suitable hypothesis, there exists a neighborhood U 3 x 0 and a map
τ : U → Rn , known as time–return map, such that

φτ (x) (x) ∈ Σ ∀x ∈ U.

The map
P (x) = φτ (x) (x)
is called Poincaré map or first–return map corresponding to Σ.
The restriction of P to V := Σ ∩ U defines a discrete dynamical system.

Advanced topics in astrodynamicsNumerical techniques – p.19/64


Poincaré maps: numerical computation
We are given:
A Poincaré map, P (x) = φτ (x) (x).
A surface of section, Σ = {g(x) = 0}, to be traversed from {g(x) < 0} to
{g(x) > 0}
We can numerically evaluate P (x) by the following algorithm:
input: x, g , f , tol
do: t:=0, y :=x, h:=tol
while (g(y) ≥ 0)
(t,y ,h):=RKFstep(t,y ,h,f ,tol)
while (g(y) < 0)
(t,y ,h):=RKFstep(t,y ,h,f ,tol)
while (|g(y)| < tol) 
δ :=−g(y)/ Dg(y)f (y)
(t,y ,h):=RKFflow(t,t + δ ,y ,h,f ,tol)
output: t, y .
At the end of the algorithm, y = P (x) and t = τ (x).

Advanced topics in astrodynamicsNumerical techniques – p.20/64


Poincaré maps: differential

In order to differentiate P (x), we need


Dφτ (x) (x), from variational equations.
Dτ (x).
The last quantity can be obtained by implicit differentiation:

0 ≡ g(P (x))

Dg P (x) Dφτ (x) (x)
=⇒ Dτ (x) = −   .
Dg P (x) f P (x)

From the chain rule,


1×n n×n
z }| { z }| {
 Dg P (x) Dφτ (x) (x)
DP (x) = − f P (x)   + Dφτ (x) (x).
| {z } Dg P (x) f P (x) | {z }
n×1 n×n

Advanced topics in astrodynamicsNumerical techniques – p.21/64


Part II
Computation of objects

Advanced topics in astrodynamicsNumerical techniques – p.22/64


Gallery of objects
Fixed points.

Periodic orbits. ’plana-1,59.dat’


’plana-1,591.dat’
’plana-1,592.dat’
’plana-1,593.dat’
0.05 ’plana-1,594.dat’
0.025 ’vert-1,59.dat’
’vert-1,591.dat’
0 ’vert-1,592.dat’
-0.025 ’vert-1,593.dat’
’vert-1,594.dat’
-0.05 ’l1.dat’
0.05
0.030.04
-0.855 0.010.02
-0.85 -0.845 -0.01 0
-0.02
-0.84 -0.835 -0.03
-0.83 -0.04
-0.825 -0.05

Advanced topics in astrodynamicsNumerical techniques – p.23/64


Gallery of objects
Invariant tori.

Invariant manifolds

Advanced topics in astrodynamicsNumerical techniques – p.23/64


Computation of fixed points

We have two cases to consider.


In the case of a flow
ẋ = f (x),
we look for p such that G(p) := f (p) = 0.
In the case of a map,
x 7−→ F (x),
we look for p such that G(p) := F (p) − p = 0.

In both cases the problem is reduced to look for a zero of a function

G : Rn −→ Rn .

We can use Newton’s method in several variables.

Advanced topics in astrodynamicsNumerical techniques – p.24/64


Computation of fixed points

We can implement Newton’s method to look for a zero of

G : R n → Rn

as follows:
input: p0 , G, tol, maxit
do: p:=p0
for it from 1 to maxit do
if (|G(p)|<tol) return p
solve DG(p)∆p = G(p) for ∆p
p := p − ∆p
error (maxit exceeded)
output: p (if OK)

Advanced topics in astrodynamicsNumerical techniques – p.24/64


Computation of fixed points

In the RTBP, it can be analitically seen that the distance from L j , j = 1, 2, 3, to


the closest primary, which we call γj , is given by the only poisitive root of the
corresponding Euler’s quintic equation:

γj5 ∓ (3 − µ)γj4 + (3 − 2µ)γj3 − µγj2 ± 2µγj − µ = 0,


j = 1, 2,
γj5 + (2 + µ)γj4 + (1 + 2µ)γj3 − (1 − µ)γj2 − 2(1 − µ)γj − (1 − µ) = 0,
j = 3.

Therefore, in this case it is enough to use Newton’s method in one dimension.


Good guesses are (µ/3)1/3 for L1,2 and 1 − (7/12)µ for L3 .

Advanced topics in astrodynamicsNumerical techniques – p.24/64


Linear behavior around a fixed point

Interesting in order to:

Understand the dynamics around a fixed point.

Obtain good initial guesses for the objects that originate around a fixed
point.

Advanced topics in astrodynamicsNumerical techniques – p.25/64


Linear behavior around a fixed point: flows

Consider a flow
ẋ = f (x),
with a fixed point p,
f (p) = 0,
The Taylor expansion of f around p up to order one is

f (x) = f (p) + Df (p)(x − p) + O(kx − pk2 ),


| {z } | {z }
=0 =:A

so that the linearized flow around p is

ẋ = A(x − p).

The eigenvalues of A are known as the exponents of the fixed point p.


For Hamiltonian systems,

λ ∈ Spec A =⇒ −λ ∈ Spec A.
Advanced topics in astrodynamicsNumerical techniques – p.26/64
Linear behavior around a fixed point: flows

Assume λ ∈ Spec A, λ 6= 0, Av = λv , v 6= 0.
If λ ∈ R, consider ϕ(t) = p + eλt v . Then:
ϕ(t) satisfies the system of ODE of the linearized flow,

ϕ0 (t) = λeλt v = eλt (λv) = eλt (Av) = A(eλt v)



= A ϕ(t) − p .

t→+∞
If λ > 0, ϕ(t) −→ p, so that it gives a stable manifold of the
linearized flow.
t→−∞
If λ < 0, ϕ(t) −→ p, so that it gives an unstable manifold of the
linearized flow.

The extistence of a stable or unstable manifold of the full (nonlinear)


dynamical system is ensured by the stable manifold theorem for flows.

Advanced topics in astrodynamicsNumerical techniques – p.26/64


Linear behavior around a fixed point: flows

Assume λ ∈ Spec A, λ 6= 0, Av = λv , v 6= 0.
If λ = iω , for ω ∈ R, let v1 + iv2 be a corresponding eigenvector, with
v1 , v2 ∈ Rn . Then

Av1 + iAv2 = A(v1 + iv2 ) = −ωv2 + iωv1 .

Therefore, if we define

ϕγ (t) = p + γ (cos ωt)v1 − (sin ωt)v2 ,

we have 
ϕ0γ (t) = A ϕ(t) − p ,
so that ϕγ (t) satifies the linearized system of ODE
Under suitable non–resonance conditions with respect to the remaining
eigenvalues, the existence of a family of periodic orbits for the full
nonlinear system, with limiting period 2π/ω , is ensured by Liapunov’s
center theorem.

Advanced topics in astrodynamicsNumerical techniques – p.26/64


Linear behavior around a fixed point: flows

Assume λ ∈ Spec A, λ 6= 0, Av = λv , v 6= 0.
The case λ = a + iω for a, ω ∈ R, a, ω 6= 0 is impossible in a
Hamiltonian system, and will not be considered here.

Advanced topics in astrodynamicsNumerical techniques – p.26/64


Linear behavior around a fixed point: maps
Consider a discrete dynamical system given by

x 7−→ F (x),

with a fixed point p.


The taylor expansion of F around p up to order one is

F (x) = F (p) + DF (p)(x − p) + O(kx − pk2 ),


| {z } | {z }
p =:A

so that the linearized dynamical system around p is

x 7−→ LF (x) := p + A(x − p).

The eigenvalues of A are also called the multipliers of the fixed point p.
For a symplectic map,

λ ∈ Spec A =⇒ 1/λ ∈ Spec A.

Advanced topics in astrodynamicsNumerical techniques – p.27/64


Linear behavior around a fixed point: maps
Assume λ ∈ Spec A, λ 6= 0, Av = λv , v 6= 0.
If λ ∈ R, |λ| 6= 1, consider ϕ(ξ) = p + ξv . Then,

LF ϕ(ξ) = ϕ(λξ),

so that {ϕ(ξ)}ξ∈R parametrizes an invariant set of the linear


approximation. Moreover,
 n→∞
If |λ| < 1, LF ϕ(ξ) = ϕ(λn ξ) −→ ϕ(0) = p.
n

Therefore, ϕ parametrizes a stable manifold of p for the linearized


map.
 n→−∞
If |λ| > 1, LF ϕ(ξ) = ϕ(λn ξ) −→ ϕ(0) = p.
n

Therefore, ϕ parametrizes a unstable manifold of p for the linear


map.

The existence of stable and unstable manifolds for the full nonlinear map
is ensured by the stable manifold theorem for maps.

Advanced topics in astrodynamicsNumerical techniques – p.27/64


Linear behavior around a fixed point: maps
Assume λ ∈ Spec A, λ 6= 0, Av = λv , v 6= 0.
If λ ∈ C, |λ| = 1, assume λ = cos ρ + i sin ρ and let v1 + iv2 an
associated eigenvector.
We define 
ϕ(ξ) = p + γ (cos ξ)v1 − (sin ξ)v2 .
Then, If we apply the linearized map to ϕ(ξ), we get

ϕ(ξ) 7→ ϕ(ξ + ρ).

so ϕ parametrizes an invariant closed curve of the linear flow.


We therefore have a one–parametric family (with parameter γ ) of curves,
with rotation number ρ, of invariant by the linearized map.
Under generic non–degeneracy conditions, there is a one–parametric
family of invariant curves for the full (nonlinear) map, with varying
rotation number which converges to ρ as we approach the fixed point.

Advanced topics in astrodynamicsNumerical techniques – p.27/64


Computation of periodic orbits (of flows)

They are computed as fixed points of a suitable discrete dynamical system.


For the non–autonomous case, it is the time–period map.
For the autonomous map, it is the Poincaré map.

Advanced topics in astrodynamicsNumerical techniques – p.28/64


Computation of p.o.: non–autonomous case

Consider a non–autonomous, T –periodic system of n ODE (e.g. the BCP),

ẋ = f (t, x),

with
f (t + T, x) = f (t, x), ∀t ∈ R, ∀x ∈ Rn .
To find a T –periodic orbit of ẋ = f (t, x), we look for a fixed point of

F (x) = φT0 (x).

For that, we use Newton’s method to find a zero of

G(x) := F (x) − x = φT0 (x) − x.

Its differential is
DG(x) = DφT0 (x) − In .

Advanced topics in astrodynamicsNumerical techniques – p.29/64


Computation of p.o.: autonomous case

Consider an autonomous system of ODE,

ẋ = f (x),

Assume we look for an o.p. as a fixed point of

F (x) = φT (x).

Then we would look for a zero of

G(x) := F (x) − x = φT (x) − x.

by Newton’s method.

But, for x0 in the o.p., DG(x0 ) is singular, because {G(x) = 0} has the whole
o.p. as solution.

Advanced topics in astrodynamicsNumerical techniques – p.30/64


Computation of p.o.: autonomous case

We look for a fixed point of a Poincaré map corresponding to a section that


intersects transversally the p.o. at x0 .

P (x) = φτ (x) (x),

Then x0 is the only point of the p.o. that is also a fixed point of the Poincaré
map.
We look for a zero of

G(x) := P (x) − x = DP (x) − x,

by Newton’s method. Its differential is



Dg P (x) Dφτ (x) (x)
DG(x) =   + Dφτ (x) (x) − In .
Dg P (x) f P (x)

Advanced topics in astrodynamicsNumerical techniques – p.30/64


Computation of p.o.: autonomous case

The previous approach works in oder to find an isolated p.o., but


In autonomous Hamiltonian systems (like the RTBP or Hill’s problem),
periodic orbits are not isolated but embedded in families.
This gives a curve of fixed points in the Poincaré section.
This curve is solution G(x) = 0, so DG(x) is singular at any of this
points.

The solution to this problem is to add an additional constraint in order to have


an unique o.p. as solution.
It can be, either
To prescribe a certain period.
To prescribe an energy level.

Advanced topics in astrodynamicsNumerical techniques – p.30/64


Practical implementation

Consider the RTBP (or any autonomous Hamiltonian system).


We can consider the following system of equations:

H(x) − h = 0 

τ (x) − T = 0 ,

φτ (x) (x) − x = 0 

with unknowns (h, T, x) = (h, T, x, y, z, px , py , pz ).


This system, as is, does not need to be compatible, because both the energy
and the period (locally) determine a unique p.o. in the family.
What we can do is to eliminate equations and unknows in the previous system
in order to obtain que equations for a particular approach:
By “eliminating” an equation, we mean exactly this.
By “eliminating” an unknown, we mean to keep it constant in Newton’s
method, as if it were a parameter.

Advanced topics in astrodynamicsNumerical techniques – p.31/64


Practical implementation

Consider the RTBP (or any autonomous Hamiltonian system).


We can consider the following system of equations:

H(x) − h = 0 

τ (x) − T = 0 ,

φτ (x) (x) − x = 0 

with unknowns (h, T, x) = (h, T, x, y, z, px , py , pz ).


In this way, for instance:
To compute a p.o. of a given energy level, we eliminate equation 2 and
unknowns h, T .
To compute a p.o. of a given period, we eliminate equation 1 and
unknowns h, T .
To compute a p.o. of a given energy level an a prescribed value of a
coordinate, we eliminate the second equation and the unknowns h and the
prescribed coordinate.
Advanced topics in astrodynamicsNumerical techniques – p.31/64
Practical implementation

Consider the RTBP (or any autonomous Hamiltonian system).


We can consider the following system of equations:

H(x) − h = 0 

τ (x) − T = 0 ,

φτ (x) (x) − x = 0 

with unknowns (h, T, x) = (h, T, x, y, z, px , py , pz ).

With any of the previous choices, we end up with an (n + 2) × (n + 1)


(nonlinear) system with unique solution.

Advanced topics in astrodynamicsNumerical techniques – p.31/64


A general routine for solving linear systems

Assume A m × n matrix, with arbitrary m, n rank A =: r ≤ min(m, n).


For arbitrary m, n, a least–squares solution of Ax = b,

x∗ : kb − Ax∗ k2 = minn kb − Axk2 .


x∈R

always exists.
If rank A = n, there is an unique least–squares solution.
If rank A < n, there is a (n − rank A)–dimensional space of least–squares
solutions.
We want to find the minimum–norm least–squares solution, that is
 ∗
xLS : kxLS k = min kx k2 : kb − Ax∗ k2 = minn kb − Axk2
x∈R

Advanced topics in astrodynamicsNumerical techniques – p.32/64


A general routine for solving linear systems
By applying Householder transformations with column pivoting, we obtain a
decomposition
!
> R11 R12
Q AP =
0 0

with R11 an r × r upper–triangular matrix with non–zero diagonal elements.


If we denote
! !
y r c r
P >x = , Q> b = ,
z n−r d m−r

then the minimum–norm least–squares solutions are


( !)
y: R11 y = c − R12 z
P >x =
z
z∈Rn−r
( ! ! )
−1 −1
R11 c R11 R12
= − z
0 In−r n−r z∈R
Advanced topics in astrodynamicsNumerical techniques – p.32/64
A general routine for solving linear systems

We can write a routine that, for a general m × n linear system of equations,


finds

the minimum–norm least–squares solution, and


optionally, a basis of the kernel.
( ! ! )
−1 −1
R11 c R11 R12
− z
0 In−r
z∈Rn−r

We can do this by using LAPACK routines:


DGEQPF: QR factorization with columnn pivoting,
DGEQRF: standard QR factorization,
DORMQR: to apply Householder transformations.
DTRTRS: to solve upper-triangular linear systems.

Advanced topics in astrodynamicsNumerical techniques – p.32/64


Multiple shooting
The neighborhood of the collinear libration points of the RTBP is highly
unstable.

The monodromy matrices of p.o. have eigenvalues as large as 2000, or


even more.
This means that any error in the initial condition is amplified by this
factor.
Even with exact data, the local truncation error of the first RKF step is
amplified by this factor.
In particular, we cannot expect an error smaller than 10 −11 , assuming the
tolerance of the RKF routine is set to 10−14 .

We can reduce these amplification factors by making use of multiple shooting.


Idea: introduce additional objects and matching conditions in order to reduce
integratin time.

Advanced topics in astrodynamicsNumerical techniques – p.33/64


Multiple shooting
The neighborhood of the collinear libration points of the RTBP is highly
unstable.
Instead of loking for
h, T, x,
we look for
h, T, x0 , . . . , xm−1 ,
for m > 1, satisfying

H(x0 ) − h = 0 

T


τ (xm−1 ) − m = 0
.
φT /m (xi ) − xi+1 = 0, i=0÷m−2 



φτ (xm−1 ) (xm−1 ) − x0 = 0

Whis this approach, one obtains amplification factors that are, tipically, the
m-th root of the starting ones.

Advanced topics in astrodynamicsNumerical techniques – p.33/64


Linear behavior around a p.o.

Consider an autonomous Hamiltonian system.


An initial condition x0 of a T –periodic orbit is also a fixed point of φT .
Although this is not useful to numerically find the p.o., as we have seen, it
is useful to study the linear behaviour around it.
Consider the RTBP (or any autonomous Hamiltonian system), and let x 0
be an initial condition of a T –periodic orbit. Then, its monodromy matrix,

M := DφT (x0 )

has 1 as double eigenvalue.


Moreover, M := DφT (x0 ) is a symplectic matrix, which implies:
if λ is an eigenvalue of M , then 1/λ is also eigenvalue.
Then,
Spec M = {1, 1, λ1 , λ−11 , λ 2 , λ −1
2 },

and we will assume that |λi | ≤ |λ−1


i |.

Advanced topics in astrodynamicsNumerical techniques – p.34/64


Linear behavior around a p.o.

Consider an autonomous Hamiltonian system.


Let x0 s.t. φT (x0 ) = x0 , M := DφT (x0 ).
Spec M = {1, 1, λ1 , λ−1 −1
1 , λ 2 , λ 2 }.

The linear behaviour around a p.o. is better studied in terms of its stability
parameters, s1 and s2 , which are defined as

s1 = λ1 + 1/λ1 , s2 = λ2 + 1/λ2 .

It is easy to check that

si ∈ R, |si | > 2 ⇐⇒ λi ∈ R\{±1},


si ∈ R, |si | ≤ 2 ⇐⇒ λi ∈ C, |λi | = 1,
si ∈ C\R ⇐⇒ λi ∈ C\R, |λi | 6= 1.

Advanced topics in astrodynamicsNumerical techniques – p.34/64


Linear behavior around a p.o.

Consider an autonomous Hamiltonian system.


Let x0 s.t. φT (x0 ) = x0 , M := DφT (x0 ).
Spec M = {1, 1, λ1 , λ−1 −1
1 , λ 2 , λ 2 }.
s1 = λ1 + 1/λ1 , s2 = λ2 + 1/λ2 .

If si ∈ R, |si | > 2 (hyperbolic case) ⇒ λi ∈ R\{±1}.


There is a stable manifold of the fixed point of φT , tangent to the
λi –eigendirection at x0 .
There is an unstable manifold of the fixed point φT , tangent to the
λ−1
i –eigendirection at x0 .
In terms of the p.o.:
There is a stable manifold of the p.o. whose section through the
λi , λ−1
i –eigenplane is tangent to the λi –eigendirection.
There is an unstable manifold of teh p.o. whose section through the
λi , λ−1
i –eigenplane is tangent to the λ −1
i –eigendirection.

Advanced topics in astrodynamicsNumerical techniques – p.34/64


Linear behavior around a p.o.

Consider an autonomous Hamiltonian system.


Let x0 s.t. φT (x0 ) = x0 , M := DφT (x0 ).
Spec M = {1, 1, λ1 , λ−1 −1
1 , λ 2 , λ 2 }.
s1 = λ1 + 1/λ1 , s2 = λ2 + 1/λ2 .

If si ∈ R, |si | ≤ 2 (elliptic case), let λi = cos ρ + i sin ρ (⇒ si = 2 cos ρ),


and let v be s.t. M v = λi v , v 6= 0, v = v1 + iv2 .
As we have seen, there is a continuous, one–parametric family of
closed curves invariant by the linearization of φ T around x0 in the
{x0 + α1 Re v1 + α2 Im v2 }α1 ,α2 ∈R plane, with rotation number ρ.
Under generic non–degeneracy conditions, there is a Cantorian
family of invariant curves around x0 , with limiting rotation number ρ.
When transported by the flow, these invariant curves generate
two–dimensional invariant tori.
Rational values (times 2π ) for ρ also give rise to bifurcated p.o., with
period 2π/ρ. The particular values ρ = 2π (si = 2) and ρ = π
(si = −2), are known as the parabolic case.
Advanced topics in astrodynamicsNumerical techniques – p.34/64
Numerical computation of invariant 2D tori

We develop the methodology for an autonomous Hamiltonian system.


We can find a parametrization of a 2D torus,

ψ : R2 −→ R6
(θ1 , θ2 ) 7→ ψ(θ1 , θ2 ),

with ψ 2π –periodic function in the θ1 , θ2 , by solving



ψ(θ1 + tω1 , θ2 + tω2 ) = φt ψ(θ1 , θ2 ) , ∀t ∈ R, ∀θ1 , θ2 ∈ [0, 2π],

where ω1 , ω2 are the frequencies of the torus.

Advanced topics in astrodynamicsNumerical techniques – p.35/64


Numerical computation of invariant 2D tori

We can find a parametrization of a 2D torus by solving



ψ(θ1 + tω1 , θ2 + tω2 ) = φt ψ(θ1 , θ2 ) , ∀t ∈ R, ∀θ1 , θ2 ∈ [0, 2π],

where ω1 , ω2 are the frequencies of the torus.


In order to reduce the dimension of the problem, we observe that
ϕ(ξ) = ψ(ξ, 0) is a curve invariant by φ2π/ω2 , and satisfies

ϕ(ξ + ρ) = φδ ϕ(ξ) ,

for ρ = 2πω1 /ω2 and δ = 2π/ω2 .


Once we have ϕ, we can recover ψ by
 θ2 
ψ(θ1 , θ2 ) = φ θ2 δ ϕ(θ1 − ρ)
2π 2π

Advanced topics in astrodynamicsNumerical techniques – p.35/64


Discretization

Note that 
ϕ(ξ + ρ) = φδ ϕ(ξ) ,
is a functional equation: we have “infinite equations” (one for each value
of φ ∈ [0, 2π)) and “infinite unknowns” (we cannot describe a general
function ϕ by a finite number of parameters).
We discretize function space by looking for ϕ as a truncated Fourier
series,
Nf  
X
ϕ(ξ) = A0 + Ak cos(kξ) + Bk sin(kξ) .
k=1

We will discretize parameter space by looking for ϕ satisfying



ϕ(ξ + ρ) − φδ ϕ(ξi ) , i = 0 ÷ 2Nf ,

for ξi = i2π/(1 + 2Nf ).

Advanced topics in astrodynamicsNumerical techniques – p.36/64


Indeterminations

We have two indeterminations to cope with.


(Invariant curve indetermination) Assuming there exists a
parametrization of a 2D torus,

ϕ(θ1 + tω1 , θ2 + tω2 ) = φt ψ(θ1 , θ2 ) ,

not only ϕ(ξ) = ψ(ξ, 0) satisfies



ϕ(ξ + ρ) = φδ ϕ(ξ) ,

but any ϕ(ξ) := ψ(ξ, η0 ) for η0 ∈ [0, 2π) also does.


This indetermination can be avoided by fixing a curve on the torus.
This can be done by prescribing a value for a coordinate of A 0 .
It must be chosen by geometrical considerations.

Advanced topics in astrodynamicsNumerical techniques – p.37/64


Indeterminations

We have two indeterminations to cope with.



(Phase shift indetermination) If ϕ(ξ) satisifes ϕ(ξ + ρ) = φδ ϕ(ξ) ,
then, for any ξ0 ∈ R, ϕξ0 (ξ) = ϕ(ξ − ξ0 ) also does.
This indetermination can be avoided by prescribing a coordinate of
A1 to be zero.
Assume that A1 = (A11 , . . . , A61 ), B1 = (B11 , . . . , B16 ). If
(Ak1 , B1k ) 6= (0, 0), since
 
Ak1 cos k(ξ − ξ0 ) + B1k sin k(ξ − ξ0 )
= (Ak1 cos kξ0 − B1k sin kξ0 ) cos kξ
+(Ak1 sin kξ0 + B1k cos kξ0 ) sin kξ
ek1 cos kξ + B
=: A e1k sin kξ.

we can always choose ξ0 such that Aek1 = 0.

Advanced topics in astrodynamicsNumerical techniques – p.37/64


The system of equations

We want to design a system of equations such that


We are to prescribe values for the energy.
For that, we add an additional equation.
We want to overcome high instability.
For that, we will implement multiple shooting.

Advanced topics in astrodynamicsNumerical techniques – p.38/64


The system of equations

We will, therefore, look for ϕ0 , . . . , ϕm−1 satysfiying


 

 H ϕ0 (0) − h = 0

ϕj+1 (ξi ) − φδ/m ϕj (ξi ) = 0, j = 0 ÷ m − 2, i = 0, . . . , 2Nf ,

 ϕ (ξ + ρ) − φ 
0 i δ/m ϕm−1 (ξi ) = 0, i = 0 ÷ 2Nf ,

where ξi = i(2π)/(1 + 2Nf ), i = 0 ÷ 2Nf , and the unknowns are


m−1 m−1 m−1 m−1 m−1
h, δ, ρ, A00 , A01 , B10 , . . . , A0Nf , BN
0
f
, . . . , A 0 , A 1 , B 1 , . . . , A Nf , B Nf

with h, δ, ρ ∈ R, Aji , Bij ∈ R6 and

Nf  
X
ϕj (ξ) = Aj0 + Ajl cos lξ + Blj sin lξ .
l=0

 
This system is 1 + 6m(1 + 2Nf ) × 3 + 6m(1 + 2Nf ) .
Advanced topics in astrodynamicsNumerical techniques – p.38/64
Computation of a torus

The tori we are looking for are embedded in 2–parametric families, which can
be paramtrized by 2 parameters among h, ρ, δ . Therefore, in order to compute
a torus, we
eliminate one coordinate of A00 , in order to fix a curve on the torus,
set a coordinate of A01 equal to zero and eliminate it, in order to get rid of
the phase shift indetermination.
eliminate two unknonws among h, δ , ρ, in order to fixate a particular
torus.
When applying Newton’s method, we end up with a
 
1 + 6m(1 + 2Nf ) × 3 + 6m(1 + 2Nf ) − 4

system of linear equations, with unique solution but which has more equations
than uknowns.
This is not a problem, as long as we use the general rutine we have described,
specifying the kernel dimension to be zero.

Advanced topics in astrodynamicsNumerical techniques – p.39/64


Error estimation

In order to estimate the error of the computed torus, we can consider a


refinement of the discretization of the parameter space, that is,

e 2π
ξj = j ,
M

for M  1 + 2Nf , and use as error estimate


  m−2 
ϕl+1 (ξej ) − φδ/m ϕl (ξej )
max  l=0 
j=0÷M 
e
ϕ0 (ξj + ρ) − φδ/m ϕm−1 (ξj ) e

for some norm.

We can reduce this estimate by increasing Nf , but this increases the size of the
linear system we need to solve, and this is the bottleneck of the procedure.

Advanced topics in astrodynamicsNumerical techniques – p.40/64


Globalization of a torus from an invariant curve

Assume we have ϕ satisfying ϕ(ξ + ρ) = φδ ϕ(ξ) .

Then a calculation shows that


 θ2 
ψ(θ1 , θ2 ) := φ θ2 δ ϕ θ1 − ρ
2π 2π

describes an invariant torus with frequency vector (ρ/δ, 2π/δ), that is,

  ρ 2π 
φt ψ(θ1 , θ2 ) = ψ θ1 + t , θ2 + .
δ δ

If we need to integrate a trajectory on the computed torus for a long time, we


just have to numerically integrate it from invariant curve to invariant curve.

Advanced topics in astrodynamicsNumerical techniques – p.41/64


Globalization of a torus from an invariant curve

For instance, assume we wan to generate 400 points along 4δ time units,
starting from x0 = ϕ(ξ0 ), and assume that there is no multiple shooting.

Then, we can do:


∀i = 1 ÷ 100
xi+1 :=RKFflow(δ/100,xi ,tol,f ) 
at this point x100 should be φδ ϕ(ξ0 ) = ϕ(ξ0 + ρ)
print kϕ(ξ0 + ρ) − x100 k as a measure of precision
x100 :=ϕ(ξ0 + ρ)
∀i = 101 ÷ 200
xi+1 :=RKFflow(δ/100,xi ,tol,f )
at this point x200 should be ϕ(ξ0 + 2ρ)
etc.

Advanced topics in astrodynamicsNumerical techniques – p.41/64


Starting from a periodic orbit

Let x0 be s.t. φT (x0 ) = x0 .


Let s1 , s2 , si = λi + λ−1
i be the corresponding stability parameters.
Assume |s1 | < 1, s1 = 2 cos ν (i.e., λ1 = cos ν + i sin ν ).
Recall that we have shown that, for
 
ϕ(ξ) = x0 + γ cos(ξ − ξ0 )v1 − sin(ξ − ξ0 )v2
 
= x0 + γ (v1 cos ξ0 − v2 sin ξ0 ) cos ξ + (v1 sin ξ0 + v2 cos ξ0 ) sin ξ

we have 
Lx
φT
0
ϕ(ξ) = ϕ(ξ + ν).
where LφxT0 is the linear approximation of ϕT around x0 .

Advanced topics in astrodynamicsNumerical techniques – p.42/64


Starting from a periodic orbit

Let x0 be s.t. φT (x0 ) = x0 .


Let s1 , s2 , si = λi + λ−1
i be the corresponding stability parameters.
Assume |s1 | < 1, s1 = 2 cos ν (i.e., λ1 = cos ν + i sin ν ).
Recall that we have shown that,

Lx
φT
0
ϕ(ξ) = ϕ(ξ + ν).

Therefore, as initial seed to get a torus around the o.p., we can take

h = H(x0 ), A0 = x0 ,
δ = T, A1 = (v1 cos ξ0 − v2 sin ξ0 ),
ρ = ν, B1 = (v1 sin ξ0 + v2 cos ξ0 ),
Aj = B j = 0, j ≥ 2.

Advanced topics in astrodynamicsNumerical techniques – p.42/64


Starting from a periodic orbit

h = H(x0 ), A0 = x0 ,
δ = T, A1 = (v1 cos ξ0 − v2 sin ξ0 ),
ρ = ν, B1 = (v1 sin ξ0 + v2 cos ξ0 ),
Aj = B j = 0, j ≥ 2.

Note that:
We can use ξ0 to get one coordinate of A1 equal to zero and, in this way,
avoid the phase shift indetermination.
For the nonlinear system ρ 6= ν , but we don’t know if either ρ > ν or
ρ < ν . The same happens with δ and h.
The o.p. itselfs satisfies the equations of an invariant torus, and has a large
basin of attraction as a zero of these equations.
We can avoid the problems of the last two points above at once by keeping
constant one coordinate of A1 or B1 which is different from zero in the initial
seed.

Advanced topics in astrodynamicsNumerical techniques – p.42/64


Starting from a p.o.: second method
We have seen that
 
Lϕ (ξ) = x0 + γ (v1 cos ξ0 − v2 sin ξ0 ) cos ξ + (v1 sin ξ0 + v2 cos ξ0 ) cos ξ

parametrizes a closed curve invariant by the linarized time–T flow. We can


globalize this invariant curve to a 2D torus invariant by the linearized flow as

θ2 
Lψ (θ1 , θ2 ) = Lx 0
φ(θ2 /2π)δ Lϕ (θ1 − ν)

where we denote, for an arbitrary function G and an arbitrary point y 0 , the


linearization of G around y0 as

LyG0 (y) = y0 + DG(y0 )(y − y0 ).

Then, a calculation shows that

φ 2 /2π)δ (x0 )   ν 2π 
Lφ(θ Lψ (θ1 , θ2 ) = Lψ θ1 + t , θ 2 + t .
t
T T
Advanced topics in astrodynamicsNumerical techniques – p.43/64
Starting from a p.o.: second method

φ θ2 (x0 )
δ   ν 2π 
Lφt2π Lψ (θ1 , θ2 ) = Lψ θ1 + t , θ 2 + t .
T T

The previous way to obtain an initial seed to compute a torus corresponds


to take δ close to the second frequency of the linear torus (which
corresponds to the period of the backbone periodic orbit).
In some situations, we will want to get an initial seed for a torus with δ
close to the first frequency of the linear torus (a normal frequency to the
bakcbone p.o.).
For that, we can take as initial seed

2π 2π
h = H(x0 ), δ= T, ρ=δ ,
ν T

and Ai , Bj coming from a Discrete Fourier transform of


N −1
{Lψ (0, j(2π/N )}j=0 .

Advanced topics in astrodynamicsNumerical techniques – p.43/64


Part III
Continuation of objects

Advanced topics in astrodynamicsNumerical techniques – p.44/64


The continuation method

Up to now, we have seen how to compute individual o.p. and tori. But in
autonomous Hamiltonian systems, neither o.p. nor tori are isolated but
embedded in families, so we will be interested in following a family.

A classical approach to the continuation method:


we want to find a zero of a function G(x), which we do not know, but
the problem {G(x) = 0} is somehow related to {F (x) = 0}, and we
do know a zero of F .

An example in our setting: find the dynamical substitutes in the BCP of


the libration points of the RTBP.

Advanced topics in astrodynamicsNumerical techniques – p.45/64


The continuation method
In order to go from {F (x) = 0} to {G(x) = 0}, we can consider a
one–parametric family of intermediate problems H(λ, x), such that

H(0, x) = F (x), H(1, x) = G(x).

For instance,
H(λ, x) = (1 − λ)F (x) + λG(x),
We can try to continue a solution x0 of F (x) = 0 to a solution of G(x) = 0 as
input: x0 ∈ Rn such that H(0, x0 ) = 0
do: ∆λ := 1/m
∀i = 1 ÷ m
λ := i∆λ
solve H(λ, y) = 0 iteratively for y taking x as
starting value
x := y
output: x
This procedure breaks down in the case of a turning point.

Advanced topics in astrodynamicsNumerical techniques – p.45/64


The predictor–corrector or pseudo–arclength method

H(y) := H(λ, x) defines implicitly a curve in Rn+1 .

We can continue this curve as follows:


input: y ∈ Rn such that H(y) = 0
do: while (λ = Π0 y < 1)
let v ∈ ker DH(y), kvk2 = 1, pointing in the
right direction
take z := y + γv , for suitable γ
if (Π0 y < 1)
solve H(z) = 0 iteratively for z by Newton’s method
taking minimum–norm corrections
else
γ := (1 − Π0 y)/Π0 v
z := y + γv
solve H(z) = 0 by Newton keeping Π0 z constant
y := z
output: y

Advanced topics in astrodynamicsNumerical techniques – p.46/64


The predictor–corrector or pseudo–arclength method

In this algorithm, γ should be chosen in order to keep (more or less)


constant the number of Newton iterates in the refinement phase.
A simple rule to do that is to assume that the number of Newton iterates is
a linear function of the steplength chosen:
ndes
γ= γold .
nold

Note that in the pseudo–arclength method there is no distinguished


coordinate to be thought as a parameter. We can therefore apply it to any
system of non–linear equations H(y) = 0, as long as its solution is a
curve.

Note that the method works as long as dim ker H(y) = 1 on the solution
curve. It is not necessary that H : Rn −→ Rm with m = n + 1.

Advanced topics in astrodynamicsNumerical techniques – p.46/64


The predictor–corrector or pseudo–arclength method

The condition dim ker H(y) = 1 fails at bifurcation points (where


dim ker H(y) = 2).
Since it is difficult to exactly “fall over” a bifurcation point, the method
usually “jumps over” them.

A way to avoid “jumping” into bifurcated branches is to control the angle


between successive iterates yn−1 , yn , yn+1 , that is, reduce steplength if

hyn − yn−1 , yn+1 − yn i ≤ 1 − tol.

This last strategy is also useful to plot nice continuation curves.

Advanced topics in astrodynamicsNumerical techniques – p.46/64


Bifurcation points

If dim ker DG(y) ≥ 2, y is a bifurcation point.

Rigorous analysis of a bifurcation point requires the evaluation of the


second derivatives of G at y , that is
2

D G(y) = ∂yi ∂yj G(y) i,j=0÷n
,

where the matrix is symmetric and each of its components is an


n–dimensional vector.

They can be computed from the second variational equations.

Often one can find what happens in a bifurcation point in terms of the
dynamics around it, whithout the need of a rigorous analysis of
bifurcations.

Advanced topics in astrodynamicsNumerical techniques – p.47/64


Families of p.o. in autonomous Hamiltonian systems

We will consider two cases:


Continuation with respect to the energy with multiple shooting. The
equations to continue are


 H(x0 ) − h = 0,
φT /m (xi ) − xi+1 = 0, i = 0 ÷ m − 2,

 φ
τ (xm−1 ) (xm−1 ) − x0 = 0,

with unknowns h, x0 , . . . , xm−1 .


Note this in this case T is a parameter, but should be close to the period of
the p.o. It is conveinent to set T := τ (x0 ) at every continuation step, and
recompute x1 , . . . , xn−1 , in order to have them equally spaced in time
along the p.o.

Advanced topics in astrodynamicsNumerical techniques – p.48/64


Families of p.o. in autonomous Hamiltonian systems

We will consider two cases:


Continuation with respect to the period with multiple shooting. The
equations to consider are

 T
 τ (xm−1 ) − m = 0
φT /m (xi ) − xi+1 = 0, i = 0 ÷ m − 2,

 φ
τ (xm−1 ) (xm−1 ) − x0 = 0,

with unknows T, x0 , . . . , xm−1 .

Note that the two systems of equations just considered can be evaluated by the
same routine by eliminating suitable equations and unknowns.

Advanced topics in astrodynamicsNumerical techniques – p.48/64


Continuation of a p.o. along a family of models

Assume we want to compute the dynamical substitute (a periodic orbit) of the


libration point L4 in the BCP. Denote
the differential equations of the RTBP by ẋ = f (x),
the ones of the BCP by ẋ = g(t, y).
We can define a famliy of intermediate models,

ẋ = hε (t, x), hε (t, x) = (1 − ε)f (x) + εf (t, x).

The L4 libration point gives a p.o. in the intermediate model for mall ε.
We can continue this solution up to the BCP by using the pseudo–arclength
method with
H(ε, x) = φεT (x) − x,
where φεT is the flow from time 0 to time T of ẋ = hε (t, x),
and T is the period of the BCP.

Advanced topics in astrodynamicsNumerical techniques – p.49/64


Computation of a family of tori in the RTBP
Remember that the corresponding equations are
 

 H ϕ0 (0) − h = 0

ϕj+1 (ξi ) − φδ/m ϕj (ξi ) = 0, j = 0 ÷ m − 2, i = 0, . . . , 2Nf ,

 ϕ (ξ + ρ) − φ 
0 i δ/m ϕm−1 (ξi ) = 0, i = 0 ÷ 2Nf ,

with unknowns
m−1 m−1 m−1 m−1 m−1
h, δ, ρ, A00 , A01 , B10 , . . . , A0Nf , BN
0
f
, . . . , A 0 , A 1 , B 1 , . . . , A Nf , B Nf

Assume Ak01 , Ak12 = 0 are fixed in order to eliminate indeterminations, so that


each value of the remaining coordinates corresponds at most to a torus.
The tori we are looking for are embedded in two–parametric families, so we
have to fix one more parameter in order to use the pseudo–arclength method.

Advanced topics in astrodynamicsNumerical techniques – p.50/64


Computation of a family of tori in the RTBP
Remember that the corresponding equations are
 

 H ϕ0 (0) − h = 0

ϕj+1 (ξi ) − φδ/m ϕj (ξi ) = 0, j = 0 ÷ m − 2, i = 0, . . . , 2Nf ,

 ϕ (ξ + ρ) − φ 
0 i δ/m ϕm−1 (ξi ) = 0, i = 0 ÷ 2Nf ,

with unknowns
m−1 m−1 m−1 m−1 m−1
h, δ, ρ, A00 , A01 , B10 , . . . , A0Nf , BN
0
f
, . . . , A 0 , A 1 , B 1 , . . . , A Nf , B Nf

Assume Ak01 , Ak12 = 0 are fixed in order to eliminate indeterminations, so that


each value of the remaining coordinates corresponds at most to a torus.
Interesting cases are
to fix ρ to a diophantine value (e.g. an integer plus the golden number), so
that we can go across energy levels avoiding resonances.
to fix h, in order to follow an iso–energetic family.

Advanced topics in astrodynamicsNumerical techniques – p.50/64


Part IV
The center manifold of the
collinear point L1

Advanced topics in astrodynamicsNumerical techniques – p.51/64


Linear behavior around L1

Denote the system of ODE of the RTBP for the Earth–Moon mass parameter as

ẋ = f (x).

Then
Spec(Df (L1 )) = {λ, −λ, iωv , −iωv , iωp , −iωp },
with λ, ωp , ωv > 0.
Then,
the eigenvalues ±λ give rise to stable and unstable manifodls.
the eigenvalues ±iωp , ±iωv give rise to a center manifold, on which
the eigenvalues ±iωp give rise to the Lyapunov planar family of p.o.,
the eigenvalues ±iωv give rise to the Lypaunov vertical family of p.o.

Advanced topics in astrodynamicsNumerical techniques – p.52/64


Linear behavior around L1

Denote the system of ODE of the RTBP for the Earth–Moon mass parameter as

ẋ = f (x).

Then
Spec(Df (L1 )) = {λ, −λ, iωv , −iωv , iωp , −iωp },
with λ, ωp , ωv > 0.

’plana-1,59.dat’
’plana-1,591.dat’
’plana-1,592.dat’
’plana-1,593.dat’
0.05 ’plana-1,594.dat’
0.025 ’vert-1,59.dat’
’vert-1,591.dat’
0 ’vert-1,592.dat’
-0.025 ’vert-1,593.dat’
’vert-1,594.dat’
-0.05 ’l1.dat’
0.05
0.02 0.030.04
-0.855 0.01
-0.85 -0.845 -0.01 0
-0.02
-0.84 -0.835 -0.03
-0.83 -0.04
-0.825 -0.05

Advanced topics in astrodynamicsNumerical techniques – p.52/64


Liapunov vertical family

-1.4959 0.41391
1e4 6.5
Stability parameters

1000 6
5.5
100 5

Period
10 4.5
2 4
0 3.5
-2 3
-10 2.5
-1.5 -1 -0.5 0 0.5
Energy

L1

0.5

-0.5

-1
-1 -0.5 0 0.5 1

Advanced topics in astrodynamicsNumerical techniques – p.53/64


Liapunov planar family

It terminates at a collision orbit with the Earth.


-1.58718 -1.47464
7.5
1000 7
Stability parameters

100 6.5
6
10

Period
5.5
2 5
0 4.5
-2 4
-10 3.5
3
-100 2.5
-1.6 -1.5 -1.4 -1.3 -1.2 -1.1 -1 -0.9 -0.8 -0.7
Energy
L1
1.5
1
#bif. Energy Type
0.5
1 -1.58718 A 0
2 -1.51070 B -0.5
3 -1.47464 C -1
-1.5
-1.5 -1 -0.5 0 0.5 1 1.5

Advanced topics in astrodynamicsNumerical techniques – p.54/64


Liapunov planar family

#bif. Energy Type


1 -1.58718 A Halo family
2 -1.51070 B Bridge to the vertical family
3 -1.47464 C Not continuated

Type A Type B

Q
P
Q
P

Type C Type D

P
Q
P

P’ Q
P’

Advanced topics in astrodynamicsNumerical techniques – p.54/64


Halo family

They are born at the first bifurcation of the planar Liapunov family.
They end at a planar orbit.
-1.51081
3.2
1000
Stability parameters

3
100 2.8

Period
2.6
10
2 2.4
0 2.2
-2 2
1.8
-1.5 -1 -0.5 0 0.5
Energy
-1.52944 -1.51 -1.47034 0.47747
Stability parameters

Stability parameters
100 2

10 0

2 -2
0
-2 -10

-1.54 -1.52 -1.5 -1.48 -1.46 0.4 0.42 0.44 0.46 0.48 0.5 0.52
Energy Energy

Advanced topics in astrodynamicsNumerical techniques – p.55/64


Halo–type families

They bifurcate from the halo ones by period triplication and duplication.

Its terminations are as follows:

hyperbolic elliptic
period duplication natural term. m1 collision
period triplication high period m1 collision

Advanced topics in astrodynamicsNumerical techniques – p.56/64


Bridge between Liapunov’s families
Second bifurcation of Liapunov’s planar family.
Connects the planar family with the vertical one at its first (only) bifurcation.
Orbit 1, lane 1 Orbit 2, lane 1

0.2 0.2
0.1 0.1
0 0
-0.1 -0.1
-0.2 -0.2

0.2 0.2
0.1 0.1
-0.96 -0.92 0 -0.96 -0.92 0
-0.88 -0.1 -0.88 -0.1
-0.84 -0.8 -0.2 -0.84 -0.8 -0.2
Planar orbit Vertical orbit

0.2 0.2
0.1 0.1
0 0
-0.1 -0.1
-0.2 -0.2

0.2 0.2
0.1 0.1
-0.96 -0.92 0 -0.96 -0.92 0
-0.88 -0.1 -0.88 -0.1
-0.84 -0.8 -0.2 -0.84 -0.8 -0.2
Orbit 1, lane 2 Orbit 2, lane 2

0.2 0.2
0.1 0.1
0 0
-0.1 -0.1
-0.2 -0.2

0.2 0.2
0.1 0.1
-0.96 -0.92 0 -0.96 -0.92 0
-0.88 -0.1 -0.88 -0.1
-0.84 -0.8 -0.2 -0.84 -0.8 -0.2

Advanced topics in astrodynamicsNumerical techniques – p.57/64


Invariant tori around Liapunov families
L1
0.6

β
0.5
<25

0.4

Rotation number
<50
0.3

0.2 <100
2

0.1 α
>100

0
γ
1 3

-1.6 -1.58 -1.56 -1.54 -1.52 -1.5


Energy

-1.4959 0.41391
1e4 6.5
Stability parameters

1000 6
5.5
100 5

Period
10 4.5
2 4
0 3.5
-2 3
-10 2.5
-1.5 -1 -0.5 0 0.5
Energy
Advanced topics in astrodynamicsNumerical techniques – p.58/64
Invariant tori around Liapunov families
L1
0.6

β
0.5
<25

0.4

Rotation number
<50
0.3

0.2 <100
2

0.1 α
>100

0
γ
1 3

-1.6 -1.58 -1.56 -1.54 -1.52 -1.5


Energy

We want to start from vertical p.o., so we represent this family in the


(h, ρ) plane.
We start from the vertical family at constant rotation number.
We plot each tori computed in the (h, ρ) plane.
We observe that each family ends at a vertical Lyapunov orbit of higher
energy level.
Advanced topics in astrodynamicsNumerical techniques – p.58/64
Invariant tori around Liapunov families
z z z
0.04 0.04 0.04
0.02 0.02 0.02
0 0 0
-0.02 -0.02 -0.02
-0.04 -0.04 -0.04

-0.85 -0.85 -0.85


-0.84 0.04 -0.84 0.04 -0.84 0.04
x x x
-0.83 0 y 0.02 -0.83 0 y 0.02 -0.83 0 y 0.02
-0.04 -0.02 -0.04 -0.02 -0.04 -0.02

z z z
0.04 0.04 0.04
0.02 0.02 0.02
0 0 0
-0.02 -0.02 -0.02
-0.04 -0.04 -0.04

-0.85 -0.85 -0.85


-0.84 -0.84 -0.84
x
0 y 0.02 0.04 x
0 y 0.02 0.04 x
0 y 0.02
0.04
-0.83 -0.83 -0.83
-0.04 -0.02 -0.04 -0.02 -0.04 -0.02

z z
0.04 0.04
0.02 0.02
0 0
-0.02 -0.02
-0.04 -0.04

-0.85 -0.85
-0.84 0.04 -0.84 0.04
x x
-0.83 0 y 0.02 -0.83 0 y 0.02
-0.04 -0.02 -0.04 -0.02

Advanced topics in astrodynamicsNumerical techniques – p.58/64


Invariant tori around Liapunov families
L1
0.6

β
0.5
<25

0.4

Rotation number
<50
0.3

0.2 <100
2

0.1 α
>100

0
γ
1 3

-1.6 -1.58 -1.56 -1.54 -1.52 -1.5


Energy

The limiting value of ρ at the planar orbit is numerically checked to correspond


to a normal frequency of the planar orbit, concretely

(2π)2
ρ −→ − 2π,
2π − ν

where 2 cos ν is the stability parameter of the ending planar Liapunov orbit
which gives central part.

Advanced topics in astrodynamicsNumerical techniques – p.58/64


Invariant tori around Liapunov families
L1
0.6

β
0.5
<25

0.4
Rotation number

<50
0.3

0.2 <100
2

0.1 α
>100

0
γ
1 3

-1.6 -1.58 -1.56 -1.54 -1.52 -1.5


Energy

Advanced topics in astrodynamicsNumerical techniques – p.58/64


Parallel computation

The continuation of families of tori can be performed in parallel in a Beowulf


cluster, by following a master-slave scheme.
The slave processors perform one continuation step of any family in each
iteration.
The master process distributes the families around slaves in a
round–robin fashion.

Advanced topics in astrodynamicsNumerical techniques – p.59/64


Remaining families of tori

We have also continued the following families of tori, all of them with constant
rotation number:
Invariant tori around halo orbits, from the bifurcation of the halo family
from the planar Liapunov family up to turning point in the energy of the
halo family.
Invariant tori around the elliptic–hyperbolic period–triplicated halo–type
family of p.o., from its appearance to the energy in which the stability
parameter crosses −2
Invariant tori around the elliptic–hyperbolic period–duplicated halo–type
family of p.o., in an energy range analogous to the previous one.
Invariant tori around planar Liapunov orbits, in a short energy range
starting at the bifurcation of the two–lane bridge joining it with the
vertical one.

Advanced topics in astrodynamicsNumerical techniques – p.60/64


Remaining families of tori
L1
4.5
4
3.5

Rotation number
3
2.5
2
1.5
<25 >100
1
0.5 <100
0
-1.6 -1.58 -1.56 -1.54 -1.52 -1.5 -1.48
Energy

L1 L1
3.5 3.5
3 3
Rotation number

Rotation number
2.5 2.5
2 2
1.5 1.5
1 1
0.5 0.5
0 0
-1.53 -1.52 -1.51 -1.5 -1.49 -1.48 -1.52 -1.51 -1.5 -1.49 -1.48 -1.47
Energy Energy

Advanced topics in astrodynamicsNumerical techniques – p.60/64


Remaining families of tori

Sample tori around the halo–type families.

L1, period duplication L1, period triplication

0.3 0.3
0.2 0.2
0.1 0.1
0 0
-0.1 -0.1
-0.2 -0.2
0.4 0.4
0.2 0.2
-1 -0.95 -0.9 0 -1 -0.95 0
-0.2 -0.9 -0.85 -0.2
-0.85 -0.8 -0.4 -0.8 -0.75-0.4

Advanced topics in astrodynamicsNumerical techniques – p.60/64


Iso–energetic Poincaré sections
Energy -1.537
0.2
0.15
0.1 The Poincaré sections by {z = 0, pz > 0}
0.05
are a good way to represent the dynamics in
0
-0.05 the center manifold.
-0.1
-0.15
-0.2
-0.925 -0.9 -0.875 -0.85 -0.825 -0.8 -0.775

Advanced topics in astrodynamicsNumerical techniques – p.61/64


Iso–energetic Poincaré sections
Energy -1.59 Energy -1.575 Energy -1.537
0.05 0.1 0.2
0.04 0.08 0.15
0.03 0.06
0.1
0.02 0.04
0.01 0.02 0.05
0 0 0
-0.01 -0.02 -0.05
-0.02 -0.04
-0.1
-0.03 -0.06
-0.04 -0.08 -0.15
-0.05 -0.1 -0.2
-0.855 -0.85 -0.845 -0.84 -0.835 -0.83 -0.825 -0.87 -0.86 -0.85 -0.84 -0.83 -0.82 -0.81 -0.925 -0.9 -0.875 -0.85 -0.825 -0.8 -0.775

Energy -1.529 Energy -1.507 Energy -1.4991


0.25 0.3 0.3
0.2
0.15 0.2 0.2
0.1 0.1 0.1
0.05
0 0 0
-0.05
-0.1 -0.1 -0.1
-0.15 -0.2 -0.2
-0.2
-0.25 -0.3 -0.3
-0.96 -0.93 -0.9 -0.87 -0.84 -0.81 -0.78 -1 -0.96 -0.92 -0.88 -0.84 -0.8 -0.76 -1 -0.95 -0.9 -0.85 -0.8 -0.75

L1, energy -1.529 L1, energy -1.507

0.18
0.13
0.16
0.125
0.14
0.12
0.12
0.115

0.11 0.1

0.08
-0.904 -0.9 -0.896 -0.892 -0.96 -0.95 -0.94 -0.93 -0.92 -0.91 -0.9

Advanced topics in astrodynamicsNumerical techniques – p.62/64


Iso–energetic Poincaré sections
Energy -1.507
0.3

0.2

0.1

-0.1

-0.2

-0.3
-0.98 -0.96 -0.94 -0.92 -0.9 -0.88 -0.86 -0.84 -0.82 -0.8 -0.78 -0.76

Advanced topics in astrodynamicsNumerical techniques – p.63/64


Iso–energetic Poincaré sections
Energy -1.507
0.3

0.2

0.1

-0.1

-0.2

-0.3
0.25 -0.98 -0.96 -0.94 -0.92 -0.9 -0.88 -0.86 -0.84 -0.82 -0.8 -0.78 -0.76

0.2
0.15
0.1
0.05
0
-0.05
-0.1
-0.15
-0.2
-0.25

0.3
0.2
0.1
-1 0
-0.95
-0.9 -0.1
-0.85 -0.2
-0.8
-0.75-0.3

Advanced topics in astrodynamicsNumerical techniques – p.64/64

You might also like