About this Journal Submit a Manuscript Table of Contents
Mathematical Problems in Engineering
Volume 2012 (2012), Article ID 680394, 12 pages
Research Article

On Bounded Satellite Motion under Constant Radial Propulsive Acceleration

1Departamento de Matemáticas y Computación, Universidad de La Rioja, 26004 Logroño, Spain
2Departamento de Ingeniería Mecánica, Universidad de La Rioja, 26004 Logroño, Spain
3Columnas de Hercules 1, 11100 San Fernando, Spain

Received 31 October 2011; Accepted 16 February 2012

Academic Editor: Ben T. Nohara

Copyright © 2012 Juan F. San-Juan et al. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.


The Hamiltonian formulation of the constant radial propulsive acceleration problem in nondimensional units reveals that the problem does not depend on any physical parameter. The qualitative description of the integrable flow is given in terms of the energy and the angular momentum, showing that the different regimes are the result of a bifurcation phenomenon. The solution via the Hamilton-Jacobi equation demonstrates that the elliptic integrals of the three kinds are intrinsic to the problem.

1. Introduction

Low-thrust propulsion is a commonplace in modern mission design for artificial satellite missions, with a variety of applications that range from common interplanetary and Earth-orbit missions to solar sailing or the deflection of near Earth objects [1, 2]. However, although electric propulsion was already envisioned by the pioneers of astronautics at the beginning of the 20th century, it was not until many years later where the low thrust provided by electrically accelerated ions was demonstrated to support spaceflight propulsion (see [3] for a review on the topic).

One of the earlier relevant analysis on low-thrust trajectories was the work of Tsien [4], where the thrust is decomposed into radial and circumferential components; the separate problems of constant radial and circumferential thrust are discussed, and the circumferential thrust case is demonstrated to be much more efficient for takeoff from orbit. The general continuous-thrust problem is, of course, more involved, where the representation of each component of the thrust acceleration may require a whole Fourier series [5], and hence the constant-thrust problem is sometimes viewed as fictional [6]. Nevertheless, at least in the case of radial thrust, the constant thrust problem has attracted the attention of researches, which further elaborated in the case of mass loss of the spacecraft with constant thrust-to-weight ratio [7] or proposed other applications different from the takeoff [8].

The constant radial propulsive acceleration problem is revisited, and its solution is approached by the Hamilton-Jacobi equation. Contrary to the original studies, where the emphasis was put on the takeoff problem with a view on interplanetary missions, this paper focuses on the case of bounded motion obtained when using low propulsive acceleration [9].

From a mathematical point of view, the engineering problem of artificial satellite motion with constant radial propulsive acceleration is a variation of the Kepler problem that, albeit slight, introduces radical changes in the dynamical behavior although remaining an integrable problem. Thus, while Keplerian motion is always bounded for negative values of the total energy, the constant radial propulsive acceleration introduces a bifurcation phenomenon that separates the phase space into three different regions, one of bounded and two of unbounded motion, that are separated by a homoclinic trajectory.

The dynamical richness of the constant radial propulsive acceleration problem carries the necessity of using elliptic integrals in the computation of the solution. This result is known from many years ago [10]; in fact, the radial propulsive acceleration problem is just a particular case of the six potentials of the central force problem with 𝑟𝑛 that can be integrated in elliptic integrals [11]. Thus, the radial time evolution depends on the incomplete elliptic integrals of the first and second kinds, and the orbit evolution is known to depend on the incomplete elliptic integral of the third kind [9].

The solution in elliptic integrals is sometimes claimed not to provide the physical insight that is required for mission design purposes, and hence its practical utility may be questioned. Alternatively, approximations to the solution that rely only on simple and closed-form relationships have been recently proposed [12]. In the present paper a different approach is taken, and the required insight in the solution is obtained from a qualitative description of the flow in the energy-momentum plane, which is given before the general solution in elliptic integrals is computed by the Hamilton-Jacobi method.

2. Constant Radial Propulsive Acceleration Problem

The potential energy of the constant radial propulsive acceleration problem is𝜇𝑊=𝑟𝛼𝑟,(2.1) where 𝜇 is the gravitational constant, and 𝛼>0 is the constant radial acceleration. This central force problem is conservative and accepts Hamiltonian formulation =𝑇+𝑊, where 𝑇 is the kinetic energy.

As in most orbital problems, it is convenient to use polar coordinates: the distance 𝑟 and the polar angle 𝜃, as well as their coordinate momenta: the radial velocity 𝑅 and the modulus of the angular momentum Θ. Like in the case of quasi-Keplerian systems, irrespective of whether or not 𝛼 is a small parameter the Hamiltonian in polar coordinates results to be separable [13]. Thus,1=2𝑅2+Θ2𝑟2𝜇𝑟𝛼𝑟,(2.2) revealing that the Hamiltonian is just of 1-DOF because the coordinate 𝜃 is ignorable. Then, the conjugate momentum Θ is an integral of the motion showing the integrable character of the constant radial propulsive acceleration problem because the Hamiltonian itself, the energy, is another integral.

As pointed out in [14], there are only lengths and times involved in the problem so the units of length and time can be chosen in such a way that 𝜇 and 𝛼 take an arbitrary value. Alternatively, by scaling the Hamiltonian by 𝜇𝛼, it is obtained=1𝜇𝛼2𝑅2𝜏𝜌2+Θ2𝜏/𝜌22(𝑟/𝜌)21𝑟𝑟/𝜌𝜌,(2.3) where 𝜌=𝜇/𝛼 has units of length, and 𝜏=(𝜇/𝛼3)1/4 has units of time. Then, using nondimensional units of length and time, the constant radial propulsive acceleration Hamiltonian is written as=12𝑅2+Θ2𝑟21𝑟𝑟(2.4) showing that there is not any essential parameter in the Hamiltonian. Note that the Hamiltonian scaling is equivalent to choosing units of length and time such that 𝜇 and 𝛼 are equal to one. In what follows, the work focuses on the nondimensional Hamiltonian (2.4), from which primes are dropped for alleviating notation. Thus, (𝑟,𝑅;Θ),1=2𝑅2+12Θ2𝑟21𝑟𝑟.(2.5)

From Hamilton equations:d𝑟=d𝑡𝜕,𝜕𝑅d𝜃=d𝑡𝜕,𝜕Θd𝑅d𝑡=𝜕,𝜕𝑟dΘd𝑡=𝜕,𝜕𝜃(2.6) it is checked that the angular momentum Θ is constant, and, therefore, the flow is separable. First, the 1-DOF problem can be solved:d𝑟d𝑡=𝑅,d𝑅1d𝑡=1𝑟2+Θ2𝑟3,(2.7) which, for given initial conditions, is conveniently integrated using the energy integral =; thus,12d𝑟d𝑡2+12Θ2𝑟21𝑟𝑟=𝑡=𝑡0+𝑟d𝑟2𝑟3+2𝑟2+2𝑟Θ2,(2.8) whose solution is known to depend on the elliptic integrals of the first and the second kinds [4, 6]. Then,d𝜃=Θd𝑡𝑟2𝜃=𝜃0+Θd𝑡𝑟2=𝜃0+Θd𝑟𝑟2𝑟3+2𝑟2+2𝑟Θ2,(2.9) that introduces the elliptic integral of the third kind in the orbit solution [9].

The fact that the solution of the constant radial propulsive acceleration problem depends on elliptic integrals does not gives much insight into the physical solution. Then, it is first tried to obtain qualitative information of the flow as well as to compute particular solution. Nevertheless, the solution in elliptic integrals is, of course, useful for evaluation purposes and will be computed in the next section.

Thus, it is immediately noted from the reduced flow (2.7) that equilibria may exist for 𝑅=0 ifΘ2=𝑟1𝑟2(2.10) admits any real, positive solution. These relative equilibria would correspond to circular orbits.

Equation (2.10) constrains the radius of the possible circular solutions to 𝑟1. Besides, as illustrated in Figure 1, the solutions 𝑟=𝑟(Θ) of (2.10) are limited to a maximum of two roots that exist for Θ2<4/27. Thus, for instance, for Θ2=3/8 it is found that there are stable circular orbits of radius 𝑟=1/2 and =7/4, and unstable circular ones with 𝑟=(1/4)(131/21) and =(1/24)(133/25).

Figure 1: Admissible angular momentum leading to circular solutions, cf. (2.10).

At the upper limit Θ2=4/27, the two roots merge into one in a bifurcation phenomenon of circular orbits with 𝑟=1/3, which happens at =3.

In view of the reduced flow, (2.7), is of 1-DOF, it can be represented by simple contour plots of the Hamiltonian, (2.5), in the energy-momentum parameter plane. Sample plots are given in Figure 2, where different contours correspond to fixed values of Θ2. Thus, it is seen that there is no bounded motion for >3, Figure 2(a) for =3 a teardrop bifurcation occurs in the manifold Θ2=4/27, dashed line in Figure 2(b), changing the flow qualitatively. Then, for <3 it is found a region of bounded motion about the elliptic equilibria (stable, circular orbit) that is separated from two different regions of unbounded motion by a homoclinic trajectory, the stable-unstable manifolds of the hyperbolic point (unstable, circular orbit) represented with a dashed line in Figure 2(c). In the case =2, Figure 2(d), the homoclinic trajectory occurs in the manifold Θ2=0, thus limiting the allowable flow to only two regions, one of bounded motion and the other of escape trajectories. Finally, for lower values <2 the regions of bounded and unbounded motion depart from each other, and there is only one circular (stable) solution, Figure 2(e).

Figure 2: Reduced flow (𝑟,𝑅) of the constant propulsive acceleration problem in the parameters (,Θ2)-plane.

Alternatively, the flow can be discussed with the simple representation of the effective potential energy 𝑉=(1/2)(Θ2/𝑟2)(1/𝑟)𝑟, showing that a potential well exist for Θ24/27, hence allowing for bounded motion; at the upper limit of Θ the potential curve has an inflection point [8, 14].

In what follows, the paper focuses only on the case of bounded motion.

3. Hamiltonian Reduction

The integration of the constant radial propulsive acceleration problem can be achieved by Hamiltonian reduction. Thus, a transformation of variables (𝑟,𝜃,𝑅,Θ)𝑇(,𝑔,𝐿,𝐺) is found such that the Hamiltonian equation (2.5) in the new variables only depends on momenta: Φ(𝐿,𝐺). The transformation is computed by Hamilton-Jacobi by finding a generating function 𝒮=𝒮(𝑟,𝜃,𝐿,𝐺) such that(,𝑔,𝑅,Θ)=𝜕𝒮𝜕.(𝐿,𝐺,𝑟,𝜃)(3.1)

Since 𝜃 is ignorable in (2.5), the generating function can be taken as 𝒮=𝜃𝐺+𝒲(𝑟,,𝐿,𝐺), where the dash has been introduced to emphasize the independence of 𝒲 from 𝜃. Thus, it is formed the Hamilton-Jacobi equation:12𝜕𝒲𝜕𝑟2+𝐺2𝑟21𝑟𝑟=Φ(𝐿,𝐺),(3.2) from which 𝒲 can be solved by quadrature:𝒲=2𝑄d𝑟,𝑄2𝑟+2Φ+𝑟𝐺2𝑟2.(3.3)

From (3.1), the transformation is then=𝜕𝒲=𝜕𝐿𝜕Φ𝜕𝐿d𝑟𝑄,𝑔=𝜃+𝜕𝒲𝜕𝐺=𝜃+𝜕Φ𝜕𝐺d𝑟𝑄𝐺d𝑟𝑟2𝑄,𝑅=𝜕𝒲=𝜕𝑟𝑄,Θ=𝐺,(3.4) where Φ remains to be selected [15] and the two quadratures:1=d𝑟𝑄=𝑟d𝑟,2𝑃(3.5)2=d𝑟𝑟2𝑄=d𝑟𝑟,2𝑃(3.6) where𝑃𝑟3+Φ𝑟21+𝑟2𝐺2(3.7) still need to be solved.

3.1. Cubic Equation

Note that 𝑃 can be written as 𝑃=(𝑟𝑟1)(𝑟𝑟2)(𝑟𝑟3), where 𝑟𝑖𝑟𝑖(Φ,𝐺), 𝑖=1,2,3, are the solutions of the cubic:𝑟3+Φ𝑟21+𝑟2𝐺2=0,(3.8) which at least must have one real root, say 𝑟3. Besides, for bounded motion to exist 𝑃 must accept at least two positive roots. Therefore, the three roots must be real in the case of bounded motion, say 𝑟1𝑟2𝑟3. Furthermore, from (3.8) it is found out that 𝐺2=2𝑟1𝑟2𝑟3 and hence the three roots must be positive. Finally, because 𝑃(0)<0, the discussion limits to the case 0<𝑟1𝑟𝑟2𝑟3.

In the case of concern of bounded motion, the solution of the cubic is (e.g., see [16])𝑟𝑖1=32Φ+3Φ23cos𝛾+2𝑖𝜋3,(𝑖=1,2,3),(3.9) where𝛾=arccos18Φ+27𝐺24Φ34Φ233/2.(3.10) Remark that the limit Φ3 that appears in (3.9) and (3.8) leads again to the constraint 𝐺24/27.

Hence, because 1cos𝛾1, it is found that4Φ3Φ4233/218Φ27𝐺24Φ3Φ+4233/218Φ,27(3.11) relations that define the region of the energy-momentum plane in which the cubic (3.8) has three positive roots, and therefore bounded motion may exist. The region in the parameters plane defined by (3.11) is illustrated in Figure 3 (see also [14], where a different parameter scaling is used).

Figure 3: Allowed region for bounded motion in the (Φ,𝐺2)-plane.
3.2. 1 Solution

The quadrature equation (3.5) is written as1=12𝑟𝑟1𝑟d𝑟𝑟𝑟1𝑟𝑟2𝑟𝑟3,(3.12) where 𝑟𝑖𝑟𝑖(Φ,𝐺)𝑟𝑖(𝐿,𝐺),𝑖=1,2,3, cf. (3.9)-(3.10). The change of variable:𝑧2=𝑟𝑟1𝑟2r11(3.13) produces1=2𝑟12𝑟3𝑟1𝑧01+𝑛𝑧21𝑧21𝑘2𝑧2d𝑧,(3.14) with𝑘2=𝑟2𝑟1𝑟3𝑟1𝑟<1,𝑛=2𝑟1𝑟1>0.(3.15) Now, calling 𝑧=sin𝜙,1=2𝑟3𝑟3𝑟3𝑟1F𝜙𝑘2𝑟3𝑟1𝑟3E𝜙𝑘2,(3.16) which solves the quadrature 1=1(𝑟,𝜃,𝐿,𝐺) as a function of the incomplete elliptic integrals of the first F(𝜙𝑘2) and second kind E(𝜙𝑘2) without need of particularizing any form ΦΦ(𝐿,𝐺).

In the limit case 𝑟3=𝑟2, the quadrature simplifies to1=12𝑟𝑟1𝑟d𝑟𝑟2𝑟𝑟𝑟1=2𝑟2𝑟2𝑟1tanh1𝑟𝑟1𝑟2𝑟1𝑟𝑟1,(3.17) and the solution is obtained in terms of hyperbolic functions instead of elliptic ones. Note that 𝑟1𝑟𝑟2 implies 01.

3.3. 2 Solution

Analogously, (3.6) is written as2=12𝑟𝑟1d𝑟𝑟𝑟𝑟1𝑟𝑟2𝑟𝑟3,(3.18) that the change equation (3.13) converts into2=2𝑟12𝑟3𝑟1𝑧0d𝑧1+𝑛𝑧21𝑧21𝑘2𝑧2.(3.19) Calling again 𝑧=sin𝜙, it is obtained2=2𝑟1𝑟3𝑟1Π𝑛;𝜙𝑘2,(3.20) and the solution is proportional to the incomplete elliptic integral of the third kind Π(𝑛;𝜙|𝑘2). Again, the quadrature is solved without need of particularizing any form ΦΦ(𝐿,𝐺).

In the limit case 𝑟3=𝑟2, one gets:2=12𝑟𝑟1d𝑟𝑟𝑟2𝑟𝑟𝑟1=2𝑟21𝑟1tan1𝑟𝑟1𝑟1+1𝑟2𝑟1tanh1𝑟𝑟1𝑟2𝑟1,(3.21) and the solution is obtained in terms of hyperbolic functions. Again, 𝑟1𝑟𝑟2 implies 02.

3.4. Transformation Equations

Since the integrals 1 and 2 have been solved without need of specifying the new Hamiltonian. Equation (3.4) gives rise to a full family of canonical transformations instead of a single one, cf. [15]. That is=𝜕Φ𝜕𝐿2𝑟3𝑟1𝑟3𝑟3𝑟1F𝜙𝑘2E𝜙𝑘2,(3.22)𝑔=𝜃𝐺2𝑟1𝑟3𝑟1Π𝑛;𝜙𝑘2+𝜕Φ/𝜕𝐺𝜕Φ/𝜕𝐿,(3.23)𝑅=𝑄,(3.24)Θ=𝐺.(3.25)

Then, the direct transformation (𝑟,𝜃,𝑅,Θ)(,𝑔,𝐿,𝐺) starts from the computation of =(𝑟,,𝑅,Θ) followed by 𝐺=Θ; afterwards, 𝐿 is computed from Φ(𝐿,𝐺)=. It is followed by computing the roots of the cubic from (3.9)-(3.10) and 𝑘 and 𝑛 from (3.15), which allow for computing 𝜙=arcsin𝑧 from (3.13), and finally to obtain from (3.22) and 𝑔 from (3.23).

In the inverse transformation (,𝑔,𝐿,𝐺)(𝑟,𝜃,𝑅,Θ), the sequence is to compute first =Φ(𝐿,𝐺) and Θ=𝐺. Then 𝑟𝑖 is computed from (3.9)-(3.10) and 𝑘 and 𝑛 from (3.15). Subsequently, 𝜙 must be solved from the implicit equation (3.22), and 𝑟 is obtained from (3.13) where 𝑧=sin𝜙. Finally 𝑅 is computed from (3.24), and 𝜃 is solved from (3.23). It is noted that the computation of 𝑅 from (3.24) leaves the sign of the square root undefined. However, from (3.13) we find out that d𝑅=(𝑟2𝑟1)sin2𝜙d𝜙, where the angle 𝜙 always grows with time; then the sign of 𝑅 is unambiguously determined from the sign of sin2𝜙.

The selection of the new Hamiltonian is quite arbitrary and mostly depends on the use one wants to do of the transformation. Thus, if one wants to apply the transformation to perturbation problems, quadratic choices of the Hamiltonian, as for instance Φ=𝐺2𝐿2, may help in checking the nondegeneracy of the Hessian, which is required to guarantee KAM conditions.

From the properties of elliptic integrals, one can note in (3.22) that when 𝜙 is incremented by 2𝜋, then is correspondingly incremented by𝜏=42𝑟3𝑟1𝑟3𝑟3𝑟1K𝑘2𝑘E2𝜕Φ𝜕𝐿,(3.26) where K(𝑘2) and E(𝑘2) are the complete elliptic integrals of the first and second kinds, respectively. Then, sincesin𝜙=𝑟𝑟1𝑟2𝑟1,𝑟1,2𝑟1,2(,Θ),(3.27) each time 𝜙 increments its value by 2𝜋 means that 𝑟 repeats its value. Therefore, 𝜏 is related to the period of 𝑟, and hence should be a (nondimensional) time-type variable.

On the other side, choosing Φ free from 𝐺 means that 𝑔 is constant, from Hamilton equations. Therefore, simple transformations will be obtained when choosing Φ=Φ(𝐿), leading to similar results to the classical approach, cf. [9]. If that is the case, it is found that when 𝜙 is incremented by 2𝜋, then4Δ𝜃=𝐺2𝑟1𝑟3𝑟1Π𝑛;𝑘2,(3.28) and the periodicity will happen only when Δ𝜃=2𝜋/𝑝, with 𝑝 rational.

For instance, the solution of the implicit equation:2𝜋𝑝4=𝐺2𝑟1𝑟3𝑟1Π𝑛;𝑘2,(3.29) for the arbitrary values 𝐺=1/2 and 𝑝=1/3, gives Φ=1.854882428484353, 𝑟1=0.17830010960481157, 𝑟2=0.7974637273311203, and 𝑟3=0.8791185915484208. If we choose, in addition, the initial conditions 𝑟1<𝑟=0.5<𝑟2, 𝜃=0, and compute 𝑅=0.5387347612984463 from (3.24), we get the periodic solution presented in Figure 4.

Figure 4: Periodic orbit after 𝜃=3×2𝜋. The red dot in the axis of abscissas is the initial point 𝑟=0.5, 𝑅>0.

4. Conclusions

The constant radial propulsive acceleration problem has been revisited from the dynamical systems point of view. The simple Hamiltonian formulation in polar coordinates discloses its integrable character. Besides, after a nondimensional reformulation of the Hamiltonian, it is shown that the constant radial thrust problem does not depend on any essential physical parameter. Therefore, the flow is straightforwardly studied as a function of the angular momentum integral. The solution of the integrable problem is computed by Hamilton-Jacobi, leading to a whole family of transformations that solve the problem. Particular solutions of this family are shown to lead to analogous solutions in the literature.


Part of this paper has been supported by the Government of Spain (Projects AYA 2009-11896, AYA 2010-18796, and Grant Gobierno de La Rioja Fomenta 2010/16).


  1. C. Colombo, M. Vasile, and G. Radice, “Semi-analytical solution for the optimal low-thrust deflection of near-earth objects,” Journal of Guidance, Control, and Dynamics, vol. 32, no. 3, pp. 796–809, 2009. View at Publisher · View at Google Scholar · View at Scopus
  2. R. J. McKay, M. Macdonald, J. Biggs, and C. McInnes, “Survey of highly-non-keplerian 13 orbits with low-thrust propulsion,” Journal of Guidance, Control, and Dynamics, vol. 34, no. 3, pp. 645–666, 2011. View at Google Scholar
  3. E. Y. Choueiri, “A critical history of electric propulsion: the first 50 years (1906–1956),” Journal of Propulsion and Power, vol. 20, no. 2, pp. 193–203, 2004. View at Google Scholar · View at Scopus
  4. H. S. Tsien, “Takeo from satellite orbit,” Journal of the American Rocket Society, vol. 23, pp. 233–236, 1953. View at Google Scholar
  5. J. S. Hudson and D. J. Scheeres, “Reduction of low-thrust continuous controls for trajectory dynamics,” Journal of Guidance, Control, and Dynamics, vol. 32, no. 3, pp. 780–787, 2009. View at Publisher · View at Google Scholar · View at Scopus
  6. R. H. Battin, An Introduction to the Mathematics and Methods of Astrodynamics, AIAA Education Series, AIAA, New York, NY, USA, 1987. View at Zentralblatt MATH
  7. F. W. Boltz, “Orbital motion under continuous radial thrust,” Journal of Guidance, Control, and Dynamics, vol. 14, no. 3, pp. 667–670, 1991. View at Google Scholar · View at Scopus
  8. J. Prussing and V. Coverstone-Carroll, “Constant radial thrust acceleration redux,” Journal of Guidance, Control, and Dynamics, vol. 21, no. 3, pp. 516–518, 1998. View at Google Scholar
  9. M. R. Akella, “On low radial thrust spacecraft motion,” Journal of the Astronautical Sciences, vol. 48, no. 2-3, pp. 149–161, 2000. View at Google Scholar · View at Scopus
  10. E. T. Whittaker, A Treatise on the Analytical Dynamics of Particles and Rigid Bodies, With an Introduction to the Problem of Three Bodies, Cambridge University Press, Cambridge, UK, 1904. View at Zentralblatt MATH
  11. R. Broucke, “Notes on the central force rn,” Astrophysics and Space Science, vol. 72, no. 1, pp. 33–53, 1980. View at Publisher · View at Google Scholar
  12. A. A. Quarta and G. Mengali, “New look to the constant radial acceleration Problem,” Journal of Guidance, Control, and Dynamics. In press.
  13. A. Deprit, “The elimination of the parallax in satellite theory,” Celestial Mechanics, vol. 24, no. 2, pp. 111–153, 1981. View at Publisher · View at Google Scholar · View at Scopus
  14. M. R. Akella and R. A. Broucke, “Anatomy of the constant radial thrust problem,” Journal of Guidance, Control, and Dynamics, vol. 25, no. 3, pp. 563–570, 2002. View at Google Scholar · View at Scopus
  15. S. Ferrer and M. Lara, “Families of canonical transformations by Hamilton-Jacobi-Poincare equation. Application to rotational and orbital motion,” Journal of Geometric Mechanics, vol. 2, no. 3, pp. 223–241, 2010. View at Google Scholar
  16. E. W. Weisstein, “Cubic Formula,” From MathWorld-A Wolfram Web Resource, http://mathworld.wolfram.com/CubicFormula.html.