Skip to content

Tour of the dynamics of change and motion using computational thinking with Python

License

Notifications You must be signed in to change notification settings

engineersCode/EngComp3_tourdynamics

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Engineering Computations Module 3

Engineering Computations is a collection of stackable learning modules, 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.

Pre-requisite: learning module EngComp 1 of our collection. Recommended: EngComp 4.

Get an interactive session in MyBinder.org with these course materials by clicking on the button below. Select the folder notebooks_en to access the five lessons of this course as fully executable Jupyter notebooks.

Binder

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.

Copyright and License

(c) 2017 Lorena A. Barba, Natalia C. Clementi. All content is under Creative Commons Attribution CC-BY 4.0, and all code is under BSD-3 clause. We are happy if you re-use the content in any way!

License License: CC BY 4.0

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •