PND01.NB - Simple Pendulum 
- Qualitative description of Dynamics

Clear["Global`*"]
(* dθ/dt=w,  dw/dt=-ω0*sinθ *)

Potential and Phase Space Portrait

ω0=1
V[θ_]=-((ω0)^2) Cos[θ]
Energy=((w^2)/2)+V[θ];
Es=((ω0)^2)
Plot[V[θ],{θ,-3 π,3 π},AxesLabel->{"θ","V"}]
ContourPlot[Energy,{θ,-3 π,3 π},{w,-2 ω0,2 ω0},Contours->{Es,(Es/2),0,-(Es/2),-0.9*Es,1.5*Es},ContourShading->False,PlotPoints->100,FrameLabel->{"θ","w"}]

ContourPlot[Energy,{θ,-π,π},{w,-2 ω0,2 ω0},Contours->{Es,(Es/2),0,-(Es/2),-0.9*Es 0.9,1.5* Es},ContourShading->False,PlotPoints->100,FrameLabel->{"θ","w"}]

Period of Oscillations via Amplitude θmax

ener[θmax_]:=-ω0^2 Cos[θmax]
periodL[θmax_]:=4 NIntegrate[(1/(Sqrt[2(ener[θmax]+ ω0^2 Cos[θ])])),{θ,0,θmax-0.0000001}]
grL=Plot[periodL[θmax], {θmax,0, π-0.0001},AxesLabel->{"θmax","T"}, PlotRange->{0,20}]

Plots via energy

Width of oscillation via  Energy constant

thetamax[ener_]:=ArcCos[-ener/ω0^2];
Plot[thetamax[ener], {ener,-Es,Es},AxesLabel->{"E","θmax"}]

Period of Oscillation as function of Energy

(* librations *) 
periodL[ener_]:=4 NIntegrate[(1/(Sqrt[2(ener+ ω0^2 Cos[θ])])),{θ,0,Evaluate[thetamax[ener]]}]
grL=Plot[periodL[ener], {ener,-Es, Es-0.0001},AxesLabel->{"E","T"}, PlotRange->{0,20}]

(* rotations *)
periodR[ener_]:=2 NIntegrate[(1/(Sqrt[2(ener+ ω0^2 Cos[θ])])),{θ,0,Pi}]
grR=Plot[periodR[ener], {ener,Es+0.00001, 5*Es},AxesLabel->{"E","T"},PlotRange->All]

Period via Energy

Show[grL,grR, PlotRange->{0,20}]