Access to the material: https://unlam.github.io/ComputationalAnalyticalMechanics/
This is the repository for the course Computational Analytical Mechanics, for the mechanical engineering degree at the Department of Engineering and Research in Technology, Universidad Nacional de La Matanza.
It's a code-based undergraduate course on analytical mechanics for engineering students with little to no prior programming knowledge. This 16-week flipped classroom course focuses on providing skills to calculate dynamics and strains of simple mechanical devices modelled as rigid bodies by solving Euler-Lagrange equations. Problems sets with increasingly complex exercises are introduced each week. Python-based solutions to previous ones are reused by students, who through small incremental modifications over the code presented by the teaching staff, build their own library of solutions to address mechanical modelling challenges.
The material for this course is available as Jupyter notebooks, containing theory and example exercises alongside the code to solve them. Students are required to rely on computer-based calculations, both analytical and numerical, so to focus their efforts on the physics modelling and interpretation of results. The online hosting and execution of these notebooks avoids any installation or hardware requirement issues.
In this proposed schedule for a course of 16 weeks, the topics are divided by areas. Some of them are covered through more than one week, so a further descriptor, Folder, indicates where to find each week's material.
Week | Area | Folder | Topics |
---|---|---|---|
01 | Newtonian mechanics | 01Vector | Course presentation. Vector calculus using Sympy. |
02 | Analytical mechanics | 02Energy | Degrees of freedom. Generalized coordinates. Kinetic and potential energies. |
03 | " | 03EulerLagrange | Euler-Lagrange equations. |
04 | " | 04Constraints | Constraints as functions of coordinates. |
05 | Numerical | 05Simulation | Numerical resolution of Euler-Lagrange equations. |
06 | Forces | 06ForcesConstraint | Constraint reactions by Lagrange multipliers. |
07 | " | 07NonConservative | Non conservative forces in the Euler-Lagrange formalism. |
08 | Rigid body | 08InertiaTensor | Inertia tensor of point masses systems. Steiner theorem. |
09 | " | 09DistributedMass | Inertia tensor of masses distributions. |
10 | " | 10EulerRotation | Euler equations for the rigid body. |
11 | " | " | Final project: statement of the problem |
12 | Oscillations | 11OscillationsSDOF | Forced oscillations in single degree of freedom systems. |
13 | " | 12OscillationsMDOF | Forced oscillations at multiple degrees of freedom systems. |
14 | " | " | " |
15 | Evaluation | (none) | Project live presentation |
16 | " | (none) | 2.nd chance presentation |
- L. D. Landau and E. M. Lifshitz, Mechanics: Volume 1 (Course of Theoretical Physics) (Butterworth-Heinemann, 3rd edition, 1976)
- F. Beer, E. Johnston et al., Vector Mechanics for Engineers: Statics and Dynamics (McGraw Hill, 11th edition, 2015)
- W. Moebs, S. Ling and J. Sanny, University Physics Volume 1 (Independently Published, 2023)
- S. Alrasheed, Principles of Mechanics (Saint Philip Street Press, 2020)
- S. M. Targ, Theoretical Mechanics: A Short Course (Mir Publishers Moscow, 1962)
- Stephen T. Thornton y Jerry B. Marion, Classical Dynamics of Particles and Systems (Cengage Learning, 5th edition, 2003)
- John Robert Taylor, Classical Mechanics (University Science Books, 2005)
- Cornelius Lanczos, The Variational Principles of Mechanics (University of Toronto press, 1952).
- Douglas Cline, Variational Principles in Classical Mechanics (University of Rocherster River Campus Libraries, 2021)
-
First class
- Introduction to this course [ipynb]
-
Theory
- Vector kinematics [ipynb]
-
Exercises
-
References
- Introduction to Python [ipynb]
- Markdown and LaTeX [ipynb]
-
Exercises to turn in
- pset01e01 to be submitted one hour after presenting the exercise in class
- pset01e02 to be submitted next week, 30 minutes after starting the new class
- Kinetic energy [ipynb]
- Gravitational potential energy: pendulum with pivot free to slide horizontally [ipynb]
- Problem set - Energy [pdf]
- Exercises to turn in
From now on, exercises will be submitted the week following the time they become available, with a 30 minutes limit after starting the class.- pset02e02
- pset02e03
- pset02e04 - Some help addressing frequently asked questions [ipynb]
(Currently in Spanish, soon to be translated)
- Euler-Lagrange equation - Pendulums [ipynb]
- Euler-Lagrange template [ipynb]
- Problem set - Euler-Lagrange [pdf]
- Elastic potential energy [ipynb]
- Rotating parts in a system [ipynb]
- Exercises to turn in
- pset03e01c
- pset03e02
- pset03e03
- pset03e04
(Currently in Spanish, soon to be translated)
- Constraints [ipynb]
- Atwood machine with constraint [ipynb]
- Solving systems of differential equations [ipynb]
- Problem set - Constraints [pdf]
- Exercises to turn in
- pset04e02
- pset04e03
- pset04e04
(Currently in Spanish, soon to be translated)
It's time to solve the equations found using the Euler-Lagrange method. We'll put into action what we learnt in any numerical analysis course and we will determine the dynamics of the systems that we have modelled.
- Atwood machine [ipynb]
- Pendulum with pivot free to slide horizontally [ipynb]
- Problem set - Simulation [pdf]
- Exercises to turn in
- pset05e02a
- pset05e02c
- pset05e03
- pset05e04
- References
(Currently in Spanish, soon to be translated)
The determination of the dynamics of each part in a device is important, but it's equally important to determine the strains that they have to withstand. Let's start calculating these torques and forces.
- Constraint reactions [ipynb]
- Constraint reactions - Ideal physical pendulum [ipynb]
- Constraint reactions - Rolling [ipynb]
- Problem set - Constraint reactions [pdf]
- Exercises to turn in
- pset06e03
- pset06e04
- pset06e05
(Currently in Spanish, soon to be translated)
- Non conservative forces and Euler-Lagrange [ipynb]
- Systems with non conservative forces solved using the Euler-Lagrange method [ipynb]
- Problem set - Non conservative forces [pdf]
- Exercises to turn in
- Linked cylinders - Help [ipynb]
- pset07e02
- pset07e03
- pset07e04
(Currently in Spanish, soon to be translated)
We now begin studying solids of increasing complexity. In the same manner that a force gives more or less acceleration to different bodies according to their masses, a torque changes more or less the angular velocity according to how the mass is distributed around the axis of rotation. The relation is more complex than a simple scalar quantity like mass, it is the inertia tensor, which we are going to calculate for simple geometric figures for now, to then move forward to work on more realistic mechanic devices.
- Angular momentum and torque [ipynb]
- Inertia Tensor [ipynb]
- Problem set [pdf]
- Ex. 3 - Rotation arm [ipynb]
- Ex. 5 - Inertia tensor for a cube [ipynb]
- Exercises to turn in
- pset08e02
- pset08e04
- pset08e05
(Currently in Spanish, soon to be translated)
- Problem set - Distributed mass [pdf]
- Exercises to turn in
- pset09e01
- pset09e02
- pset09e03
- pset09e04
(Currently in Spanish, soon to be translated)
Now that you know how to write the inertia tensor of a rigid body, it's time to make it rotate.
- Euler equations [ipynb]
- Gear with offsetted axis [ipynb]
- Flywheel [ipynb]
- Problem set - Euler equations [pdf]
- Exercises to turn in
- pset10e02
- pset10e03
- pset10e05
(Currently in Spanish, soon to be translated)
- Damped oscillations of a single degree of freedom system (SDOF) [ipynb]
- Single degree of freedom system harmonically forced [ipynb]
- Single degree of freedom system with arbitrary force [ipynb]
- Problem set - Oscillations SDOF [pdf]
- Exercises to turn in
- pset11e01
- pset11e02
- pset11e03
- pset11e04
(Currently in Spanish, soon to be translated)
- Discrete system with multiple degrees of freedom [ipynb]
- Problem set - Oscillations MDOF [pdf]
- Exercises to turn in
- pset12e01
- pset12e02
(Currently in Spanish, soon to be translated)
- Final project - Rigid body [ipynb]