
Developed by Andy Rundquist - Published October 3, 2016
DOI: 10.1119/PICUP.Exercise.lagrangian
This set of exercises guides the student in exploring how to use a computer algebra system to determine the equations of motion for a dynamical system using a Lagrangian formalism, and then how to use numerical solving to analyze the resulting motion.
Subject Area | Mechanics |
---|---|
Levels | Beyond the First Year and Advanced |
Available Implementation | Mathematica |
Learning Objectives |
Students will
|
Time to Complete | 60 min |
These exercises are not tied to a specific programming language. Example implementations are provided under the Code tab, but the Exercises can be implemented in whatever platform you wish to use (e.g., Excel, Python, MATLAB, etc.).
For most of the exercises below, the context can be almost any dynamical system, but for concreteness we will focus on a problem that involves a double pendulum hung from a support that moves with constant speed around a vertical circle.
Identify the variables and determine an expression for the kinetic and potential energy.
For a given dynamical system, identify the appropriate variables and determine an expression for the kinetic and potential energies (and hence the Lagrangian, which is KE-PE). For later plotting purposes (and animation creations) it’s often easiest to come up with expressions for the Cartesian variables of all moving parts. This also makes the determination of the energies easier, especially for simple one dimensional gravity.
Determine the appropriate Euler-Lagrange equations
Using a Computer Algebra System determine the equations of motion for the relevant variables (the two angles in the problem above) by calculating the Euler-Lagrange equation: ∂L∂qi(t)−ddt∂L∂q′i(t)=0
Produce pseudo-code for the integration of the equations of motion
Each equation of motion is a second-order differential equation. Break each into two first order differential equations by noting that q’(t) can be written as v’(t). Usually q’(t) = v(t) is one of the two first order equations. For each, consider an Euler method style time step procedure to determine the next time step’s value for all the q’s and all the v’s. Finally, identify the proper initial conditions for all the q’s and v’s.
Solve the equations of motion and plot the results and animation
Code the equations of motion into a differential equation solver, along with appropriate initial conditions. Plot the dynamical variables as functions of time and produce an animation of the motion.
Determine the equations of motion for a system with a constraint using Lagrange multipliers
To find the value(s) of the constraint force(s), use a Lagrange multiplier. For the tension in the first leg of the double pendulum above, you would have a constraint equations noting that the distance between the support and the first mass is a constant. You would also change all the Euler Lagrange equations:
∂L∂qi(t)−ddt∂L∂q′i(t)+∑λj(t)∂Cj∂qi(t)=0
Where “C” is an expression for the length of the first leg. The differential equation solver now needs to be told about the constraint (or, more usefully, that the second derivative of C is zero) along with the modified Euler-Lagrange equations. Note that because the Lagrange multiplier never has any derivatives taken on it, you don’t have to provide initial conditions for it. However, it will (likely) vary in time and so it can be plotted to examine aspects like the maximum force and where or if the force ever changes sign.
Add non-conservative forces (friction) to the model
Any non-conservative forces (like viscous friction) can be added to the right hand side of the Euler Lagrange equation. Due to the sign convention we’re using here, they should be added with an extra negative sign. For example, if you wanted to add viscous friction to the first mass in our problem above, the right hand side would be proportional to θ′(t).
Download Options
Share a Variation
Credits and Licensing
Andy Rundquist, "Lagrangian dynamics," Published in the PICUP Collection, October 2016, https://doi.org/10.1119/PICUP.Exercise.lagrangian.
DOI: 10.1119/PICUP.Exercise.lagrangian
The instructor materials are ©2016 Andy Rundquist.
The exercises are released under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 license
