Analytical Mechanics
Level: 3 (From-scratch derivations, explain-out-loud, code-from-memory) Time limit: 45 minutes Total marks: 60
Answer all questions. Show every step; state assumptions explicitly. Where "explain out loud" is requested, write the reasoning in full sentences.
Q1. (10 marks) Euler–Lagrange from D'Alembert. Starting from D'Alembert's principle derive the Euler–Lagrange equations for a system with holonomic, scleronomic constraints and conservative forces. State clearly where each assumption enters. (10)
Q2. (12 marks) Bead on a rotating hoop. A bead of mass slides frictionlessly on a circular hoop of radius that rotates about a vertical diameter with constant angular velocity . Let be the angle from the downward vertical.
(a) State whether the constraint is holonomic, and rheonomic or scleronomic. (2) (b) Write the Lagrangian in terms of . (4) (c) Derive the equation of motion. (3) (d) Find all equilibrium angles and the critical angular velocity above which the off-bottom equilibrium appears. (3)
Q3. (10 marks) Hamiltonian and Poisson brackets. For a particle in a plane under a central potential , using polar coordinates :
(a) Construct from the Lagrangian. (4) (b) Write Hamilton's equations. (3) (c) Show, using Poisson brackets, that is conserved, and state the symmetry responsible via Noether's theorem. (3)
Q4. (10 marks) Coupled oscillators — normal modes. Two equal masses connected in a line by three identical springs (constant ) to fixed walls: wall–––wall.
(a) Write the Lagrangian for displacements . (3) (b) Find the two normal-mode frequencies. (4) (c) Give the normal coordinates and describe each mode physically ("explain out loud"). (3)
Q5. (10 marks) Liouville & phase space — code from memory. (a) State Liouville's theorem and outline (in words + one line of algebra) why phase-space volume is conserved for Hamiltonian flow. (4) (b) Write, from memory, a short Python (NumPy) snippet that integrates the simple pendulum using symplectic Euler (semi-implicit) for a grid of initial conditions and reports the area of the evolved cloud. Comment on what you'd expect to see. (6)
Q6. (8 marks) Steady precession of a gyroscope. A symmetric top spins with large spin angular momentum about its symmetry axis, tilted at angle to the vertical, pivoted at a fixed point a distance from the centre of mass (mass ). Derive the steady precession rate in the fast-spin (gyroscopic) approximation, and state the assumption used. (8)
Answer keyMark scheme & solutions
Q1 (10 marks)
Setup. Virtual displacements consistent with constraints; write (holonomic ⇒ coordinates independent). (1)
Applied-force term. Generalized force (1) Conservative: . (1)
Inertial term. Key identities used:
- (cancellation of dots). (2)
- . (1) Product-rule manipulation gives the -form above. (1)
Combine. D'Alembert ⇒ Independence of (holonomic) ⇒ each bracket . (1) With velocity-independent, , so define : (1)
Assumptions flagged: holonomic ⇒ independent ; scleronomic used in KE identities; conservative & velocity-independent .
Q2 (12 marks)
(a) Constraint (radius fixed, rotation imposed) is holonomic and rheonomic (explicit time dependence). (2)
(b) Position: , etc. Kinetic energy (4)
(c) EOM: (3)
(d) Equilibria (): ⇒ ; or . (2) This third solution exists only when , i.e. (1)
Q3 (10 marks)
(a) . Momenta , . (2) (2)
(b) (3)
(c) since independent of (cyclic). So conserved. (2) By Noether's theorem, this follows from rotational invariance (symmetry under ). (1)
Q4 (10 marks)
(a) (3)
(b) EOM: Assume : eigenvalues of ⇒ : (4)
(c) Normal coordinates (symmetric, in-phase, lower frequency : masses move together, middle spring unstretched); (antisymmetric, out-of-phase, higher frequency : middle spring strongly compressed/stretched). (3)
Q5 (10 marks)
(a) Liouville: the phase-space distribution density is constant along trajectories; equivalently phase volume is conserved. Reason: flow velocity has zero divergence: (4)
(b) Model snippet:
import numpy as np
from scipy.spatial import ConvexHull
th = np.random.uniform(1.0,1.1,2000) # cloud of initial conditions
p = np.random.uniform(0.0,0.1,2000)
dt=0.01
for _ in range(1000):
p = p - dt*np.sin(th) # symplectic (semi-implicit) Euler
th = th + dt*p # use updated p -> symplectic
pts=np.column_stack([th,p])
print("area:", ConvexHull(pts).volume)Comment: symplectic Euler conserves phase-space area (up to hull approximation) even though it distorts the cloud's shape — consistent with Liouville, unlike naive explicit Euler which grows the area. (6)
Q6 (8 marks)
Setup. Gravity torque about pivot , horizontal, perpendicular to the axis' vertical plane. (2) In fast-spin approximation, angular momentum ≈ spin part along symmetry axis; nutation neglected. (2) Precession: , magnitude (2) Independent of ; valid when (large spin). (2)
[
{"claim":"Bead critical angular velocity omega_c^2 = g/a from cos(theta)=g/(a w^2) boundary at theta=0",
"code":"g,a,w=symbols('g a w',positive=True); crit=Eq(g/(a*w**2),1); sol=solve(crit,w); result=(sqrt(g/a) in sol)"},
{"claim":"Coupled oscillator eigenvalues give omega1^2=k/m, omega2^2=3k/m",
"code":"k,m=symbols('k m',positive=True); M=(k/m)*Matrix([[2,-1],[-1,2]]); evs=set(M.eigenvals().keys()); result=(evs=={k/m,3*k/m})"},
{"claim":"Hamiltonian for central force: H = p_r^2/2m + p_phi^2/(2 m r^2)+V",
"code":"m,r=symbols('m r',positive=True); pr,pphi=symbols('p_r p_phi'); rd,phid=symbols('rd phid'); V=symbols('V'); L=Rational(1,2)*m*(rd**2+r**2*phid**2)-V; pr_e=diff(L,rd); pphi_e=diff(L,phid); H=(pr_e*rd+pphi_e*phid-L); Hsub=H.subs({rd:pr/m,phid:pphi/(m*r**2)}); target=pr**2/(2*m)+pphi**2/(2*m*r**2)+V; result=simplify(Hsub-target)==0"},
{"claim":"Gyroscope steady precession Omega = M g l/(I3 psidot)",
"code":"Mg,l,I3,psid,th=symbols('Mg l I3 psid theta',positive=True); Om=symbols('Om'); eq=Eq(Mg*l*sin(th),Om*I3*psid*sin(th)); sol=solve(eq,Om)[0]; result=simplify(sol-Mg*l/(I3*psid))==0"}
]