Engineering Computations Module 3
Engineering Computations is a set of stackable learning modules, that can be flexible for adoption in different situations. It aims to develop computational skills for students in engineering, but it can also be used by students in other science majors. The course uses the Python programming language and the Jupyter open-source tools for interactive computing.
After the two foundation course modules, equipping you with the coding patterns for numerical computing, this module is our launching pad to investigate the dynamics of change and motion using computational thinking.
Module 3: Tour the dynamics of change and motion
Tackling the dynamics of change with computational thinking.
Get an interactive session in MyBinder.org with these course materials by clicking on the button below. Select the folder
notebooks_ento access the five lessons of this course as fully executable Jupyter notebooks.
- Get a PDF version to print: Engineering Computations Module 3: Fly at change in systems. figshare. https://doi.org/10.6084/m9.figshare.5673526
Lesson 1: Catch things in motion
Working with images and videos in Python using
imageio. Interactive Matplotlib figures in the notebook, and capturing mouse clicks on images for digitizing an object's position. Computing velocity and acceleration from position captures: a falling ball, and projectile motion. Computing numerical derivatives using differences. Free-fall acceleration from real data.
Lesson 2: Step to the future
Computing velocity and position from accelerometer data: a roller-coaster ride. Using the
subplot() function go draw more than one plot in the same figure. Euler's method for initial-value problems, and Taylor expansion showing first-order accuracy. The second-order differential model for an object in free fall written as two first-order differential equations, leading to a vector form. General design of a code to solve ordinary differential equations (ODEs). Application to free fall of a tennis ball and comparison with experimental data. Improved model accounting for air resistance.
Lesson 3: Get with the oscillations
Differential model of a spring-mass system without friction: state vector and system in vector form. Amplitude growth with Euler's method on oscillatory systems, and the fix: Euler-Cromer method (semi-implicit Euler). Numerically observed order of accuracy using a convergence plot: numerical error with different time increments, ∆t. Modified Euler's method, and observed order of accuracy.
Lesson 4: Bird's-eye view of mechanical vibrations
General spring-mass systems with damping and a driving force, revealing a variety of behaviors. Presents a powerful new method to study dynamical systems based on visualizing direction fields and trajectories in the phase plane.