ABSTRACT (original article): We present a numerical solution of the nonlinear differential equation for a pendulum with an elastic string on the rotating Earth, for different values of string stiffness at different geographic latitudes. CITATION (original article): Borut Jurčič Zlobec (2024), Precession of the elastic pendulum on the rotating Earth, arXiv:2411.08074. https://doi.org/10.48550/arXiv.2411.08074
We present a numerical investigation of a pendulum with an elastic string on a rotating Earth, modeled through a nonlinear differential equation. The study explores the effect of string stiffness at various geographic latitudes, aiming to identify the critical stiffness at which a transition occurs between two distinct regimes: (1) the 24-hour precession of the oscillation plane observed in a pendulum with an ideally elastic string, and (2) the classical Foucault precession exhibited by a pendulum with an ideally stiff string. The latter follows the well-known latitude-dependent law T = 24/ sin λ, where λ is the geographic latitude.
This transition between the two types of precession is gradual. However, we also observe an additional dynamic phenomenon: a loss of phase coherence in the pendulum’s oscillation due to its circular motion. The present work provides a more detailed investigation of this behavior.
In general, pendulum oscillations in this system are not strictly periodic. However, we discover discrete resonant latitudes at which the oscillations become strictly periodic, suggesting underlying resonant conditions shaped by Earth’s rotation and elastic coupling. These findings offer new insights into pendulum dynamics in geophysical contexts and extend the classical understanding of Foucault-type behavior.
SetDirectory[NotebookDirectory[]];data=Import["foucault-nocf.json"];(*Datafileisattachedbelow*)
The data were precomputed. For each latitude, the critical value of delta was calculated and identified the resonant latitudes where the oscillation is periodic.
The data list includes the following entries : • deg : latitude, • delta : difference between ω_s and ω_p, • time : half-phase time, • rad : radius of the circular path during the 1/2 phase time, • moment: angular momentum of the pendulum in rotation, • North: inclination toward the north, • Zenith: deviation from zenith • quality: (internal data), • period: period of oscillation .
Differential equation
Differential equation
pages 3/4 equ (1, 2, 3)
k = (0, 0, 1)
κ = (ωs^2 - ωp^2)/ωs^2
δ = (ωs - ωp)/ωp
b = ωs - ωp
g = 1
ω0 = 1
ω0 = (0, cosλ, sinλ)
k = (0, 0, 1)
κ = (ωs^2 - ωp^2)/ωs^2
δ = (ωs - ωp)/ωp
b = ωs - ωp
g = 1
ω0 = 1
ω0 = (0, cosλ, sinλ)
Solve differential equations page 5 (12)
Connections between the differential equation in the article and in the program.
Connections between the differential equation in the article and in the program.
ρ -> U/ωp^2, 1 + δ = ωs /ωp, δ(2 + δ) = (ωs^2 - ωp^2)/ωp^2
(d^2 U/dt^2 + ωs^2 ( U - κ U/U + (1 - κ) k) + 2 ω0 x dU/dt)/ωp^2 = 0
d^2ρ/dτ^2 + ωs^2/ωp^2 ρ - (ωs^2 - ωp^2)/ωp^2 ρ/ρ + k + 2 ω0 x dρ/dτ = 0
d^2ρ/dτ^2 + (1 + δ)^2 ρ - δ(2 + δ) ρ/ρ + k + 2 ω0 x dρ/dτ = 0
(d^2 U/dt^2 + ωs^2 ( U - κ U/U + (1 - κ) k) + 2 ω0 x dU/dt)/ωp^2 = 0
d^2ρ/dτ^2 + ωs^2/ωp^2 ρ - (ωs^2 - ωp^2)/ωp^2 ρ/ρ + k + 2 ω0 x dρ/dτ = 0
d^2ρ/dτ^2 + (1 + δ)^2 ρ - δ(2 + δ) ρ/ρ + k + 2 ω0 x dρ/dτ = 0
Neglecting the centrifugal force (double vector product) .
DifEqn[T_,ω_,b_,λ_,rv_]:=Block[{ωs,ωp,ω2s,ω0,U,dU,t,x,y,z,dx,dy,dz,s},(*T_->half-phasetime,ω_->ωp,b_->ωs-ωp,λ->latitude,rv={U[0],dU[0]}->Initialpositionandspeed*)U[t_]:={x[t],y[t],z[t]};dU[t_]:={dx[t],dy[t],dz[t]};ωp=ω;ωs=ωp+b;κ=(ωs^2-ωp^2)/ωs^2;ω2s=ωs^2;ω0={0,Cos[λ],Sin[λ]};s=NDSolve[Join[{U[0]rv[[1]],dU[0]rv[[2]],dU[t]D[U[t],t]},Map[#0&,D[dU[t],t]+ω2s*(U[t]-κU[t]/Norm[U[t]]+(1-κ){0,0,1})+(*Cross[ω0,Cross[ω0,U[t]]]+*)2*Cross[ω0,dU[t]]]],Join[U[t],dU[t]],{t,0,T},Method{"ImplicitRungeKutta","DifferenceOrder"20},MaxSteps140000]]
Cartesic coordinates
cartFou[t0_,initials_,ωp0_,ωs0_,λ0_,τ0_]:=DifEqn[τ0,ωp0,ωs0-ωp0,λ0,initials]
Spheric coordinates
Clear[t,δ,θ,ωp,ωs,λ,τ,Ω](*Approximarionsmallangles*)(*δ[t]istheextensionofthestring*)(*θ[t]andϕ[t]aresphericcoordinares*)subs={Sin[θ[t]]θ[t],Sin[θ[t]]^2θ[t]^2,Sin[2θ[t]]2θ[t],Cos[θ[t]]1};u[t]=(1+δ[t])(Sin[θ[t]]{Cos[ϕ[t]],Sin[ϕ[t]],0}-Cos[θ[t]]{0,0,1});v[t]=D[u[t],t]//FullSimplify;v2[t]=v[t].v[t]//FullSimplify;uv[t]=Cross[u[t],v[t]]//FullSimplify;(*Coriolisforce*)ω=Ω{0,Cos[λ],Sin[λ]};ovt[t]=ω.uv[t];(*cfa[t]=Cross[ω,u[t]].Cross[ω,u[t]];*)(*Neglectedcentrifugalforce*)(*Langrangianinsphrericcoordinates*)L=(1/2v2[t]+ωp^2(1+δ[t])Cos[θ[t]]-1/2ωs^2(δ[t]+(ωp/ωs)^2)^2+ovt[t](*+1/2cfa[t]*));Ω=1;(*Euler–Lagrangeequationsderivedfromtheprincipleofleastaction*)delta=(D[D[L,δ'[t]],t]-D[L,δ[t]]/.subs//FullSimplify//Expand)//FullSimplify;theta=(D[D[L,θ'[t]],t]-D[L,θ[t]]/.subs//FullSimplify//Expand)//FullSimplify;phi=(D[D[L,ϕ'[t]],t]-D[L,ϕ[t]]/.subs//FullSimplify//Expand)//FullSimplify;
Differential equation in spheric coordinates
sphFou[t0_,initials_,ωp0_,ωs0_,λ0_,τ0_]:=Block[{λ,δ,θ,ϕ,ωs,ωp,τ,t,θ0,ϕ0,δ0,dθ0,dϕ0,dδ0,s},{δ0,θ0,ϕ0,dδ0,dθ0,dϕ0}=initials;λ=λ0;ωs=ωs0;ωp=ωp0;τ=τ0;s=NDSolve[{delta0,theta0,phi0,ϕ[t0]ϕ0,θ[t0]θ0,δ[t0]δ0,δ'[t0]dδ0,θ'[t0]dθ0,ϕ'[t0]dϕ0},{δ[t],θ[t],ϕ[t],δ'[t],θ'[t],ϕ'[t]},{t,t0,τ},Method{"ImplicitRungeKutta","DifferenceOrder"20},MaxSteps140000];Return[s];]
Position vectors of the pendulum
VectorR=(1+δ[t])(Sin[θ[t]]{Cos[ϕ[t]],Sin[ϕ[t]],0}-Cos[θ[t]]{0,0,1});VectorZ=(1+δ[t])(Sin[θ[t]]{Cos[ϕ[t]],Sin[ϕ[t]]});VectorV=D[VectorR,t];(*Speed*)VectorD=(1+δ[t])(Sin[θ[t]]{Cos[ϕ[t]],Sin[ϕ[t]],0}-Cos[θ[t]]{0,0,1})+{0,0,1};(*Displacementfromvertical*)
Extreme displacement of polar angle θ in one swing
Amplitudesθ[s_,ωp_,n_,m_]:=Block[{RT,RP,θ,t,p,q,r,Δt},Δt=2*π/ωp/m;(*timessteps*)RT=Table[θ[t]/.s,{t,0,n*2π/ωp,Δt}];p=Position[Differences[Sign[Differences[RT]//Flatten]],-2]//Flatten;r=Partition[p,2][[All,1]];q=Transpose[{r*Δt,Flatten[RT[[r]],1]}]](*Extremedisplacementoftheblobprojectionfromtherestpositioninoneswing*)Amplitudes[s_,ωp_,n_,m_]:=Block[{RT,RP,x,y,z,dx,dy,dz,t,p,q,Δt},Δt=2.*π/ωp/m;RT=Table[x[t]^2+y[t]^2/.s,{t,0,n*2π/ωp,Δt}];p=Position[Differences[Sign[Differences[RT]//Flatten]],-2]Δt//Flatten;q=Partition[p,2]](*Precessionofthemajoraxisoftheprojectedellipseoftheblob'strajectory*)Precession[a_]:=Block[{b=Map[ArcTan[#[[2,1]],#[[2,2]]]&,a],db,n},b=b[[1]]-b;db=Drop[b,1]-Drop[b,-1];n=Position[db,_?(Abs[#]>π-0.11&)]//Flatten;db[[n]]=(db[[n+2]]+db[[n-2]])/2;Return[Transpose[{a[[All,1]]/Pi*12,Prepend[Accumulate[db]/Pi*180,0]}]];];
Solutions to the differential equations
Solutions to the differential equations
Solutions to the differential equations over the interval covering one full swing of the pendulum
(*Sphericcoordinates*)findcpSph[deg_,delta_,tx_,ωp0_:128]:=Block[{t0,λ0,δ0,τ0,ωs0,p,n,m,initials,s},t0=0;λ0=deg;δ0=Abs[fd[λ0]]+delta;τ0=ft[λ0];λ0=λ0/180*π;ωs0=δ0+ωp0;p=π/ωp0;n=Floor[ωs0/τ0/2π];m=360;initials={0,0.1/180*π,π/2,0,0,0};s=sphFou[t0,initials,ωp0,ωs0,λ0,tx*2τ0];Return[s]](*Cartesiancoordinates/notused/*)findcpCart[deg_,delta_,tx_,ωp0_:128]:=Block[{t0,λ0,δ0,τ0,ωs0,initials,s},t0=0;λ0=deg;δ0=Abs[fd[λ0]]+delta;τ0=ft[λ0];λ0=λ0/180*π;ωs0=δ0+ωp0;initials={{0,0.1/180*π,-1},{0,0,0}};s=cartFou[t0,initials,ωp0,ωs0,λ0,tx*2τ0];Return[s]]
Interpolations
Interpolations
The fd and ft are interpolated data stored in a list called data
Resonant latitudes (page 13)
Resonant latitudes (page 13)
Resonant geographics latitudes page 12 in article
Add values of half - phase time of period and stiffness to the list resonance
Trace the blob's trajectory during one swing of the pendulum.
Get extreme values of angle θ and extension δ
Get extreme values of angle θ and extension δ
Periodic solutions on resonant latitudes (page 11)
Periodic solutions on resonant latitudes (page 11)
Resonant extrema of the records Zenith in Moment (pages 11-14 in article)
Resonant extrema of the records Zenith in Moment (pages 11-14 in article)
The angle between the normal to the plane of the trajectory (with its circular projection) and the zenith is shown in blue, while the angular momentum at this point is shown in brown.
The points represent the resonant latitudes. Both curves exhibit local extrema at the resonant latitudes.
Changing orientation of the semi major axis of the projection ellipse of the trajectory of the blob (pages 6 - 9)
Changing orientation of the semi major axis of the projection ellipse of the trajectory of the blob (pages 6 - 9)
Projection of blob's trajectory from the initial push till the circular motion
Projection of blob's trajectory from the initial push till the circular motion
CITE THIS NOTEBOOK
CITE THIS NOTEBOOK
Precession of the elastic pendulum on the rotating Earth
by Borut Jurčič Zlobec
Wolfram Community, STAFF PICKS, July 28, 2025
https://community.wolfram.com/groups/-/m/t/3521510
by Borut Jurčič Zlobec
Wolfram Community, STAFF PICKS, July 28, 2025
https://community.wolfram.com/groups/-/m/t/3521510