Professional Documents
Culture Documents
Solve the Kepler problem numerically for the case where the angular momentum is non-zero and
the energy is negative. Verify that the resulting orbit is an ellipse with a shape imposed by the
initial conditions you choose.
To obtain the equation for the orbit, we shall numerically solve the following differential equation:
1 d L2
r2 dθ
m1r2 dr
dθ
- mr 2 = f (r) = - rk2
to obtain r = r(θ).
We choose the parameter values m = 1, k = 4 π 2 , L = 1 and supply the following initial conditions:
dr
r(0) = 1, (0) = 0. The solution obtained by numerically solving the differential equation is illustrated
dθ
in the plot below.
In[22]:= MakePlot1, 1, 4 Pi2 , 1, 0
0.10
0.05
Out[22]=
x
0.2 0.4 0.6 0.8 1.0
-0.05
-0.10
The orbit is clearly an ellipse with the semi-major axis equal to the specified initial condition: r(0) = 1.
In[23]:=
Problem 5
Repeat the first part of Problem 4 but with potentials that vary with a power close to but not equal to -1.
Let us choose the potential to be: V(r) = -k r-1.2 . The numerical solution, obtained for the same initial
conditions, is illustrated in the plot below.
y
1.0
0.5
Out[24]=
x
-1.0 -0.5 0.5 1.0
-0.5
-1.0
Similarly, choosing the potential to be V(r) = -k r-0.8 results in the following orbit:
y
1.0
0.5
Out[25]=
x
-1.0 -0.5 0.5 1.0
-0.5
-1.0
For both cases, we see that the apsides of the orbit precess in the plane of motion. Thus
the orbit is no longer closed (but still bounded).
This result can be explained by applying Bertrand’s Theorem which states that all bounded
orbits exhibited by the inverse-squared force law and Hooke’s law are closed. Consequently,
bounded orbits of any force law other than these two will not be closed. Therefore, the slightest
modification of the exponent in the inverse-squared law will result in orbits that will not be closed
and undergo apsidal precession.
In[26]:=
In[27]:=
Function Definitions
In[28]:= MakePlot[l_, m_, k_, r0_, v0_] := PolarPlotEvaluater[θ]
/. NDSolver[θ] r ''[θ] - 2 r '[θ]2 - l2 (r[θ])2 + k m (r[θ])5-2 ⩵ 0,
r[0] ⩵ r0, r '[0] ⩵ v0, r, {θ, 0, 10 Pi}, {θ, 0, 2 Pi}, AxesLabel → {"x", "y"},
PlotRange → {- 0.14, 0.14}, BaseStyle → {FontSize → 16}