1 \newcommand{\x}{\theta}
2 \newcommand{\eq}{_\text{eq}}
3 \newcommand{\xeq}{\x\eq}
4 \newcommand{\xu}{\x_\text{u}}
5 \newcommand{\zeq}{z\eq}
6 \newcommand{\referenceProblem}{Problem 1}
10 Find the angle $\theta$ as a function of time for the left hand bob in
11 pendulum shown below in terms of the constants shown in the figure
12 where $d$ is the unstretched length of the spring.
18 Pendulum pA = makePendulum(angleDeg=-40, length=2u,
19 angleL="$\theta$", stringL=Label("$r$", embed=Shift));
20 Pendulum pB = makePendulum(angleDeg=40, length=2u,
21 angleL="$\theta$", stringL=Label("$r$", align=LeftSide, embed=Shift));
22 Spring s = Spring(pFrom=pA.mass.center(), pTo=pB.mass.center(),
23 unstretchedLength=abs(pA.mass.center().x)*2, L="$k$");
24 Distance ds = Distance(pFrom=s.pFrom-(0,.7u),
29 pA.draw(drawVertical=true);
31 label("$m$", pA.mass.center());
32 label("$m$", pB.mass.center());
38 Because the situation is symmetric, the behavior of the left bob is
39 the same as the behavior of the left half alone
45 Pendulum p = makePendulum(angleDeg=-40, length=2u,
46 angleL="$\theta$", stringL="$r$");
47 Spring s = Spring(pFrom=p.mass.center(), pTo=(0,p.mass.center().y),
48 unstretchedLength=abs(p.mass.center().x),
50 Distance ds = Distance(pFrom=s.pFrom-(0,.7u),
55 p.draw(drawVertical=true);
56 label("$m$", p.mass.center());
59 where the spring constant doubles, because when the left bob
60 compresses the spring by $\Delta x$ the right bob does as well, for a
61 total compression of $2\Delta x$ and a restoring force of $2\Delta x k
62 = \Delta x \cdot 2k$. This is similar to \referenceProblem, except
63 the equilibrium position is not about $\xeq = 0$, but about $\xeq =
64 \arcsin(\frac{d\eq}{2r})$, and the spring is always absolutely
65 horizontal in this case (it was approximately horizontal in
66 \referenceProblem). Therefor, the procedure is the same with the
67 small angle approximations replaced by approximations valid around the
70 Blowing up the situation around the left bob we have
76 Pendulum p = makePendulum(angleDeg=-40, length=2u,
78 Vector fs = Force(p.mass.center(), dir=180, mag=1u, L="$F_s$");
79 Vector fg = Force(p.mass.center(), dir=-90, mag=1u, L="$F_g$");
80 Vector dx = Vector(p.mass.center(), dir=-40-180, mag=1.5u, L="$x'$");
81 Vector dy = Vector(p.mass.center(), dir=-40-90, mag=1.5u, L="$y'$");
82 Angle xas = Angle(dx.pTip(), p.mass.center(), fs.pTip(), L="$\theta$");
83 Angle yag = Angle(dy.pTip(), p.mass.center(), fg.pTip(), L="$\theta$");
91 p.draw(drawVertical=true);
95 The spring is stretched or compressed by
97 \dd x = r\p[{\sin(\x) - \sin(\xu)}]\;,
99 where $\xu$ horizontal displacement of the bob when the spring is
102 The total force is the sum of the spring force $F_s$ and the
103 gravitation force $F_s$ acting on the bob. The portion of this total
104 force that is tangent to the bob's path is
106 \sum F_{\tan} = F_s\cos(\x) - F_g\sin(\x)
107 = -kr\cos(\x)\p[{\sin(\x) - \sin(\xu)}] - mg\sin(\x)
109 We also know from Newton's laws that (identically to \referenceProblem)
111 \sum F_{\tan} = ma_{\tan} = m\nderiv{2}{t}{x_{\tan}}
112 = mr \nderiv{2}{t}{\x}
115 Combining these two formulas for $\sum F$ we have
117 mr\nderiv{2}{t}{\x} = -kr\cos(\x)\p[{\sin(\x) - \sin(\xu)}] - mg\sin(\x)
119 To determine the behavior for small deflections, we need to Taylor
120 expand the right hand side and keep the linear term to find the
121 effective spring constant. Recall the Taylor expansion of a function
122 $f(z)$ for $z$ near some $z\eq$ is given by
124 f(z) = f(z\eq) + (z-z\eq) \cdot \p.{\deriv{z}{f}}|_\text{$z\eq$} + \ldots
126 So our effective spring constant (valid for small $\dd\x$ around
129 k' &= \frac{1}{mr}\p.{\deriv{z}{}\p\{{kr\cos(\x)\p[{\sin(\x) - \sin(\xu)}] + mg\sin(\x)}\}}|_\text{$\xeq$}
132 Then we can find $\xeq$ by balancing the forces
134 0 &= \p.{\sum F_{\tan}}|_\text{$\xeq$} \\
135 &= -kr\cos(\xeq)\p[{\sin(\xeq) - \sin(\xu)}] - mg\sin(\xeq) \\