Preventing super-long Lagrangian in triple+ pendulums

  • Thread starter ellipsis
  • Start date
  • Tags
    Lagrangian
  • #1
158
24
Hey all.

I've been experimenting with Lagrangian mechanics (and numerical simulation of physical systems), and I've come across a problem.

By finding the Lagrangian, then using the Euler-Lagrange formula, I can find equations of motion (in generalized angular coordinates with respect to the vertical) for n-pendulums. Here are a few I've found:

n = 1.
$$
\boxed{
{\ddot{\theta}} = -\frac{g \sin (\theta)}{L}
}
$$
n = 2.
$$
\boxed{
{\ddot{\theta}_1} = \frac{-{L_1} {m_2} {\dot{\theta}_1}^2 \sin (2 {\theta}-2 {\theta_2})-2 {L_2} {m_2} {\dot{\theta}_2}^2 \sin ({\theta}-{\theta_2})-g {m_2} \sin ({\theta}-2 {\theta_2})-2 g {m_1} \sin ({\theta})-g {m_2} \sin ({\theta})}{{L_1} (-{m_2} \cos (2 {\theta}-2 {\theta_2})+2 {m_1}+{m_2})}\\

{\ddot{\theta}_2} =-\frac{{L_1} {\ddot{\theta}_1} \cos ({\theta}-{\theta_2})-{L_1} {\dot{\theta}_1}^2 \sin ({\theta}-{\theta_2})+G \sin ({\theta_2})}{{L_2}}
}
$$
n = 3.
$$
\small{
{\ddot{\theta}_1} = -\frac{2 {m_2} \sin ({\theta}-{\theta_2}) \left(({m_2}+{m_3}) \left({L_1} {\dot{\theta}_1}^2 \cos ({\theta}-{\theta_2})+{L_2} {\dot{\theta}_2}^2\right)+{L_3} {m_3} {\dot{\theta}_3}^2 \cos ({\theta_2}-{\theta_3})\right)+g \sin ({\theta}) (-{m_1} {m_3} \cos (2 ({\theta_2}-{\theta_3}))+{m_1} (2 {m_2}+{m_3})+{m_2} ({m_2}+{m_3}))+g {m_2} ({m_2}+{m_3}) \sin ({\theta}-2 {\theta_2})}{{L_1} (-{m_2} ({m_2}+{m_3}) \cos (2 ({\theta}-{\theta_2}))-{m_1} {m_3} \cos (2 ({\theta_2}-{\theta_3}))+{m_3} ({m_1}+{m_2})+{m_2} (2 {m_1}+{m_2}))}
}
$$

$$
\small{
{\ddot{\theta}_2} =\frac{-2 {m_3} \sin ({\theta_2}-{\theta_3}) \left({L_1} {\ddot{\theta}_1} \sin ({\theta}-{\theta_3})+{L_2} {\dot{\theta}_2}^2 \cos ({\theta_2}-{\theta_3})+{L_3} {\dot{\theta}_3}^2\right)-2 {L_1} {m_2} {\ddot{\theta}_1} \cos ({\theta}-{\theta_2})+{L_1} {\dot{\theta}_1}^2 ((2 {m_2}+{m_3}) \sin ({\theta}-{\theta_2})-{m_3} \sin ({\theta}+{\theta_2}-2 {\theta_3}))-G ({m_3} \sin ({\theta_2}-2 {\theta_3})+(2 {m_2}+{m_3}) \sin ({\theta_2}))}{{L_2} (-{m_3} \cos (2 ({\theta_2}-{\theta_3}))+2 {m_2}+{m_3})}
}
$$

$$
\small{
{\ddot{\theta}_3} =-\frac{{L_1} {\ddot{\theta}_1} \cos ({\theta}-{\theta_3})-{L_1} {\dot{\theta}_1}^2 \sin ({\theta}-{\theta_3})+{L_2} {\ddot{\theta}_2} \cos ({\theta_2}-{\theta_3})-{L_2} {\dot{\theta}_1}^2 \sin ({\theta_2}-{\theta_3})+G \sin ({\theta_3})}{{L_3}}
}
$$




These pendulums have rigid, massless rods. There is no joint or air friction. As you can see, these coordinates result in... large expressions.

I've automated this process using Mathematica, but the resulting equations are too large to simplify for pendulums n=4 and above (Quadruple and above).

Is there any coordinate change or other simplification I can do to keep this solvable? If I do this in Cartesian coordinates instead, might that help?

When N gets larger, solving the system of Euler-Lagrange equations (to find the actual equations of motion) becomes difficult (4 equations, 4 unknowns, and above).

I've tried formulating a n=1 pendulum in Cartesian coordinates, but I get spring pendulum systems instead. How do I enforce the condition x^2+y^2=L^2 in a natural manner, when calculating the Lagrangian?

Thanks for any insight given,
ellipsis
 
  • #2
First, these are not that bad. It's about as simple as you can get given the complexity of the system.
Second, you can get rid of the trig by using small angle approximations. Whether this is simpler or not is a matter of taste.
Third, if you know the normal modes, using them as your generalized coordinates won't make the expressions simpler, but this will make the subsequent math simpler.
 
  • #3
First, these are not that bad. It's about as simple as you can get given the complexity of the system.
Second, you can get rid of the trig by using small angle approximations. Whether this is simpler or not is a matter of taste.
Third, if you know the normal modes, using them as your generalized coordinates won't make the expressions simpler, but this will make the subsequent math simpler.
Thanks for your response!

The small angle approximation is not something I'm interested in (All of this is due to wanting to see how pendulums really work), but I'll keep that in mind.

Do you know anything about calculating equations of motion in Cartesian coordinates?
 
  • #4
I think using Catersians will not simplify this. You are going from an N dimensional problem to a 2N dimensional problem with N constraints - three times as many elements.
 
  • #5
I want to see how a pendulum system with, say, n=100 works. There has to be a way to "generalize" the behavior of one component of a pendulum given the components it is immediately attached to.
 
  • #6
With 100 pendula, you're going to have 100 degrees of freedom. With 100 degrees of freedom, you're going to have hundreds of terms in your Lagrangian.
 
  • #7
With 100 pendula, you're going to have 100 degrees of freedom. With 100 degrees of freedom, you're going to have hundreds of terms in your Lagrangian.

How is it the case people simulate arbitrary mass-spring systems, then? I'm considering taking the approach of approximating pendulums by springs with arbitrarily high spring constants, but the problem becomes 'stiff' in that case, and requires low time-steps.

A hundred terms in my Lagrangian is fine. As of now, it's more like O(n^2) number of terms in my Lagrangian...
 
  • #8
How is it the case people simulate arbitrary mass-spring systems, then? I'm considering taking the approach of approximating pendulums by springs with arbitrarily high spring constants, but the problem becomes 'stiff' in that case, and requires low time-steps.

A hundred terms in my Lagrangian is fine. As of now, it's more like O(n^2) number of terms in my Lagrangian...

The pendula are non-linear oscillators.
For small angles, they are approximately linear.
 

Suggested for: Preventing super-long Lagrangian in triple+ pendulums

Replies
7
Views
212
Replies
3
Views
144
Replies
24
Views
436
Replies
11
Views
230
Replies
17
Views
213
Replies
3
Views
484
Replies
0
Views
458
Replies
2
Views
362
Back
Top