Introduction

The application of dynamical system theory to astrodynamics has opened the doors to many design options that can significantly expand the capabilities of spacecraft missions. Advantages of satellites around libration point orbits include easy accessibility and constant visibility from Earth as well as cheap transfer opportunities along invariant manifolds [7, 10, 11]. The next step is the computation of quasi-periodic (QP) invariant tori, which can further extend the design space by providing mission designers with new transfer opportunities [21] as well as initial conditions to establish bounded relative motion in non-trivial dynamical environments [3, 6].

For all these reasons, quasi-periodic invariant tori are of great interest to the astrodynamics community, and several strategies have been developed throughout the last decades to compute these objects. Although there exist analytical and semi-analytical methods [7, 9, 15, 25], this paper focuses on fully numerical procedures that have been successfully applied for computing quasi-periodic solutions in relevant astrodynamics problems such as the Restricted Three Body Problem (RTBP) [29].

Generally speaking, numerical methods can be divided into two categories: methods that compute invariant tori of flows, and methods that calculate invariant curves of maps (Fig. 1). Both strategies aim at calculating diffeomorphisms \(u(\boldsymbol {\theta }) : \mathbb {T}^{d} \rightarrow \mathbb {R}^{n}\) whose images are invariant for the considered dynamics. However, differences arise when comparing the performance and limitations of these two approaches.

Fig. 1
figure 1

Methods for calculating quasi-periodic invariant tori. From left to right: Partial Differential Equation (PDE) solver based on Central Differences (CD), PDE solver based on Discrete Fourier Transform (DFT), Two-Point Boundary Value Problem (TPBVP) for invariant curves of Poincaré maps (KKG), and TPBVP for invariant curves of stroboscopic maps (GMOS)

For instance, invariant tori of flows can be computed by solving a system of Partial Differential Equations over a grid of points that need to satisfy a set of invariance conditions. This strategy, originally proposed by Schilder et al. [27], leads to a full parametrization of the torus, but becomes numerically expensive when dealing with fine meshes.

In contrast, methods that compute invariant curves of maps are less susceptible to the curse of dimensionality as they deal with objects of dimension one less. For instance, Gómez and Mondelo [8] derived a numerical method for computing the Fourier coefficients of quasi-periodic Lissajous and halo orbits in the RTBP based on a stroboscopic mapping. Olikara and Scheeres [24] modified this approach to operate directly on orbit states and to incorporate general-purpose constraints to generalize the algorithm and make it applicable to other systems and orbit families. The resulting procedure, hereby referred to as GMOS, calculates families of quasi-periodic invariant tori by solving a two-point boundary value problem (TPBVP) for the invariant curves of a stroboscopic mapping, and represents an alternative with respect to the methodology of Kolemen et al. [19] (KKG), who built on similar ideas to calculate invariant curves of Poincaré maps.

Although both map strategies have been successfully tested in astrodynamics (see, e.g., Duering et al. [6], Broschart et al. [4], Baresi et al. [3]), it is unclear whether KKG or GMOS should be preferred for practical studies. Furthermore, neither of these methods has ever been compared with the PDE approach, which also succeeds in generating families of QP invariant tori in the circular restricted three-body problem [23].

In this paper, PDE solvers based on either Central Differences (CD) or Discrete Fourier Transform (DFT) are compared with the KKG and GMOS algorithms to study quasi-periodic motion in the co-rotating frame of the Earth (ECEF). Here, planar eccentric orbits wind around the surface of two-dimensional tori that can be computed with the four different algorithms. Consequently, after reviewing the different methodologies (“Methodologies”), we briefly overview the equations of motion of the planar Earth problem and compute families of QP tori about a planar circular orbit (“Accuracy Test”). Trajectories on the surface of these manifolds are generated and compared with the analytical solution of the two-body problem. This allows us to easily assess the performance of the numerical procedures as well as analyze their advantages and drawbacks. In the end, two of the considered methodologies turn out to significantly outperform the remaining strategies, thereby requiring for additional investigations. Because of this, in “Further Remarks on GMOS and PDE(DFT)” we switch to the equations of motion of the Planar Circular Restricted Three-Body Problem (PCRTBP) and study the performance of the most promising approaches in a more practical example. The results of our analysis are summarized in “Conclusions” along with final remarks on the different methods.

Methodologies

Consider the equations of motion of a satellite subject to the dynamics \(\boldsymbol {f}: \mathbb {R}^{n} \rightarrow \mathbb {R}^{n}\), where f is a smooth Hamiltonian vector field. It is assumed that f does not depend explicitly on time, therefore, if x represents the state of the satellite, one has the autonomous Hamiltonian system

$$ \dot{\boldsymbol{x}} = \boldsymbol{f}(\boldsymbol{x}). $$
(1)

Of particular interest to this work are quasi-periodic invariant tori, i.e., objects that live in the center manifold about periodic orbits. Hence, assume a periodic solution of Eq. 1 is given along with its monodromy matrix M, i.e., the state transition matrix integrated over one orbital period. Also assume that M admits one pair of complex conjugate eigenvalues with unitary modulus and non-zero argument. In this case, one can demonstrate that the entire periodic orbit has a three-dimensional center manifold associated with it. In fact, for each point along the periodic orbit, there exist two eigenvectors defining the local center subspace. By specifying an offset with respect to the periodic orbit along these eigenvectors, one obtains linear approximations of two-dimensional manifolds, i.e., the tori (Fig. 2), which are invariant under the dynamical flow (1). That is, by picking initial conditions on one of these surfaces and integrating the equations of motion, the resulting trajectory should never depart from that surface. In fact, motion occurring on a 2D torus happens to be characterized by two incommensurate frequencies, so that trajectories are quasi-periodic and tend to cover the whole manifold as t.

Fig. 2
figure 2

Representation of a QP torus in the center manifold of a periodic orbit

In what follows, we will see how these dynamical features can be leveraged to derive different numerical procedures for the continuation of quasi-periodic invariant tori in Hamiltonian autonomous systems. In particular, one can exploit the invariance property to derive a system of partial differential equations that may be solved via either central differences (PDE(CD), Schilder et al. [27]) or Fourier techniques (PDE(DFT)). Alternatively, one could look at invariant circles on the surface of a QP torus and formulate a two-point boundary value problem (TPBVP) for invariant curves of either Poincaré (KKG, Kolemen et al. [19]) or stroboscopic mappings (GMOS, Gómez and Mondelo [8], Olikara and Scheeres [24]).

It should be noted that the following algorithms may be applied to non-autonomous systems as well (see, e.g., Baresi and Scheeres [2]). Besides, their application is certainly not limited to the four-dimensional systems addressed in “Accuracy Test” and “Further Remarks on GMOS and PDE(DFT)”. In fact, astrodynamics applications of the PDE(CD), KKG, and GMOS algorithms may be found in Olikara and Howell [23], Baresi et al. [3], and Baresi and Scheeres [1], respectivelly. Finally, observe that analytical, semi-analytical, and other numerical techniques are also available in the literature [7, 9, 12, 15, 16, 25]. These methodologies are not included in our analysis due to either limited region of convergence [9], strict assumptions on the frequencies of the torus [16], or simply because they have not been tested in orbital mechanics contexts.

PDE Solvers

In this section, we summarize two methodologies that aim at calculating invariant tori of flows by solving a nonlinear system of Partial Differential Equations (PDEs). For illustration purposes, let \(\mathbb {T}^{2}\) be a two-dimensional torus parametrized by two angular variables 𝜃 = [𝜃0,𝜃1]T ∈ [0,2 π)2, and let \(\boldsymbol {u} : \mathbb {T}^{2} \rightarrow T \subset \mathbb {R}^{n}\) be a diffeomorphism (torus function) such that \(\mathrm {T} := \{u(\boldsymbol {\theta })\,|\,\boldsymbol {\theta } \in \mathbb {T}^{d}\}\) is invariant for the flow (1). We say that T is a quasi-periodic invariant torus if the restriction of the vector field to the set T, namely f|T, is mapped by the inverse of the tangent map into a constant vector field on the torus: \(\boldsymbol {g}(\theta ) = \boldsymbol {\omega } = \dot {\boldsymbol {\theta }}\), where \(\boldsymbol {\omega } = [\omega _{0}, \omega _{1}]^{T} \in \mathbb {R}^{d}\) is a vector of constant incommensurate frequencies. In this case, one can substitute x with u(𝜃) into Eq. 1, obtaining a system of partial differential equations for the unknown torus function u and frequencies w:

$$ \sum\limits_{i = 0}^{1} \frac{\partial \boldsymbol{u}}{\partial \theta_{i}} \dot{\theta}_{i} = \frac{\partial \boldsymbol{u}}{\partial \theta_{0}} \omega_{0} + \frac{\partial \boldsymbol{u}}{\partial \theta_{1}} \omega_{1} = f(\boldsymbol{u}(\boldsymbol{\theta})), $$
(2)

subject to the boundary conditions

$$ \left\{\begin{array}{ll} \boldsymbol{u}(\theta_{0}, 0) = \boldsymbol{u}(\theta_{0}, 2\,\pi), & \forall \theta_{0} \in [0,2\,\pi),\\ \boldsymbol{u}(0, \theta_{1}) = \boldsymbol{u}(2\,\pi, \theta_{1}), & \forall \theta_{1} \in [0,2\,\pi). \end{array}\right. $$
(3)

There exist several techniques for the numerical solution of nonlinear PDE such as the one of Eq. 2. However, only few of these techniques have been successfully used for the numerical continuation of quasi-periodic invariant tori in orbital mechanics contexts.

For instance, Schilder et al. [27] propose to solve the nonlinear system arising from the evaluation of Eq. 2 over an evenly distributed grid of points using central differences. This approach is hereby referred to as the PDE(CD) technique, and is further discussed in “PDE(CD)”.

Alternatively, one can approximate the partial derivatives appearing in Eq. 2 via the Discrete Fourier Transform. This seems particularly suitable for our problem given the periodic boundary conditions (3). As such, the PDE(DFT) approach is also included in our analysis and further discussed in “PDE(DFT)”. To the best of our knowledge, such a procedure is yet to be applied for the numerical continuation of quasi-periodic invariant tori in practical astrodynamics problems.

To that end, observe that both the PDE(CD) and PDE(DFT) approaches rely on a reliable initial guess. Hence, let x0 be the initial state of a periodic orbit whose monodromy matrix M admits one pair of unitary magnitude complex conjugate eigenvalues. Given M w = eiρ w, one can construct the invariant circle of the monodromy map:

$$ \boldsymbol{\varphi}(\theta_{1}) = K\,[\cos{(\theta_{1})}\,\text{Re}(\boldsymbol{w}) - \sin(\theta_{1})\,\text{Im}(\boldsymbol{w})], $$
(4)

where K is an arbitrary small scalar << 1. It is easy to show that M φ(𝜃1) = φ(𝜃1ρ), thereby proving that Eq. 4 is indeed invariant under the application of the monodromy matrix M. Because of this, the circle φ(𝜃1) is also regarded as a linear approximation of a curve on the surface of a quasi-periodic invariant torus and used to initialize the grid of points utilized by PDE methods (Fig. 3). Specifically, for each φj = φ(𝜃1,j) with 𝜃1,j = 2 π j/N1, j = 0,…,N1 − 1, one can map the perturbations forward in time using the state transition matrix, i.e.,

$$ \boldsymbol{\varphi}_{i}^{j} = e^{-\mathrm{i}\,\rho\,t_{i}/T}\,{\Phi}(t_{i},t_{0})\,\boldsymbol{\varphi}^{j}, $$
(5)

where t i = i T/N0, i = 0,…,N0 − 1, and T is the orbital period of the underlying periodic orbit. The factor e−i ρ t i /T is introduced to undo the effects of the winding frequency ω1, which acts in the latitudinal direction of the torus and shall not be confused with the longitudinal frequency ω0. Nevertheless, by adding each of the perturbations (5) to the value of the periodic orbit at time t i , namely \({\Psi }_{t_{i}}(\boldsymbol {x}_{0}) + \boldsymbol {\varphi }_{i}^{j}\), where Ψ t is the solution flow of Eq. 1 up to time t, the skeleton of the desired torus can be generated (see, e.g., Fig. 4, where N0 = 25, N1 = 25).

Fig. 3
figure 3

Mesh of discretization points utilized by PDE solvers. The blue and green lines illustrate the periodic boundary conditions (3)

Fig. 4
figure 4

Skeleton of a two-dimensional quasi-periodic invariant torus. The black dots are used to initialized the numerical continuation scheme

In order to be precisely on the surface of a quasi-periodic invariant torus, each of the mesh points needs to satisfy (2). Accordingly, one has a set of N0 × N1 vectorial relationships that can be used to update the initial approximations \(\boldsymbol {u}_{i}^{j} \simeq \varphi _{t_{i}}(\boldsymbol {x}_{0}) + \boldsymbol {\varphi }_{i}^{j}\), ω0 ≃ 2 π/T, ω1ρ/T via Newton’s method. That is, given \(\boldsymbol {z} = [{\boldsymbol {u}}_{i}^{j}, \boldsymbol {\omega }]^{T}\) and

then

$$ \boldsymbol{z}^{(k + 1)} = \boldsymbol{z}^{(k)} - D\boldsymbol{F}(\boldsymbol{z}^{(k)})^{\dagger}\,\boldsymbol{F}(\boldsymbol{z}^{(k)}), $$
(7)

where DF(z(k)) is the pseudo-inverse of the Jacobian matrix of F.

The system (6) is made of (N0 × N1) vectorial equations in (N0 × N1 + 2) unknowns that requires additional constraints to yield a single solution. First of all, observe that the choice of the mesh points is not unique as any arbitrary displacements in both the 𝜃0 and 𝜃1 directions would still lead to a fine representation of the skeleton. Secondly, as pointed out by Jorba and Villanueva [17], two-dimensional tori of Hamiltonian autonomous systems that do not depend on any parameter live in two-parameter families. Therefore, a total of four extra equations are actually needed.

Schilder et al. [27] identify two of these equations with the phase conditions

$$\begin{array}{@{}rcl@{}} p_{0}(\boldsymbol{u}_{i}^{j}) &:=& <\boldsymbol{u}_{i}^{j}, \frac{\partial\tilde{\boldsymbol{u}}_{i}^{j}}{\partial \theta_{0}}> := \frac{1}{N_{0}\,N_{1}}\,\sum\limits_{i = 0}^{N_{0}-1}\,\sum\limits_{j = 0}^{N_{1}-1} (\boldsymbol{u}_{i}^{j})^{T} \,\frac{\partial\tilde{\boldsymbol{u}}_{i}^{j}}{\partial \theta_{0}} = 0, \end{array} $$
(8a)
$$\begin{array}{@{}rcl@{}} p_{1} (\boldsymbol{u}_{i}^{j}) &:=& <\boldsymbol{u}_{i}^{j}, \frac{\partial\boldsymbol{\tilde{u}}_{i}^{j}}{\partial \theta_{1}}> = 0, \end{array} $$
(8b)

which help anchor the solution points once a previously found solution \(\tilde {\boldsymbol {u}}_{i}^{j}\) is available. For the first family member, the latter is approximated with the skeleton of the torus itself.

As for the remaining two parametrizing equations, different choices are available. For instance, if the system (1) admits an integral of motion such as the Jacobi constant for the RTBP, one can require the quasi-periodic invariant torus to have the same energy level via

$$s_{0}(\boldsymbol{u}_{i}^{j}) := \frac{1}{N_{0}\,N_{1}}\,\left( \sum\limits_{i = 0}^{N_{0}-1}\,\sum\limits_{j = 0}^{N_{1}-1} C(\boldsymbol{u}_{i}^{j})\right) - \mathcal{C} = \boldsymbol{0}, $$

where \(C(\boldsymbol {u}_{i}^{j})\) is the Jacobi integral evaluated at the mesh point \(\boldsymbol {u}_{i}^{j}\). Alternatively, one could also fix the value of a torus frequency, e.g.,

$$ s_{0}(\omega_{0}) := \omega_{0} - 2\,\pi/T = 0. $$
(9)

where ω0 is again the longitudinal frequency of the torus.

Finally, the last equation \(s_{1}(\boldsymbol {u}_{i}^{j},\boldsymbol {\omega })\) may be covered by pseudo-arclength continuation, which helps identify the quasi-periodic invariant torus within its family. Following Seydel [28],

$$s_{1}(\boldsymbol{z}) := < {\boldsymbol{u}}_{i}^{j} - {\tilde{\boldsymbol{u}}}_{i}^{j}, {\tilde{\boldsymbol{u}}}_{i}^{\prime j}> + (\boldsymbol{\omega} - \tilde{\boldsymbol{\omega}})\,\boldsymbol{\omega}^{\prime} - \delta s = 0, $$

where \([{\tilde {\boldsymbol {u}}}_{i}^{\prime j} \,\, \boldsymbol {\omega }^{\prime }]^{T}\) is the family tangent evaluated at a previously known solution \(({\tilde {\boldsymbol {u}}}_{i}^{j}, \tilde {\boldsymbol {\omega }})\), and δs is a user-defined parameter known as the continuation step-length. Please note that the family tangents are hereby computed as the difference betwee two consecutive tori in the family.

In the end, by appending \(p_{0}({\boldsymbol {u}}_{i}^{j})\), \(p_{1}({\boldsymbol {u}}_{i}^{j})\), \(s_{0}({\boldsymbol {u}}_{i}^{j})\), and s1(z) to the system (6), one can eventually apply Eq. 7 and update the initial approximation of \({\boldsymbol {u}}_{i}^{j}\) and ω until the augmented error vector is below some given tolerance, e.g., 10− 12. If desired, the computed solution can be used to replace the values of \({\boldsymbol {\tilde {u}}}_{i}^{j}\), \(\boldsymbol {\tilde {\omega }}\), \({\tilde {\boldsymbol {u}}}_{i}^{\prime j}\), \(\tilde {\boldsymbol {\omega }}^{\prime }\), and rerun the code to continue through different members of the quasi-periodic invariant tori family. Following a predictor-corrector scheme, the initial guess of the new family member would be given by \({\boldsymbol {u}}_{i}^{j} = {\tilde {\boldsymbol {u}}}_{i}^{j} + \delta s\,{\tilde {\boldsymbol {u}}}_{i}^{\prime j}\), \(\boldsymbol {w} = \tilde {\boldsymbol {\omega }} + \delta s\,\tilde {\boldsymbol {\omega }}^{\prime }\).

PDE(CD)

In the examples shown in the original paper by Schilder et al. [27], the partial derivatives of \({\boldsymbol {u}}_{i}^{j}\) are approximated via second-order central differences [20]. In this case,

$$\begin{array}{@{}rcl@{}} \frac{\partial {\boldsymbol{u}}_{i}^{j}}{\partial \theta_{0}} &=& \frac{{\boldsymbol{u}}_{i-2}^{j} - 8\,{\boldsymbol{u}}_{i-1}^{j} + 8\,{\boldsymbol{u}}_{i + 1}^{j} - {\boldsymbol{u}}_{i + 2}^{j}}{12\,{\Delta} \theta_{0}},\\ \frac{\partial {\boldsymbol{u}}_{i}^{j}}{\partial \theta_{1}} &=& \frac{{\boldsymbol{u}}_{i}^{j-2} - 8\,{\boldsymbol{u}}_{i}^{j-1} + 8\,{\boldsymbol{u}}_{i}^{j + 1} - {\boldsymbol{u}}_{i}^{j + 2}}{12\,{\Delta} \theta_{1}}, \end{array} $$
(10)

where Δ𝜃0 = 2 π/N0, and Δ𝜃1 = 2 π/N1.

The truncation error of such a local approximation is on the order of O𝜃4).

PDE(DFT)

Differently from the PDE(CD) method, in PDE(DFT) the partial derivatives appearing in Eq. 2 are approximated via the Discrete Fourier Transform. That is, given

$$\begin{array}{@{}rcl@{}} {\boldsymbol{A}}_{k}^{j} &=& \sum\limits_{i = 0}^{N_{0} -1}\,{\boldsymbol{u}}_{i}^{j} \,e^{\mathrm{i}\,2\,\pi\,k\,i/N_{0}},\\ {\boldsymbol{B}}_{i}^{l} &=& \sum\limits_{j = 0}^{N_{1} -1}\,{\boldsymbol{u}}_{i}^{j} \,e^{\mathrm{i}\,2\,\pi\,l\,j/N_{1}}, \end{array} $$

then

$$\begin{array}{@{}rcl@{}} {\boldsymbol{u}}^{j}(\theta_{0}) &=& \frac{1}{N_{0}}\,\sum\limits_{k = -(N_{0} - 1)/2}^{(N_{0} - 1)/2}\,{\boldsymbol{A}}_{k}^{j}\,e^{\mathrm{i}\,k\,\theta_{0}},\\ \boldsymbol{u}_{i}(\theta_{1}) &=& \frac{1}{N_{1}}\,\sum\limits_{l = -(N_{1} - 1)/2}^{(N_{1} - 1)/2}\,{\boldsymbol{B}}_{i}^{l}\,e^{\mathrm{i}\,l\,\theta_{1}}, \end{array} $$

so that

$$\begin{array}{@{}rcl@{}} \frac{\partial {\boldsymbol{u}}_{i}^{j}}{\partial \theta_{0}} &=& \frac{1}{N_{0}}\,\sum\limits_{k = -(N_{0} - 1)/2}^{(N_{0} - 1)/2}\,\mathrm{i}\,k\,\boldsymbol{A}_{k}^{j}\,e^{\mathrm{i}\,k\,(2\,\pi\,j/N_{1})},\\ \frac{\partial {\boldsymbol{u}}_{i}^{j}}{\partial \theta_{1}} &=& \frac{1}{N_{1}}\,\sum\limits_{l = -(N_{1} - 1)/2}^{(N_{1} - 1)/2}\,\mathrm{i}\,l\,\boldsymbol{B}_{i}^{l}\,e^{\mathrm{i}\,l\,(2\,\pi\,i/N_{0})}, \end{array} $$

with \({\boldsymbol {A}}_{-k}^{j} = {\bar {\boldsymbol {A}}}_{k}^{j}\), \({\boldsymbol {B}}_{i}^{-l} = {\bar {\boldsymbol {B}}}_{i}^{l}\) as it follows from the Hermitian symmetry of the DFT with real inputs \(\boldsymbol {u}_{i}^{j}\). Numerical experiments show that the approximation error using the information from the global distribution of the mesh point is two-to-three orders of magnitude smaller than the truncation error of Eq. 10.

TPBVP

Two-point boundary value problems (TPBVP) occur whenever a solution of a system of ordinary differential equations (ODE) needs to satisfy boundary conditions at two different points in time. As an example, consider the computation of periodic orbits for the Hamiltonian system (1), where the state of a satellite after one orbital period T needs to match the initial state at time t = 0. Here, shooting techniques are usually applied in order to update a reliable initial guess via Newton’s method and satisfy the boundary condition g(x0,x1) : = x1x0 = 0, where, x0 = x(0) and x1 = x(T). The main idea of this Section is that both the map strategies considered in this paper, namely the KKG and GMOS algorithms, can be recast into this framework.

First, let us change the independent variable of Eq. 1 into τ = t/T, where T is a reference time for the considered trajectory. In this case, \(\dot {\boldsymbol {x}} = \boldsymbol {f}(\boldsymbol {x})\) may be rewritten as

$$ \boldsymbol{x}^{\prime} = T\,\boldsymbol{f}(\boldsymbol{x}), $$
(11)

where x denotes the first derivative of x with respect to the rescaled time τ.

Next, observe that the KKG and GMOS algorithms aim at calculating invariant curves of a Poincaré and stroboscopic mapping, respectively. Therefore, let \(\boldsymbol {X} = [{\boldsymbol {x}}_{0}^{T},\, {\boldsymbol {x}}_{1}^{T}, \dots , {\boldsymbol {x}}_{N-1}^{T}]^{T}\) be the collection of N evenly distributed points along any of such curves. Of course, \(\boldsymbol {X} \in \mathbb {R}^{n\,N}\), where n is the dimension of the original Hamiltonian system (1). Furthermore, let \(\mathbb {F} (\boldsymbol {X})\) be the n N-dimensional vector field given by

$$ \mathbb{F} (\boldsymbol{X}, \boldsymbol{T}) = \left[\begin{array}{c} T_{0}\,\boldsymbol{f}(\boldsymbol{x}_{0})\\ T_{1}\,\boldsymbol{f}(\boldsymbol{x}_{1})\\ {\dots} \\ T_{N-1}\,\boldsymbol{f}(\boldsymbol{x}_{N-1}) \end{array} \right], $$
(12)

where T = [T0, T1,…,TN− 1]T is the vector of constant reference times T i , i = 0,…,N − 1.

Depending on the map strategy being considered, T i is either the first return time of the i-th trajectory, or the stroboscopic time T. In the latter case, T i = Ti, and the constant vector T may be reduced to a scalar parameter for the force field (12).

Nonetheless, the augmented system

$$\boldsymbol{X}^{\prime} = \mathbb{F}(\boldsymbol{X},\boldsymbol{T}) $$

describes the dynamical evolution of the whole curve in both map strategies. In fact, by following this convention, a QP torus can be seen as a trajectory X(τ), τ ∈ [0,1] satisfying quasi-periodic boundary conditions g(X0,X1) = 0, where X0 = X(0), and X1 = X(1). Depending on the particular methodology being considered, different choices of boundary conditions emerge. Furthermore, phase conditions such as Eqs. 8a8b may or may not be required in order to yield unique solutions of the TPBVP.

For the same reason, two parametrizing equations are also appended to the list of constraints that need to be satisfied with the shooting method. The first of these equations is either provided by an integral of motion or by fixing one of the torus frequencies as in Eq. 9. At the same time, pseudo-arclength continuation may be used to step through different members of a quasi-periodic invariant tori family.

In the following, we shall see how the two map strategies work in more details. Specifically, we will discuss about the generation of a reliable initial guess as well as the derivation of quasi-periodic boundary conditions in both the KKG and GMOS approaches.

KKG

In their paper, Kolemen et al. [19] derive a numerical procedure to compute families of quasi-periodic invariant tori via invariant curves of a Poincaré map. Accordingly, consider the intersection of the quasi-periodic invariant torus of Fig. 4 with the equatorial plane z = 0 where the underlying periodic orbit is crossing from south to north.

As described in Scheeres [26], a Poincaré map takes a point y0 on the chosen surface of section and gives the corresponding state y1 at the next surface of section crossing. If y1 = P(y0) represents such mapping, one can linearize in the neighborhood of a periodic orbit y = P(y) to obtain the linearized Poincaré mapping

$$\delta \boldsymbol{y}_{1} = \left[\frac{\partial\boldsymbol{P}}{\partial\boldsymbol{y}}\right]^{*}\,\delta\boldsymbol{y}_{0} = M_{10}\,\delta\boldsymbol{y}_{0}, $$

where \(\delta \boldsymbol {y} = [\delta x, \delta y, \delta \dot {x}, \delta \dot {y}, \delta \dot {z}]^{T}\) represents deviations of the reduced state vector \(\boldsymbol {y} = [ x, y, \dot {x}, \dot {y}, \dot {z}]^{T}\), and M10 is known as the reduced monodromy matrix.

Once the reduced monodromy matrix is found, one can come up with a linear approximation of the researched invariant curve. Specifically, if M10 admits at least one pair of complex conjugate eigenvalues, e.g., M10 w10 = eiρ w10, then

$$\boldsymbol{\psi}(\phi) = K\,[\cos{(\phi)}\,\text{Re}(\boldsymbol{w}_{10}) - \sin(\phi)\,\text{Im}(\boldsymbol{w}_{10})], $$

is invariant with respect to M10.

Now consider the N deviations with respect to the periodic orbit δx0,i = ψ(ϕ i ) found in correspondence of the N angular values ϕ i = 2 π (i − 1)/N, i = 1,…,N. Figure 5 shows how this initial guess looks like in different coordinate spaces for the torus of Fig. 4, thereby illustrating that the xy coordinate plane can be used to efficiently parametrize the intersection between the manifold and the surface of section \(\zeta (\boldsymbol {x}):= \{z = 0, \dot {z} > 0\}\).

Fig. 5
figure 5

An invariant circle of the Poincaré map as seen in different coordinate planes

In this case, let \(R = \sqrt {\delta x^{2} + \delta y^{2}}\), and consider a Discrete Fourier transform such that

$$ \boldsymbol{X}_{0} - \boldsymbol{X}^{*} = \delta\boldsymbol{X}_{0} = \left[\begin{array}{c} \delta\boldsymbol{x}_{0,1} \\ {\vdots} \\ \delta\boldsymbol{x}_{0,N} \end{array}\right] = A(\theta_0)\,\boldsymbol{Q}, $$
(13)

where X is the representation of the considered periodic orbit in the augmented system (12), i.e., X = [x,x,…,x]T, \(\boldsymbol {x}^{*} = [x^{*}, y^{*}, 0, \dot {x}^{*}, \dot {y}^{*}, \dot {z}^{*}]^{T}\), and \(\delta \boldsymbol {x}_{0,i} = [\delta x_{0,i}, \delta y_{0,i}, \delta z_{0,i} = 0, \delta \dot {x}_{0,i}, \delta \dot {y}_{0,i}, \delta \dot {z}_{0,i}]^{T}\). Furthermore, A(𝜃) is the matrix defined by

$$\begin{array}{@{}rcl@{}} A(\theta_0) &=& \left[\begin{array}{c} A(\theta_{0,1})\\ \vdots\\ A(\theta_{0,N}) \end{array}\right],\\ A(\theta_{0,i}) &=& \left[\begin{array}{cccc} \cos{(\theta_{0,i})}\,\boldsymbol{S}(\theta_{0,i}) & 0 & 0 & 0\\ \sin{(\theta_{0,i})}\,\boldsymbol{S}(\theta_{0,i}) & 0 & 0 & 0\\ 0 & 0 & 0 & 0\\ 0 & \boldsymbol{S}(\theta_{0,i}) & 0 & 0\\ 0 & 0 & \boldsymbol{S}(\theta_{0,i}) & 0\\ 0 & 0 & 0 & \boldsymbol{S}(\theta_{0,i}) \end{array}\right], \end{array} $$

with

$$ \boldsymbol{S} (\theta_{0,i}) = \left[1, \cos{(\theta_{0,i})}, \sin{(\theta_{0,i})}, \dots, \cos \left( \frac{N}{2}\,\theta_{0,i}\right), \sin \left( \frac{N}{2}\,\theta_{0,i}\right) \right], $$
(14)

and \(\theta _{0,i} = \arctan \left (\frac {\delta y_{0,i}}{\delta x_{0,i}}\right )\), i = 1,…,N. With these definitions, Eq. 13 defines \(\boldsymbol {Q} = [{\boldsymbol {Q}}_{R}^{T} \, {\boldsymbol {Q}}_{\dot {x}}^{T} \, {\boldsymbol {Q}}_{\dot {y}}^{T} \, {\boldsymbol {Q}}_{\dot {z}}^{T}]^{T}\) as the DFT coefficients of δX0.Footnote 1

It is now possible to propagate each of the N points till the next surface of section crossing using the full nonlinear equations of motion (1), and obtain the corresponding angles in terms of the chosen coordinate variables, e. g.,

$$\theta_{1,i} = \arctan \left( \frac{\delta y_{1,i}}{\delta x_{1,i}}\right). $$

If the δX0 points were initialized exactly on the surface of a QP invariant torus, the points obtained after one revolution, namely δX1 = X1X, should satisfy the boundary conditions

i.e., the propagated points should end up on the same curve of the Poincaré map. Since this is not the case–at least for the very first iteration (Fig. 6a)–consider updating the initial guess via Newton’s method. For convergence reasons, this is better achieved by working directly on the Fourier coefficients defined in Eq. 13. The invariance relationship is

$$ F(\boldsymbol{Q}) = \delta\boldsymbol{X}_1 - A(\theta_{1})\,\boldsymbol{Q} = \boldsymbol{0}, $$
(15)

whereas Newton’s update reads as

$$\boldsymbol{Q}^{(k + 1)} = \boldsymbol{Q}^{(k)} - DF(\boldsymbol{Q}^{(k)})^{\dagger}\,F(\boldsymbol{Q}^{(k)}), $$

where DF is the left pseudo-inverse of the Jacobian matrix of F(Q) (see Kolemen et al. [19] for details).

Fig. 6
figure 6

First (a) and last iteration (b) of the KKG algorithm. The propagated points are shown in blue, whereas the points projected on the current estimate of the invariant circle of the Poincaré map are shown in black

Also recall that phase conditions and parametrizing equations may or may not be needed in order to have unique solutions of the TPBVP. As it turns out, the KKG algorithms only needs two extra equations to be appended to the error vector (15). This is because the choice of the surface of section, along with the one of the coordinate variables that defines the angular variable 𝜃, effectively avoid the indeterminacies that would otherwise affect the Fourier representation of X0. Consequently, no phase constraints are needed, whereas the remaining two parametrizing equations are given by either

$$ s_{0}(\boldsymbol{Q}) := \frac{1}{N}\,\left( \sum\limits_{i = 1}^{N}\,C(A(\theta_{0,i})\,\boldsymbol{Q})\right) - \mathcal{C},\qquad\text{(Jacobi)} $$
(16)

or

$$ s_{0}(\boldsymbol{Q}) := \frac{1}{N}\,\left( \sum\limits_{i = 1}^{N}\,\tau(A(\theta_{0,i})\,\boldsymbol{Q})\right) - T,\qquad\text{(Period)} $$
(17)

where τ(x) is the first return time for point x, and

$$ s_{1}(\boldsymbol{Q}) = < \boldsymbol{Q} - \tilde{\boldsymbol{Q}}, \tilde{\boldsymbol{Q}}^{\prime}> - \delta s.\qquad\text{(Pseudo-arclength)} $$
(18)

By appending Eq. 18 and either Eqs. 16 or 17 to the error vector (15), Newton’s method can be correctly applied until convergence to the desired quasi-periodic torus (Fig. 6b).

GMOS

In contrast to the KKG method, Gómez and Mondelo [8], Olikara and Scheeres [24] (GMOS) compute families of QP tori via invariant curves of a stroboscopic map. To illustrate this, recall that motion on the surface of a two-dimensional torus happens to be characterized by two incommensurate frequencies, namely ω0 and ω1. Accordingly, if Ψ T (x0) is the solution flow of Eq. 1, one can take points on the surface of a torus u(𝜃) = u([𝜃0,𝜃1]T) and propagate them for time T = 2 π/ω0, obtaining

$$\begin{array}{@{}rcl@{}} \boldsymbol{u}(\bar{\boldsymbol{\theta}}) &=& {\Psi}_{T}(\boldsymbol{u}(\boldsymbol{\theta})), \end{array} $$
(19a)
$$\begin{array}{@{}rcl@{}} &=& \boldsymbol{u}([\theta_{0} + \omega_{0}\,T, \theta_{1} + \omega_{1}\,T]^{T}), \end{array} $$
(19b)
$$\begin{array}{@{}rcl@{}} &=& \boldsymbol{u}([\theta_{0}, \theta_{1} + \rho]^{T}), \end{array} $$
(19c)

where ρ = 2 π ω1/ω0 is also known as the rotation number [18].

Following Eq. 19c, for any given value of 𝜃0, v(𝜃1) = u([𝜃0,𝜃1]T) must be an invariant curve of the stroboscopic map Ψ T . To calculate such curve, observe that

$${\Psi}_{T}(\boldsymbol{v}(\theta_{1})) = \boldsymbol{v}(\theta_{1} + \rho) = \boldsymbol{v}(\bar{\theta}_{1}). $$

Therefore, by defining an operator Rρ that acts on the space of the diffeomorphisms \(\mathrm {V} = \{\boldsymbol {v} (\cdot )\,|\, \boldsymbol {v} : \mathbb {T}^{1}\rightarrow \mathrm {T} \subset \mathbb {R}^{6}\}\) such that

$$(R_{-\rho} \circ \boldsymbol{v})(\theta_{1}) = \boldsymbol{v}(\theta_{1} - \rho), $$

one has the invariance relationship

$$ R_{-\rho}[{\Psi}_{T}(\boldsymbol{v}(\theta_{1}))] - \boldsymbol{v}(\theta_{1}) = \boldsymbol{0}. $$
(20)

As usual, given a reliable initial guess for v(𝜃1), T and ρ, one can update the algebraic equations (20) via Newton’s method until convergence. It turns out that such an initial approximation can be provided by the invariant circle of the monodromy map. In this case, it is also easy to demonstrate that, after one orbital period of the underlying periodic orbit T, the rotation number ρ should be approximately equal to the phase of the complex conjugate eigenvalue pair considered in Eq. 4. Thus, let us pick N points v(𝜃1,j), j = 0,…,N − 1 along φ(𝜃1) such that X0 = [v(𝜃1,0)T,v(𝜃1,1)T,…,v(𝜃1,N− 1)T]T. After propagating each of these points for one orbital period T, one obtains the image of the stroboscopic map \(\boldsymbol {X}_{1} = [\boldsymbol {v} (\bar {\theta }_{1,0})^{T} = {\Psi }_{T}(\boldsymbol {v} (\theta _{1,0}))^{T}, \boldsymbol {v}(\bar {\theta }_{1,1})^{T}, \dots , \boldsymbol {v} (\bar {\theta }_{1,N-1})^{T}]^{T}\). Furthermore, by means of the Discrete Fourier Transform (DFT) of X0, i.e.,

$$\boldsymbol{c}_{k} = \sum\limits_{j = 1}^{N} \boldsymbol{v}(\bar{\theta}_{1,j})\,e^{\mathrm{i}2\,\pi\,k\,(j-1)/N}, $$

a realization of Rρ immediately follows:

$$\begin{array}{@{}rcl@{}} R_{-\rho}[\boldsymbol{v}(\bar{\theta}_{1,j})] &=& \frac{1}{N}\,\sum\limits_{k = -(N-1)/2}^{(N-1)/2}\boldsymbol{c}_{k}\,e^{\mathrm{i}\,k\,(2\,\pi\,(j-1)/N-\rho)},\\ &=& \frac{1}{N}\,\sum\limits_{k = -(N-1)/2}^{(N-1)/2}\boldsymbol{c}_{k}^{\prime}\,e^{\mathrm{i}\,k\,2\,\pi\,(j-1)/N}. \end{array} $$

The invariance relationship (20) can be now translated into a set of n N boundary conditions in (n N + 2) unknowns:

where [D] and [D]− 1 are the DFT and inverse DFT operators rewritten in matrix form, and [R(−ρ)] is the diagonal matrix that rotates the Fourier coefficients from c k to \(\boldsymbol {c}_{k}^{\prime } = \boldsymbol {c}_{k}\,e^{-\mathrm {i}\,k\,\rho }\).

It is worth noting that the boundary conditions (21) would still be satisfied for all the possible choices of 𝜃0 = ϕ ∈ [0, 2 π]. Besides, for each value of α ∈ [0, 2 π], v(𝜃1 + α) would also be a solution of Eq. 20. To prevent these indeterminations from occurring, two phase conditions are appended to the error vector (21). In particular, Olikara and Scheeres [24] define the phase condition for 𝜃1 by minimizing the distance between the researched curve v(𝜃1) and a previously found solution \(\tilde {\boldsymbol {v}}(\theta _{1})\). The distance between two solutions is defined as

$$\frac{1}{2\,\pi}\,{\int}_{0}^{2\,\pi}\|\boldsymbol{v}(\theta_{1}) - \tilde{\boldsymbol{v}}(\theta_{1})\|^{2}\, \mathrm{d} \theta_{1}, $$

yielding

$$p_{1}(\boldsymbol{X}_{0}) := <\boldsymbol{X}_{0}, \frac{\partial \boldsymbol{\tilde{X}}_{0}}{\partial \theta_{1}}> = \frac{1}{N}\,\sum\limits_{j = 1}^{N} \mathrm{v}(\theta_{1,j})^{T}\,\frac{\partial \tilde{\mathrm{v}}(\theta_{1,j})}{\partial \theta_{1}} = 0. $$

A similar formula, i.e.,

$$p_{0}(\boldsymbol{X}_{0}) := <\boldsymbol{X}_{0} - \tilde{\boldsymbol{X}}_{0}, \frac{\partial \tilde{\boldsymbol{X}}_{0}}{\partial \theta_{0}}> = \frac{1}{N}\,\sum\limits_{j = 1}^{N} [\boldsymbol{v}(\theta_{1,j}) - \tilde{\boldsymbol{v}}(\theta_{1,j})]^{T}\,\frac{\partial \tilde{\boldsymbol{v}} (\theta_{1,j})}{\partial \theta_{0}} = 0, $$

is also found for the phase condition of 𝜃0 recalling that, from Eq. 2,

$$\frac{\partial \tilde{\boldsymbol{v}}}{\partial \theta_{0}} = \frac{1}{\tilde{\omega}_{0}}\,\left[\boldsymbol{f} (\tilde{\boldsymbol{v}}(\theta_{1})) - \tilde{\omega}_{1}\,\frac{\partial \tilde{\boldsymbol{v}}}{\partial \theta_{1}}\right]. $$

As for the parametrizing equations, one can use the value of the Jacobi integral of the underlying periodic orbit \(\mathcal {C}\) and seek for invariant tori that satisfy the relationship

$$s_{0}(\boldsymbol{X}_{0}) := \frac{1}{N}\,\sum\limits_{j = 1}^{N}\,C(\boldsymbol{v}(\theta_{1,j})) - \mathcal{C} = 0. $$

Alternatively, one could also fix the stroboscopic time via

$$ s_{0}(T) := T - \mathcal{T}, $$
(22)

where \(\mathcal {T}\) is a target value (usually the period of the underlying peirodic orbit). Lastly, pseudo-arclength continuation can be used to step through different family members:

$$s_{1}(\boldsymbol{z}) := <\boldsymbol{X}_{0} - \tilde{\boldsymbol{X}}_{0}, \tilde{\boldsymbol{X}}^{\prime}_{0}> + (T - \tilde{T})\,T^{\prime} + (\rho - \tilde{\rho})\,\rho^{\prime} - \delta s = 0, $$

where \(\tilde {\boldsymbol {z}}^{\prime } = [\tilde {\boldsymbol {X}}_{0}^{\prime }, T^{\prime }, \rho ^{\prime }]^{T}\) is the family tangent evaluated in \(\tilde {\boldsymbol {z}} = [\tilde {\boldsymbol {X}}_{0}, \tilde {T}, \tilde {\rho }]^{T}\) and computed by taking the difference between two consecutive tori members.

The augmented system

$$ \boldsymbol{F} (\boldsymbol{z}) = \left[\begin{array}{c} [D]^{-1}\,[R(-\rho)]\,[D]\,\boldsymbol{X}_{1} - \boldsymbol{X}_{0}\\ p_{0}(\boldsymbol{X}_{0})\\ p_{1}(\boldsymbol{X}_{0})\\ s_{0}(\boldsymbol{X}_{0}) \quad\text{or}\quad s_{0}(T)\\ s_{1}(\boldsymbol{z}) \end{array}\right] = \boldsymbol{0} $$
(23)

is now amenable to be solved via Newton’s method with

$$\boldsymbol{z}^{(k + 1)} = \boldsymbol{z}^{(k)} - D \boldsymbol{F} (\boldsymbol{z}^{(k)})^{\dagger}\,\boldsymbol{F}(\boldsymbol{z}^{(k)}), $$

where DF(z) is the left pseudo-inverse of the Jacobian of Eq. 23 (see Olikara and Scheeres [24] for details). Upon convergence, the code outputs invariant curves of the stroboscopic map such as the one illustrated in Fig. 7b.

Fig. 7
figure 7

First (a) and last iteration (b) of GMOS

Accuracy Test

In order to put the numerical methods to the test, consider the equations of motion of the planar Earth problem in the co-rotating frame of the planet, alias the Earth-center Earth-Fixed frame or ECEF:

$$\left\{\begin{array}{l} \ddot{x} - 2\,\omega_{\oplus}\,\dot{y} = -\frac{\mu_{\oplus}}{r^{3}}\,x + \omega_{\oplus}^{2}\,x,\\ \ddot{y} + 2\,\omega_{\oplus}\,\dot{x} = -\frac{\mu_{\oplus}}{r^{3}}\,y + \omega_{\oplus}^{2}\,y, \end{array}\right. $$

where \(\boldsymbol {x} = [x, y, \dot {x}, \dot {y}]^{T}\) is the state of a satellite with respect to the ECEF frame, \(r = \sqrt {x^{2} + y^{2}}\) is the norm of the spacecraft position vector, μ = 398600.4418 km3/s2 is the Earth gravitational parameter, and ω = 7.2921 × 10− 5 rad/s is the Earth’s spin rate. In what follows, we normalize the units of the problem such that the length and time units correspond to LU = R = 6378.137 km and \(\text {TU} = \sqrt {R_{\oplus }^{3}/\mu _{\oplus }} = 806.8111\) s, respectively. Following this convention, μ = 1, whereas ω = 0.05883.

Next, consider a planar circular orbit (PCO) with semimajor axis \(\bar {a} = 10000\) km = 1.5679 LU (Fig. 8). As it is shown, the trajectory is also periodic in the co-rotating frame of the Earth with period T = 2 π/(nω) = 13.9457 TU, where \(n = \sqrt {\mu _{\oplus }/\bar {a}^{3}}\) is the mean motion of the satellite. Furthermore, by computing the monodromy matrix and corresponding eigenvalues, it can be verified that the periodic orbit is stable and surrounded by a family of two-dimensional tori. Several members of the quasi-periodic invariant tori family can be then computed with the numerical procedures outlined in the previous section. In doing so, we fix the longitudinal frequency of the torus to match the period of the PCO via either Eqs. 917, or 22, depending on the methodology being considered. This ensures that quasi-periodic trajectories initialized on the surface of the computed tori have, in principle, the same orbital period/semimajor axis of the planar circular trajectory. If differences occur, these are due to the approximations and accuracy limitations of the numerical procedures.

Fig. 8
figure 8

Planar Circular Orbit (PCO) in both the ECEF and ECI frames

To estimate the error of each method, we proceed in the following fashion. First, we rotate each of the solution points in the Earth-Centered Inertial frame (ECI) and compute the corresponding Keplerian orbit elements. Next, we accumulate the differences between the semi-major axes and the nominal value before averaging over the number of points used by the considered procedure. For instance, if a quasi-periodic invariant torus has been computed with GMOS using N points, the final error is given by \({\sum }_{i = 0}^{N-1}\,|a_{i} - \bar {a}|/N\), where a i are the semi-major axes obtained from each of the N solution points. The outcome of our numerical investigation is illustrated in Fig. 9.

Fig. 9
figure 9

Accuracy test for several QP tori computed with the numerical procedures of “Methodologies”. GMOS uses N = 25 solution points, KKG uses N = 25 with N m a x = 12, whereas PDE(DFT) and PDE(CD) use an evenly distributed grid of (N1 = 25) × (N0 = 25) points

As it can be seen, the errors of the different methodologies are shown as a function of the eccentricity e. This is because quasi-periodic trajectories in the ECEF frame are actually eccentric periodic orbits in the Earth-centered inertial frame (Fig. 10). What differs between trajectories on the surface of the same QP torus is just the phasing of the perigee with respect to the body-fixed frame of the Earth at epoch. Therefore, each QP torus can be related to a unique value of e. This eventually allows us to compare between the different tori of the three algorithms, thereby showing that GMOS and the PDE solver based on DFT (PDE(DFT)) significantly outperform the KKG and PDE(CD) algorithms.

Fig. 10
figure 10

a Quasi-periodic invariant torus and sample trajectory in the ECEF frame of the Earth. b Sample trajectory as seen in the ECI frame. e = 0.2334

Given that the DFT uses the full representation of either the torus or a curve on its surface, it is not surprising that the accuracy of GMOS and PDE(DFT) is considerably better than PDE(CD), which is rather based on a local approximation of the partial derivatives appearing in Eq. 6. That being said, it is still worth noting that the Jacobian matrix of F(z) in PDE(CD) is much sparser than the Jacobian matrix for the PDE(DFT) case (Fig. 11). With the proper implementation, this can save computational time when the number of solution points becomes significantly larger than the 25 × 25 grid used for the results of Fig. 9.

Fig. 11
figure 11

Jacobian matrix for the PDE algorithms using central differences (a) and DFT (b). Both the matrices consist of (n N0 N1 + 4) × (n N0 N1 + 2) ≃ 6.26 × 106 entries

As for the KKG method, it is fairly clear that the algorithm suffers from the lack of explicit dependency on the frequencies of the torus. Indeed, KKG is probably the least suitable method for computing families of QP tori with the same longitudinal frequency as the constraint (17) is certainly weaker than Eqs. 9 and 22. A second disadvantage is that the algorithm works with the Fourier representation of the invariant curve of the Poincaré map rather than a finite set of satellite states. As it can be seen, this tends to decrease the accuracy of the solution points when the intersection of the torus with the surface of section becomes larger. Notably, such a trend is not observed in GMOS, probably because the DFT is applied to a set of n-dimensional states rather than on the projection of this curve onto a suitable coordinate plane. Speaking of the projection, it is also worth noting that the final choice of coordinates is not unique and ultimately depends on the topology of the QP tori family to be computed with the algorithm. Even different families of the same problem may require different coordinate choices, making the implementation of the KKG algorithm certainly more complicated and case dependent.

For all these reasons, it appears as GMOS and PDE(DFT) are the strategies to adopt moving forward. In the next section, we further study these two procedures while calculating families of QP tori in the Planar Circular Restricted Three-Body Problem (PCRTBP).

Further Remarks on GMOS and PDE(DFT)

Following the results of the previous section, it appears as if GMOS and PDE(DFT) are the most accurate methodologies currently available in the astrodynamics literature. Therefore, it is interesting to further investigate these strategies in order to establish which of the candidate procedures should be preferred for future studies of astrodynamics systems.

To make our comparison more practical, we now switch to the equations of motion of the Planar Circular Restricted Three-Body Problem (PCRTBP) with Earth-Moon masses [29]:

$$ \left\{\begin{array}{l} \ddot{x} - 2\,\dot{y} = x - (1-\mu)\,\frac{(x + \mu)}{{r_{1}^{3}}} - \mu\,\frac{(x-1+\mu)}{{r_{2}^{3}}},\\ \ddot{y} + 2\,\dot{x} = y - (1-\mu)\,\frac{y}{{r_{1}^{3}}} - \mu\,\frac{y}{{r_{2}^{3}}}. \end{array}\right. $$
(24)

As usual, the length and time units are normalized such that the mean motion of the secondary about the primary as well as the distance between the two are equal to one. Furthermore, \(\boldsymbol {x} = [x, y, \dot {x}, \dot {y}]^{T}\) is the state of a massless spacecraft in the co-rotating frame of the two primaries, r1 is the distance from the larger body, r2 is the distance from the secondary body, and μ = 0.01215 is the mass ratio parameter.

Next, consider a distant retrograde orbit (DRO) such as the one of Fig. 12. As it is well established in the literature [13], DROs are stable and surrounded by a family of two-dimensional quasi-periodic invariant tori. Therefore, fifty members of the family are computed using different combination of points with both the GMOS and PDE(DFT) algorithms (Fig. 13).

Fig. 12
figure 12

Example of DRO for the Earth-Moon system

Fig. 13
figure 13

a Fiftieth member of the quasi-DRO family of invariant tori computed with GMOS and PDE(DFT). b Fifty invariant circles of the stroboscopic mapping generated with the algorithms

In particular, GMOS implementations based on multiple-shooting (MS) are hereby considered and compared with the single-shooting algorithm used for the results of “Accuracy Test”. This should make the comparison more fair with the PDE(DFT) approach in terms of the size of the Jacobian matrix to be inverted via Newton’s method. To that end, we divided the integration interval in 5 segments, for a total of 5 × N solutions points to be solved for with the GMOS(MS) algorithm.

As for the PDE(DFT) methodology, the number of points in both the longitudinal and latitudinal directions is changed between N0 = 25, 51, and N1 = 25, 51, so as to verify the implications of using a finer mesh on the performance of the algorithm. For similar reasons, the number of GMOS points is also changed between 25 and 51.

The performance of the numerical procedures is assessed in terms of accuracy and runtime. For GMOS, the former is obtained by propagating a set of midpoints for one stroboscopic time and checking the invariant relationship (20). That is, once an invariant circle is output by the code, a set of new initial conditions is obtained from the rotation of the solution points by an angle α = π/N, where N is the number of points used for the discretization of the curve. These midpoints are subsequently propagated forward in time using the equations of motion (24) until T = 2 π/ω1, and eventually rotated backwards by an angle ρ = ω2 T via DFT. In theory, the rotated states should match the initial conditions generated for the accuracy test, although discretization and numerical errors eventually start to kick in, degrading the quality of the computed solutions. This can be seen in the plots of Fig. 14, which illustrate the norm of the GMOS error vector normalized by the number of points for each of the different cases, i.e.,

$$ \boldsymbol{E}_{GMOS}(\boldsymbol{z}) = \sqrt{\sum\limits_{i = 0}^{N-1}\,\frac{{\delta_{i}^{2}}}{N}}, $$
(25)

where δ i = ∥Rρ T (v(𝜃1,i + α))] −v(𝜃1,i + α)∥.

Fig. 14
figure 14

Norm of the error vector (25) computed from fifty GMOS solutions. It is worth noting that multiple-shooting trajectories have been generated using 5 segments

Differently from the previous algorithm, PDE(DFT) does not compute invariant curves of stroboscopic maps. Therefore, the accuracy test proposed for GMOS cannot be applied to the PDE approach. Instead, consider generating a set of midpoints along the first circle output by the algorithm as before, namely v(𝜃 i + β), where β = π/N1, and evaluate the force field in correspondence of this new set of points. Following the definition of quasi-periodic invariant tori (2), the force field should match the linear combination given by the partial derivatives of u(𝜃0 = 0,𝜃 i + β) = v(𝜃 i + β) with respect to the parametrizing angles 𝜃0, 𝜃1, scaled by the torus frequencies ω0 and ω1.

Thus, let \(\boldsymbol {E}_{PDE}(\boldsymbol {z}) = \sqrt {{\sum }_{i = 0}^{N_{1}-1}\,\frac {{\epsilon }_{i}^{2}}{N_{1}}}\), where

$$\epsilon_{i} = \|\boldsymbol{f}(\boldsymbol{u}(0,\theta_{1}+\alpha_{i})) - \omega_{0}\, \frac{\partial\boldsymbol{u}}{\partial\theta_{0}}|{}_{\theta_{0} = 0, \theta_{1} = \theta_{i} + \alpha} - \omega_{1}\, \frac{\partial \boldsymbol{u}}{\partial\theta_{1}}|{}_{\theta_{0} = 0, \theta_{1} = \theta_{i} + \alpha}\|. $$

The values of E P D E (z) are plotted in Fig. 15 for all of the fifty members of the quasi-DRO family obtained with different combinations of points, namely (N0 = 25) × (N1 = 25), 25 × 51, 51 × 25, and 51 × 51.

Fig. 15
figure 15

Norm of the PDE(DFT) error vector computed for fifty members of the quasi-DRO family with (N0 = 25) × (N1 = 25), 25 × 51, 51 × 25, and 51 × 51, respectively

It turns out that GMOS is slightly more accurate than PDE(DFT). Not surprisingly, quasi-periodic trajectories obtained via multiple-shooting are also found to be more accurate than single-shooting ones. Finally, doubling the number of discretization points significantly reduces the error up to the fortieth member of the family. Unfortunately, this also affects the runtime of the consider algorithms as observed in Table 1.

Table 1 Analysis of the runtime for the numerical computation of fifty quasi-DRO tori via GMOS and PDE(DFT)

In Table 1, runtimes measured with MATLAB’s profiler are summarized and compared among each other. As it can be seen, PDE(DFT) turns out to be not only less accurate but also appreciably less efficient than GMOS. In particular, the code spends ≃ 90 % of its time solving Newton’s equation as no numerical integration is needed between different mesh points. Yet, the algorithm still comes out short as the total runtime is either comparable or greater than GMOS’s.

Speaking of Newton’s update, it is also worth noting that this task is performed via MATLAB’s backslash operator. For non-square matrices such as the Jacobians of the error vectors (6) and (21), this corresponds to a sparse QR-factorization based on Givens rotations that turns out to be particularly slow for large matrices. Following Davis [5], the speed of the algorithms could be significantly improved by making the Jacobian matrices square. This can be done by unfolding the parameters of the QP tori family as advocated in Olikara [22]. In his thesis, the author also derive a more efficient version of the GMOS algorithm based on collocation that will be the subject of future studies.

As far as efficiency is concerned, it is worth noting that the numerical integration of trajectories for the single-shooting and multiple-shooting GMOS cases has been performed using MATLAB’s ode113. Appreciable speed-up is expected by replacing this function with a pre-compiled numerical integrator.

For all these reasons, it is unlikely that different implementations of the algorithms could overthrow the outcome of our comparative analysis. Even so, the GMOS algorithm still offers additional benefits that are beyond the scope of the present paper but that are worth mentioning. For instance, it has been proven that stability analysis can be carried out as a byproduct of the GMOS implementation. The interested reader may found additional information in the work by Jorba [14] as well as concrete examples in Olikara and Scheeres [24]. Finally, although both the PDE(DFT) and GMOS algorithms are suitable for computing tori of dimension greater than two, the reduced dimensionality offered by an invariant curve approach really simplifies the implementation as well as the computation of higher-dimensional tori. This is not irrelevant as many time-periodic systems happen to be populated by families of these higher-dimensional objects [2].

Conclusions

This paper offers a numerical comparison between three different strategies for computing quasi-periodic invariant tori of autonomous Hamiltonian systems. The first of these methodologies was originally proposed by Schilder et al. [27] and aim at calculating QP manifolds via Newton’s method and central differences (PDE(CD)). The other considered strategies are the KKG method [19] and the GMOS approach [8, 24], which calculate QP tori via invariant curves of Poincaré and stroboscopic maps, respectively.

An improved version of the PDE algorithm based on the Discrete Fourier Transform (PDE(DFT)) is also included in our analysis and used for generating quasi-periodic trajectories in the co-rotating frame of the Earth along with PDE(CD), KKG, and GMOS. All of the computed trajectories are rotated back to the ECI frame and compared with the analytical solution of the two-body problem to estimate the error of each method.

The results of the numerical investigation show that GMOS and PDE(DFT) are particularly suited for computing tori of equal longitudinal frequencies, whereas PDE(CD) and KKG come out short for either accuracy or flexibility reasons. Because of this, the GMOS and PDE(DFT) algorithms are further investigated while studying a family of quasi-DROs in the Earth-Moon planar circular restricted three-body problem. A simple accuracy test shows that GMOS is actually more accurate than PDE(DFT) while running in approximately the same amount of time. Remarkably, stability information can be also inferred as a byproduct of this method, making it our preferred choice for future investigations of practical astrodynamics problems.