Skip to content
Permalink
master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
 
 
Cannot retrieve contributors at this time
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
<head>
<meta charset="utf-8" />
<meta name="generator" content="pandoc" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
<title>README</title>
<style>
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
span.underline{text-decoration: underline;}
div.column{display: inline-block; vertical-align: top; width: 50%;}
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
ul.task-list{list-style: none;}
</style>
<script src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js" type="text/javascript"></script>
<!--[if lt IE 9]>
<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
<![endif]-->
</head>
<body>
<h1 id="computational-mechanics-03--initial-value-problems">Computational Mechanics 03- Initial Value Problems</h1>
<h2 id="learning-to-frame-engineering-equations-as-numerical-methods">Learning to frame engineering equations as numerical methods</h2>
<p>Welcome to Computational Mechanics Module #3! In this module we will explore some more data analysis, find better ways to solve differential equations, and learn how to solve engineering problems with Python.</p>
<p><a href="./notebooks/01_Catch_Motion.ipynb">01_Catch_Motion</a></p>
<ul>
<li>Work with images and videos in Python using <code>imageio</code>.</li>
<li>Get interactive figures using the <code>%matplotlib notebook</code> command.</li>
<li>Capture mouse clicks with Matplotlib’s <code>mpl_connect()</code>.</li>
<li>Observed acceleration of falling bodies is less than <span class="math inline">\(9.8\rm{m/s}^2\)</span>.</li>
<li>Capture mouse clicks on several video frames using widgets!</li>
<li>Projectile motion is like falling under gravity, plus a horizontal velocity.</li>
<li>Save our hard work as a numpy .npz file <strong>Check the Problems for loading it back into your session</strong></li>
<li>Compute numerical derivatives using differences via array slicing.</li>
<li>Real data shows free-fall acceleration decreases in magnitude from <span class="math inline">\(9.8\rm{m/s}^2\)</span>.</li>
</ul>
<p><a href="./notebooks/02_Step_Future.ipynb">02_Step_Future</a></p>
<ul>
<li>Integrating an equation of motion numerically.</li>
<li>Drawing multiple plots in one figure,</li>
<li>Solving initial-value problems numerically</li>
<li>Using Euler’s method.</li>
<li>Euler’s method is a first-order method.</li>
<li>Freefall with air resistance is a more realistic model.</li>
</ul>
<p><a href="./notebooks/03_Get_Oscillations.ipynb">03_Get_Oscillations</a></p>
<ul>
<li>vector form of the spring-mass differential equation</li>
<li>Euler’s method produces unphysical amplitude growth in oscillatory systems</li>
<li>the Euler-Cromer method fixes the amplitude growth (while still being first</li>
<li>order)</li>
<li>Euler-Cromer does show a phase lag after a long simulation</li>
<li>a convergence plot confirms the first-order accuracy of Euler’s method</li>
<li>a convergence plot shows that modified Euler’s method, using the derivatives</li>
<li>evaluated at the midpoint of the time interval, is a second-order method</li>
<li>How to create an implicit integration method</li>
<li>The difference between <em>implicit</em> and <em>explicit</em> integration</li>
<li>The difference between stable and unstable methods</li>
</ul>
<p><a href="./notebooks/04_Getting_to_the_root.ipynb">04_Getting_to_the_root</a></p>
<ul>
<li>How to find the 0 of a function, aka root-finding</li>
<li>The difference between a bracketing and an open methods for finding roots</li>
<li>Two bracketing methods: incremental search and bisection methods</li>
<li>Two open methods: Newton-Raphson and modified secant methods</li>
<li>How to measure relative error</li>
<li>How to compare root-finding methods</li>
<li>How to frame an engineering problem as a root-finding problem</li>
<li>Solve an initial value problem with missing initial conditions (the shooting</li>
<li>method)</li>
<li><em>Bonus: In the Problems you’ll consider stability of bracketing and open methods.</em></li>
</ul>
</body>
</html>