Classical Mechanics: Problem Set 1

1. A rotating rod

A smooth rod $OP$ is forced to rotate with angular velocity $\omega$ about a fixed vertical axis $OQ$ so that it makes a constant angle $\alpha$, $0 < \alpha < \pi/2$, with $OQ$. A ring of mass $m$ can slide freely on $OP$. Using a coordinate $r$ for the distance from the ring to $O$ find the Lagrangian for the ring. Deduce that, as long as the ring stays on the rod, the quantity \[ H \equiv \frac{1}{2} m (\dot{r}^2 - \omega r^2 \sin^2\alpha) + mgr\cos\alpha \]

is constant. Next, the ring is projected from $O$ towards $P$ with initial speed $\lambda g\cot\alpha$. Show that, if $\lambda < 1$, the ring can never exceed a maximum value of $r$. If $\lambda = 1$, find $r(t)$.


2. A rotating ring

Show that, given a Lagrangian $L(t, \theta, \dot{\theta})$, the quantity \[ H \equiv \dot{\theta}\pd{L}{\dot{\theta}} - L \]

satisfies $\dd{H}{t} = -\pd{L}{t}$ by virtue of the Euler-Lagrange equations.

A wireframe in the form of a circle of radius $a$ rotates around a horizontal diameter at a fixed rate $\Omega$. A bead of mass $m$ slides smoothly on the frame. At time $t = 0$ the frame is horizontal. Take the $x$-axis to be the fixed diameter, the $(x,y)$-plane to be horizontal with origin at the centre of the circle, and the $z$-axis vertically upwards, and let $\theta$ be the angle between the position of the bead and the point $(x, 0, 0)$. Show that the position of the bead in Cartesians is \[ \mathbf{r} = [a\cos\theta, a\sin\theta\cos(\omega t), a\sin\theta\sin(\Omega t)], \]

and calculate the Lagrangian, assuming gravity acts as usual ($g$ downards). Is $H$ constant?


The Matlab code can be found at the end.

3. Oscillatory systems and quadratic Lagrangians

For real $\alpha$ consider a system described by the Lagrangian \[ L = T - V = \frac{1}{2}\left(\dot{x}^2 + \dot{y}^2 + 2\alpha\dot{x}\dot{y}\right) - \frac{1}{2}(x^2 + xy). \]

Wrote down and solve the Euler-Lagrange equations if $\alpha \neq \pm 1$. Is $T$ positive definite if $\alpha = \pm 1$? Can you solve the Euler-Lagrange equations in these two cases?


Bonus: Matlab code for the wire hoop problem (simplified version)

The below is the compressed version of the hoop program to produce the pictures. It still creates the 3d plots, but they simply aren't formatted as nicely.

% Lincoln Mathematics 2012-2013
% Classical Mechanics, Problem Set 2
% Solve the problem of a bead on a hoop spinning about the x-axis
% Lincoln Mathematics 2012-2013
% Classical Mechanics, Problem Set 2
% Solve the problem of a bead on a hoop spinning about the x-axis
function wireturnsimp
    g = 9.8;
    a = 1;                  % Radius
    Om = 1;                 % Angular frequency
    tf = 10*pi;             % Final time
    T0 = pi/4;              % Start angle theta = T0
    T0p = 0;                % Start velocity, dtheta/dt = 0
    u = linspace(0, 2*pi, 50);  % Create coordinates for going around
    [t,T] = ode45(@eleqn, [0 tf], [T0 T0p]);    % Solve the ODE
    theta = T(:,1);                             % Assign solution to theta
    figure(1); clf(1);
    plot(t, theta, 'r');
    hold on
    for j = 1:length(t)
        % Plot the hoop
        rc = pos(t(j), u);
        hhoop = plot3(rc(1,:), rc(2,:), rc(3,:), 'k', 'LineWidth', 3);
        hold on
        % Plot the bead
        rb = pos(t(j), theta(j));
        hball = plot3(rb(1), rb(2), rb(3), 'Marker', 'o', ...
                            'MarkerSize', 20, 'MarkerFaceColor', 'b');
        hold off
        axis([-1 1 -1 1 -1 1]*1.5); grid on; axis square;
        xlabel('x'); ylabel('y'); zlabel('z');
        % Plot (t, theta)
        plot(t(1:j), theta(1:j), 'b'); 
        xlabel('t'); ylabel('\theta');
        drawnow % Flush the graphics
    % The differential equation to solve
    function F = eleqn(t, y)
        T = y(1); Tp = y(2);
        Tpp = Om^2*sin(T)*cos(T) - g/a*cos(T)*sin(Om*t);
        F = [Tp; Tpp];
    % A function that returns the position vector
    function r = pos(t, theta)
        r = zeros(3, length(theta));
        r(1,:) = a*cos(theta);
        r(2,:) = a*sin(theta).*cos(Om*t);
        r(3,:) = a*sin(theta).*sin(Om*t);