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
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"###### Content modified under Creative Commons Attribution license CC-BY 4.0, code under BSD 3-Clause License © 2020 Ryan C. Cooper"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Step to the future\n",
"\n",
"Welcome to Lesson 2 of the course module \"Initial Value Problems (IVPs),\" in _Computational Mechanics_ The previous lesson, [Catch things in motion](http://go.gwu.edu/engcomp3lesson1), showed you how to compute velocity and acceleration of a moving body whose positions were known. \n",
"\n",
"Time history of position can be captured on a long-exposure photograph (using a strobe light), or on video. But digitizing the positions from images can be a bit tedious, and error-prone. Luckily, we found online a data set from a motion-capture experiment of a falling ball, with high resolution [1]. You computed acceleration and found that it was smaller than the theoretical value of $9.8 \\rm{m/s}^2$ and _decreased_ over time. The effect is due to air resistance and is what leads to objects reaching a _terminal velocity_ in freefall."
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt"
]
},
{
"cell_type": "code",
"execution_count": 147,
"metadata": {},
"outputs": [],
"source": [
"%matplotlib inline\n",
"plt.rcParams.update({'font.size': 22})\n",
"plt.rcParams['lines.linewidth'] = 3"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Set things up to compute velocity and position\n",
"\n",
"Our challenge now is to find the motion description—the position $x(t)$—from a function of acceleration. In the [previous lesson](http://go.gwu.edu/engcomp3lesson1), we did the opposite: with position data, get the velocity and acceleration, using _numerical derivatives_:\n",
"\n",
"\\begin{equation}\n",
"v(t_i) = \\frac{dx}{dt} \\approx \\frac{x(t_i+\\Delta t)-x(t_i)}{\\Delta t}\n",
"\\end{equation}\n",
"\n",
"\\begin{equation}\n",
"a(t_i) = \\frac{dv}{dt} \\approx \\frac{v(t_i+\\Delta t)-v(t_i)}{\\Delta t}\n",
"\\end{equation}\n",
"\n",
"Almost every problem that deals with Newton's second law is a second-order differential equation. The acceleration is a function of position, velocity, and sometimes time _if there is a forcing function f(t)_. \n",
"\n",
"The key to solving a second order differential equation is realizing that if we have the initial velocity, we can use the acceleration to find the velocity after a short interval of time. And if we have the initial position, we can use the known velocity to find the new position after a short interval of time. Let's rearrange the equation for acceleration above, by solving for the velocity at $t_i + \\Delta t$:\n",
"\n",
"\\begin{equation}\n",
" v(t_i+\\Delta t) \\approx v(t_i) + a(t_i) \\Delta t\n",
"\\end{equation}\n",
"\n",
"Consider our first computational mechanics model of a freefalling object that is dropped.\n",
"\n",
"<img src=\"../images/freefall.png\" style=\"width: 200px;\"/> \n",
"\n",
"An object falling is subject to the force of \n",
"\n",
"- gravity ($F_g$=mg) and \n",
"- drag ($F_d=cv^2$)\n",
"\n",
"Acceleration of the object:\n",
"\n",
"$\\sum F=ma=F_g-F_d=cv^2 - mg = m\\frac{dv}{dt}$\n",
"\n",
"so,\n",
"\n",
"$a=\\frac{c}{m}v(t_{i})^2-g$\n",
"\n",
"then, our acceleration is defined from Newton's second law and position is defined through its definition, $v=\\frac{dx}{dt}$. \n",
"\n",
"_Note: the direction of positive acceleration was changed to up, so that a positive $x$ is altitude, we will still have the same speed vs time function from [Module_01-03_Numerical_error](https://github.uconn.edu/rcc02007/CompMech01-Getting-started/blob/master/notebooks/03_Numerical_error.ipynb)_"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Step through time\n",
"\n",
"In the code cell below, we define acceleration as a function of velocity and add two parameters `c` and `m` to define drag coefficient and mass of the object. "
]
},
{
"cell_type": "code",
"execution_count": 163,
"metadata": {},
"outputs": [],
"source": [
"def a_freefall(v,c=0.25,m=60):\n",
" '''Calculate the acceleration of an object given its \n",
" drag coefficient and mass\n",
" \n",
" Arguments:\n",
" ---------\n",
" v: current velocity (m/s)\n",
" c: drag coefficient set to a default value of c=0.25 kg/m\n",
" m: mass of object set to a defualt value of m=60 kg\n",
" \n",
" returns:\n",
" ---------\n",
" a: acceleration of freefalling object under the force of gravity and drag\n",
" '''\n",
" a=-c/m*v**2*np.sign(v)-9.81\n",
" return a"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now we use a `for` statement to step through the sequence of acceleration values, each time computing the velocity and position at the subsequent time instant. We first have to __initialize__ our variables `x` and `v`. We can use initial conditions to set `x[0]` and `v[0]`. The rest of the values we will overwrite based upon our stepping solution.\n",
"\n",
"We are applying the equation for $v(t_i + \\Delta t)$ above, and a similar equation for position:\n",
"\n",
"\\begin{equation}\n",
" x(t_i+\\Delta t) \\approx x(t_i) + v(t_i) \\Delta t\n",
"\\end{equation}"
]
},
{
"cell_type": "code",
"execution_count": 164,
"metadata": {},
"outputs": [],
"source": [
"N = 100 # define number of time steps\n",
"t=np.linspace(0,12,N) # set values for time (our independent variable)\n",
"dt=t[1]-t[0]\n",
"x=np.zeros(len(t)) # initialize x\n",
"v=np.zeros(len(t)) # initialize v\n",
"\n",
"x[0] = 440 # define initial altitude of the object\n",
"v[0] = 0\n",
"\n",
"for i in range(1,N):\n",
" dvdt = a_freefall(v[i-1])\n",
" v[i] = v[i-1] + dvdt*dt\n",
" x[i] = x[i-1] + v[i-1]*dt"
]
},
{
"cell_type": "code",
"execution_count": 165,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"-9.393333333333334"
]
},
"execution_count": 165,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"a_freefall(-10)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"And there you have it. You have computed the velocity __and position__ over time from Newton's second law. We can now make plots of the computed variables. Note that we use the Matplotlib [`subplot()`](https://matplotlib.org/api/_as_gen/matplotlib.pyplot.subplot.html?highlight=matplotlib%20pyplot%20subplot#matplotlib.pyplot.subplot) function to get the two plots in one figure. The argument to `subplot()` is a set of three digits, corresponding to the number of rows, number of columns, and plot number in a matrix of sub-plots. "
]
},
{
"cell_type": "code",
"execution_count": 166,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 576x432 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# plot velocity and position over time\n",
"fig = plt.figure(figsize=(8,6))\n",
"\n",
"plt.subplot(211)\n",
"plt.plot(t, v, color='#0096d6', linestyle='-', linewidth=1) \n",
"plt.title('Velocity and position of \\nfreefalling object m=60-kg and c=0.25 kg/s. \\n')\n",
"plt.ylabel('$v$ (m/s) ')\n",
"\n",
"plt.subplot(212)\n",
"plt.plot(t, x, color='#008367', linestyle='-', linewidth=1) \n",
"plt.xlabel('Time (s)')\n",
"plt.ylabel('$x$ (m)');"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Exercise\n",
"\n",
"The initial height is 440 m, the height of the tip of the [Empire State Building](https://en.wikipedia.org/wiki/Empire_State_Building). How long would it take for the object to reach the ground from this height? How accurate is your estimation e.g. what is the error bar for your solution?"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Euler's method\n",
"\n",
"We first used Euler's method in [Module_01: 03_Numerical_error](https://github.uconn.edu/rcc02007/CompMech01-Getting-started/blob/master/notebooks/03_Numerical_error.ipynb). Here we will look at it with more depth. \n",
"\n",
"The eminent Swiss mathematician Leonhard Euler presented it in his book _\"Institutionum calculi integralis,\"_ published around 1770 [3].\n",
"\n",
"You can understand why it works by writing out a Taylor expansion for $x(t)$:\n",
"\n",
"\\begin{equation}\n",
"x(t+\\Delta t) = x(t) + \\frac{d x}{dt}\\Delta t + \\frac{d^2 x}{dt^2}\\frac{\\Delta t^2}{2} + \\frac{d^3 x}{dt^3}\\frac{\\Delta t^3}{3!}+\\cdots\n",
"\\end{equation}\n",
"\n",
"With $v=dx/dt$, you can see that the first two terms on the right-hand side correspond to what we used in the code above. That means that Euler's method makes an approximation by throwing away the terms $\\frac{d^2 x}{dt^2}\\frac{\\Delta t^2}{2} + \\frac{d^3 x}{dt^3}\\frac{\\Delta t^3}{3!}+\\cdots$. So the error made in _one step_ of Euler's method is proportional to $\\Delta t^2$. Since we take $N=T/\\Delta t$ steps (for a final time instant $T$), we conclude that the error overall is proportional to $\\Delta t$. \n",
"\n",
"#### **Euler's method is a first-order method** because the error in the approximation goes is proportional to the first power of the time increment $\\Delta t$.\n",
"\n",
"i.e.\n",
"\n",
"error $\\propto$ $\\Delta t$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Initial-value problems\n",
"\n",
"To get velocity and position from the acceleration data, we needed to know the _initial values_ of the velocity and position. Then we could apply Euler's method to _step in time_ starting at $t_0$, with time increment $\\Delta t$. This setting corresponds to the numerical solution of _initial-value problems_. \n",
"(We follow here the presentation in [4], p.86.)\n",
"\n",
"Consider the differential equation corresponding to an object in free fall:\n",
"\n",
"\\begin{equation}\n",
"\\ddot{y}=\\frac{c}{m}v^2-g,\n",
"\\end{equation}\n",
"\n",
"where the dot above a variable represents the time derivative, and $g$ is the acceleration of gravity. Introducing the velocity as intermediary variable, we can write:\n",
"\n",
"\\begin{eqnarray}\n",
"\\dot{y} &=& v \\nonumber\\\\\n",
"\\dot{v} &=& \\frac{c}{m}v^2-g\n",
"\\end{eqnarray}\n",
"\n",
"The above is a system of two ordinary differential equations, with time as the independent variable. For its numerical solution, we need two initial conditions, and Euler's method:\n",
"\n",
"\\begin{eqnarray}\n",
"y(t_0) = y_0, \\qquad y_{i+1} &=& y_i + \\dot{y} \\Delta t \\nonumber\\\\\n",
"v(t_0) = v_0, \\qquad v_{i+1} &=& v_i + \\dot{v} \\Delta t\n",
"\\end{eqnarray}\n",
"\n",
"It's so neatly symmetrical that it's just asking for a vectorized equation! Combine the two dependent variables into a vector of unknowns, $\\mathbf{y}$:\n",
"\n",
"\\begin{equation}\n",
"\\mathbf{y} = \\begin{bmatrix}\n",
"y \\\\ v\n",
"\\end{bmatrix},\n",
"\\end{equation}\n",
"\n",
"and write the differential equation in vector form, as follows:\n",
"\n",
"\\begin{equation}\n",
"\\dot{\\mathbf{y}} = \\begin{bmatrix}\n",
"v \\\\ \\frac{c}{m}v^2-g\n",
"\\end{bmatrix}.\n",
"\\end{equation}\n",
"\n",
"Equation (9) above represents the _state_ of the system, at any given instant in time. A code design for the numerical solution that generalizes to other changing systems (or _dynamical systems_) is to write one function that computes the right-hand side of the differential equation (the derivatives of the state variables), and another function that takes a state and applies the numerical method for each time increment. The solution is then computed in one `for` statement that calls these functions. "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Study the code below: the function `freefall()` computes the right-hand side of the equation, and the function `eulerstep()` takes the state and applies Euler's method to update it one time increment."
]
},
{
"cell_type": "code",
"execution_count": 197,
"metadata": {},
"outputs": [],
"source": [
"def freefall(state,c=0,m=60):\n",
" '''Computes the right-hand side of the freefall differential \n",
" equation, in SI units.\n",
" \n",
" Arguments\n",
" ---------- \n",
" state : array of two dependent variables [y v]^T\n",
" c : drag coefficient for object; default set to 0 kg/m (so no drag considered)\n",
" m : mass of falling object; default set to 60 kg\n",
" \n",
" Returns\n",
" -------\n",
" derivs: array of two derivatives [v, c/m*v**2-g]\n",
" '''\n",
" \n",
" derivs = np.array([state[1], -c/m*state[1]**2*np.sign(state[1])-9.81])\n",
" return derivs"
]
},
{
"cell_type": "code",
"execution_count": 198,
"metadata": {},
"outputs": [],
"source": [
"def eulerstep(state, rhs, dt):\n",
" '''Uses Euler's method to update a state to the next one. \n",
" \n",
" Arguments\n",
" ---------\n",
" state: array of two dependent variables [y v]^T\n",
" rhs : function that computes the right hand side of the \n",
" differential equation.\n",
" dt : float, time increment. \n",
" \n",
" Returns\n",
" -------\n",
" next_state: array, updated state after one time increment. \n",
" '''\n",
" \n",
" next_state = state + rhs(state) * dt\n",
" return next_state"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Numerical solution vs. experiment\n",
"\n",
"Use the `freefall()` and `eulerstep()` functions to obtain a numerical solution with the same initial conditions as the falling-ball experiment from [Lesson 1](./01_Catch_Motion.ipynb), and compare with the experimental data. \n",
"\n",
"In [Lesson 1](./01_Catch_Motion.ipynb), we had considered only the acceleration due to gravity. So before we get into the specifics of the effects on drag, leave c=0 so that we have a constant acceleration problem, \n",
"\n",
"$\\ddot{y} = -g$\n",
"\n",
"and our vector form is \n",
"\n",
"\\begin{equation}\n",
"\\dot{\\mathbf{y}} = \\begin{bmatrix}\n",
"v \\\\ -g\n",
"\\end{bmatrix}.\n",
"\\end{equation}\n"
]
},
{
"cell_type": "code",
"execution_count": 310,
"metadata": {},
"outputs": [],
"source": [
"filename = '../data/fallingtennisball02.txt'\n",
"t, y = np.loadtxt(filename, usecols=[0,1], unpack=True)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We'll need to use the same time increment, so let's compute it from two time samples. The initial position is the first value of the `y` array, while the initial velocity is zero. And we'll only look at the section of data before the ball bounces from the ground, which gives us the number of time steps."
]
},
{
"cell_type": "code",
"execution_count": 311,
"metadata": {},
"outputs": [],
"source": [
"#time increment\n",
"dt = t[1]-t[0]"
]
},
{
"cell_type": "code",
"execution_count": 312,
"metadata": {},
"outputs": [],
"source": [
"y0 = y[0] #initial position\n",
"v0 = 0 #initial velocity\n",
"N = 576 #number of steps"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now, let's create a new array, called `num_sol`, to hold the results of the numerical solution. The array has dimensions `Nx2`, with each two-element row holding the state variables, $(y,v)$, at a given time instant. After saving the initial conditions in the solution array, we are ready to start stepping in time in a `for` statement. Study the code below."
]
},
{
"cell_type": "code",
"execution_count": 314,
"metadata": {},
"outputs": [],
"source": [
"#initialize array\n",
"num_sol = np.zeros([N,2])"
]
},
{
"cell_type": "code",
"execution_count": 315,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([ 1.6 , -0.00981])"
]
},
"execution_count": 315,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#Set intial conditions\n",
"num_sol[0,0] = y0\n",
"num_sol[0,1] = v0\n",
"eulerstep(num_sol[0],freefall,dt)"
]
},
{
"cell_type": "code",
"execution_count": 316,
"metadata": {},
"outputs": [],
"source": [
"for i in range(N-1):\n",
" num_sol[i+1] = eulerstep(num_sol[i], freefall, dt)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Did it work? Exciting! Let's plot in the same figure both the numerical solution and the experimental data. "
]
},
{
"cell_type": "code",
"execution_count": 317,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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Dz6oBQUFhct+++03PeGEExTQu+++OyrfJZdcUri9O++8U4PBYJF9ePXVVxXQSy65JOr1KVOmFObt16+fbt26tXDZ//73P83MzFSfz6cHHXSQDh8+XAOBQOHy5557TgHt0KFDke2de+65CujZZ5+tmzdvLnw9EAjoLbfcooD2798/bhkBPfXUUzUvL69w2fr167V169YK6Ouvvx53H2LXF+nrr7/WhQsXFnl92bJlheudPXt21LLw+5ibm5twvbF27dqlLVu2VEBvv/12DYVChcumTp2qtWvXLtzHWB999JH+/PPPRV5///33NTMzU3NycnTnzp1Ry+K9r8s35um3a7fot2u36MK1v+mkd17VlbMn6o51i3TB2s2Fy157/1OtW6+eZmRm6tq1a1Pex1gVfe1JBTBXK8E1vCY+akTzhKlZBg4cmHC4ZcOGDYuk79evHyNHjiQvL49zzjmHNWvWcMEFFxAKhXjppZfo2LFjwm2NGDGCgw8+uPD/rKwsnnvuORo0aMCcOXOYNWtW4bLRo0ezcuVKzjnnHG6//XYyMvZV9OXk5DBmzBgyMzN5/vnnca6L0bp06cK9996Lz1fy09bn8/Hiiy9G9Xvo0aMHp556KqFQiF27dvHoo49G3d/k6quvJicnhxUrVkQ1tyxevJi3336b3Nxcxo4dS6NGjQqX+f1+HnroIbp37860adNYsGBBkbLUrVuXl19+OeoGbC1atChsApo8eXKJ969Pnz507dq1yOudOnVixIgRAIwbN67E6401btw41q9fT4cOHbjvvvuihlb279+fYcOGJcw7aNAgmjZtWuT1008/naFDh7J582amTJlSbBli74zZ+sjTaNGqNXVkb9R0090P6815l/yRQEEBo8a8VbIdNSaBGtM8YWqOZEMuE1Xn33777UyfPp1JkybRvXt3tm3bxtVXX825556bdFsXXXRRkdcaNGjAaaedxhtvvMHUqVPp27cvAB9++CFAVBV0pBYtWtCpUycWL17MDz/8wIEHHhi1/He/+12pb1qWm5vLQQcdVOT1cEB03HHHFWkSycjIoF27dmzevJkNGzbQpk0bAD766CMATjvtNPbbr+j0Jz6fj379+vHdd9/x5Zdf0q1bt6jlvXr1ivv+hJsbNmzYUIo9hD179jBp0iTmzJnDpk2b2LvXGeD0008/AbBs2bJSrTfStGnTADjvvPPivhcXX3wxf/vb3xLm//XXX5k4cSILFy5k69atBAIBABYuXFhYxsGDBxdbjg5N6rJo/TaCqhSQwYK8enz/+b9ZsPh7NmzZzbZ8J7Bcs2oFACt/XM6KX3bQoYndKdeUjQUNptopzZDLcP+G9u3bs23bNg4++ODCToaJNGzYMG7NBVDYlr9u3brC13788UcgcdAQadOmTUWChtzcZBObJteqVau4r4d/7Re3fM+efX1Zwvvx/PPP8/zzzyfdbrwOkeHgI1b9+vWLbCtVX375Jeecc07U8Y61ffv2Eq83Vnj97drFvylusomiXnjhBW688cakt5ouSRm7tmzAovXb+OzjD7j7puvYtrXoFNNhO/LyCid/ssDBlIUFDSauFg1rxe302KJhrTipq4cJEyawY4czo966desKq6HLIrL6OjxKYfDgwTRunHyW8f3337/Ia/F+1YimWLoAACAASURBVKequCaNkjR5hPejV69eHHLIIUnTxmsyKE3zSjK7du1iyJAhbNy4kSuuuIJrrrmGjh07Uq9ePXw+H5988gknn3xy3CafdEs0E+TcuXO55ppryMjI4LHHHuP000+nVatW1K5dGxHhjjvu4KGHHipxGRtoHrdddyV79uzm8mtvYOjvTuPoNtnUrbMfG6QJL74+nvtu+wu467XAwZSVBQ0mrneGHe11ESrUwoULGT58OFlZWQwdOpQ33niDc889ly+++CLuSAaArVu3sm3btrjzI6xatQpwmhzCWrduzdKlS7nmmmtSqoKurFq3dm7XMnDgQB577DGPSwPTp09n48aN9OrVK+6wx+XLl6dtWy1btgT2vb+xVq5cGff1cePGoapcf/313HTTTWkr48SJE9mzZzcnn/Y7ht92NwB5kkd9+ZWW+isbVxVtkrHAwZSFdYQ0Nd7OnTs555xz2L17N4888ghjx45l4MCBzJs3j5tvvjlp3jfeeKPIa9u2bWPixIkAUc0kp5xyCgDvvPNO+grvgfB+TJgwobBNvjyFg7ZE2wrP7RAOZmKlc56G/v37A/DWW28V1rhEivd5gORl3LRpE59++mncfKnu+0Ed2xXeGfM3rcdGbUh+fj6fffTfuPlsumlTWhY0mBrv2muvZcmSJZxxxhnccMMN+Hw+3njjDZo0acIzzzzDhAkTEuYdOXIkS5YsKfy/oKCA4cOHs23bNnr16kW/fv0Kl1111VW0bt2aMWPGcPfdd8dt2164cCGvvvpqencwzXr27MmZZ57J8uXLE/Yj+Omnn3jqqafSElSEf90vX7487vrCHSg///xzvv/++8LXQ6EQI0eOjBrBUlZnn302zZs3Z/ny5dxzzz1RzQkzZ87kH//4R9x84TKOHTu2sAkMIC8vj8svv5ytW7fGzRfe98jPWLz1jh8/nsYZewoDh3V763DVXU/y42rnvfERisqn6swaaUxJWfOEqXYefvhhRo8enXD5BRdcwEknnQQ4F/ExY8bQunXrqC/r5s2b89prrzFo0CAuv/xyDjvssCIdEdu0aUOvXr049NBDOe6442jQoAFffvkla9asoXHjxowdG3V/NOrWrcsHH3zAaaedxsiRI3nuuefo3r07zZo1Y+PGjaxcuZJVq1ZxxBFHFM4EWFmNGTOGM844g/fee4+PPvqIHj16kJuby/bt21m7di1LliwhFAoxbNiwqKGlpZGbm8thhx3GN998Q/fu3enVqxfZ2dl07tyZm2++mZ49e3L66afz3//+l0MPPZSBAwcWDnlds2YNt9xyC48++mha9rt27dq8/vrrDB48mPvvv59x48YVTu40ffp0hg8fzpNPFr31zGWXXcZTTz3F/Pnzad++Pf369UNVmT59OllZWVx++eW88sorRfIdeeSRNGvWjPnz59O7d2+6du1KZmYmffv25bLLLuOMM84oPDadOnViwIAB7FU/38z5ih152xl2+cWMeuU16spu/IQIRvxOtOmmTWlYTYOpdiZNmsSYMWMSPsKz9n3//ff86U9/IiMjgzfffJOcnJyo9Zx00knceuutbNmyhfPOO6/IFM8iwr///W9GjBjBjz/+yIQJE9i9ezcXXXQRc+bMiZq/Iaxbt2589913PPjgg3Tq1In58+fz7rvvsmzZMpo1a8aIESN48cUXy+/gpEn9+vWZPHkyY8eO5dhjj2XFihW8++67zJs3j4yMDIYNG8akSZOoVSs9HWffffddzjnnHDZv3sybb77Jyy+/zAcffFC4fNy4cTz88MN07NiRqVOnMnnyZLp27crMmTMLm1PS5bjjjmP27NmcccYZ/Pzzz0yYMIEtW7bw/PPPJxxu2ahRI+bOnctVV11VGDzOnTuX3//+98yfPz9h00p2djYff/wxgwcPZuXKlbz++uu8/PLLhUM/MzIymDZtGrfccgvNmzfnk08+4Zuvv6TXEUfx1odTaNX1cAD8KLmyESG6o2VQ1W6nbUpEKqJHsYmvd+/eOnfu3JTSLlmyJO44e1PxVq1aRbt27cjNzU3YIc4YL634ZQc7852mnEwCdJQNZEqQLVqXtXpAkfR+kf9v786jo6jSxo9/n2wkIQtgAAUiEaIEEQUEBEUWAUFBxWEd+SmruACigiDyw21QkAEGZdhEnYA7iy+jgorMC7jCgIAiggiSBBQR2SRCAunc94+qjkm6k3SS7jTpfj7n9KnTXbdu3cpNdz9ddyvyjsP5+NkjIl8ZY1r6uxzBSO80KKVUgMk/a+Q5wkgzF+IwQnXJpLa4zufg0D4OykMaNCilVADKHzicIYIMUwtjoLacoDquTRLaVKE8oUGDUkoFqIa1YvJGVJwimp+xJg2rK0eI4YxLeuccDkoVRYMGpUopKSkJY4z2Z1CVQpO68fnmcIjjiIknRKC+/Eok51zS6xwOqjgaNCilVIBrUjc+r6nikKnBSVOVUMklSX4hjIJBgs7hoIqjQYNSSgWB/E0VB0xN/jBViJAckuQwIW6GYmrgoNzRoEEppYKEs6kiFyHd1CbbhBEt2SSK62qk2jFSuaNBg1JKBZEmdeMREXIItYdihhAvf7gdivnH2RyOnMr2QynV+UqDBqWUCjLR4aEAZBNeYChmNTdDMbNzcum74IuKLqI6T2nQoJRSQSb/HA6niMobillPfiMa1zsLW9NPaOCgAA0alFIqKOXvGHnUxPGbiSNErDUqIii4mqjDGDanHdfAQWnQoJRSwSr/HA6HzAWcMlGEi4P6cthlOW2Arw/oiIpgp0GDUkoFMWfHSANkmFpkmXCi5CwXyxGkUNqzjlyueOJDfxRTnSc0aFBKqSDn7BjpIIQ0U5scE0KcnOZCOeaSNjPboYFDENOgQQWMpKQkRAQRYdWqVUWmu+KKKxAR1q9fX3GFO488+eSTiAhPPvmkX84/ePBgRITU1FS/nL8oqampiAiDBw+usHP6uy6cnB0jRYSzhJNuapNroKacpKpkuaTPzHZo/4YgpUGDCkgTJ04kN9e1TVapipKWloaIkJSU5O+ieKRhrRia2k0VfxDJzyQAUI1MrpFdLum1Y2Rw0qBBBZzo6Gh27NjB66+/7u+inJdGjRrFrl27GDVqlL+LEvTOx7pwNlUcM7EcMfEIhgUR/yBRDruk1Y6RwUeDBhVwHnjgAQCeeOIJzp496+fSnH8SEhJISUkhISHB30UJeudjXeSfw+EXU4MsIqgumSwKn0U0BZsqtGNk8NGgQQWc3r1707p1a/bv38+CBQs8Pq5jx47F9nUoqi0+/+s7d+6kd+/e1KxZk5iYGNq1a8e6devy0r7//vt06NCB+Ph44uLiuPXWW/nhhx+KLNOBAwcYM2YMjRo1Iioqiri4OK677jpSU1Mxxrikz38Nn3zyCT169CAhIYGQkBBWrlwJlNyOvmvXLkaMGEFycjJRUVFUr16dK6+8knHjxpGenl4g7YoVKxg6dChNmjShWrVqREZGkpyczMiRIzlw4ECR11VaDoeDBQsWcO211xIfH09ERAS1a9emRYsWjB07liNHXNdOSE9P5/7776dBgwZUqVKF6tWr06lTJ954441Snbukvg7r169HROjYsWPea4MHD+aSSy7JK4ezr03h5oqS6mLVqlXcdNNNJCQkEBERQWJiIoMGDWLXLtfmAvizX09aWhoff/wxnTt3Jj4+nujoaNq0acO7777r0TU753AwWHcc9ubWISXkALPC5yOFhmJq/4bgokGDCkjTpk0D4JlnniEzs2IW3dmyZQutW7dmz549dO7cmUaNGvH555/TrVs3Pv30U+bMmcNtt92GMYZu3bpRo0YN3nvvPdq3b8/Ro0dd8lu3bh1NmzblhRdeIDc3l+7du3PNNdfwzTffMGTIEAYNGlRkWZYtW0anTp3IyMiga9eudO7cmfDw8BKvYcmSJTRr1oxFixZhjKFnz5506NCB3NxcZs6cWSAAAujfvz9Lly6latWqdOnSha5du5Kdnc28efNo0aIFe/bsKf0f0o1hw4Zx3333sX37dq655hr69OnDVVddxcmTJ5k1axb79u0rkH7Tpk00a9aM+fPnA3D77bfTsmVLPv/8cwYOHMhdd93lNujylnbt2tG7d28AqlatyqBBg/Ieffr08SiPiRMn0rNnT9asWUOTJk3o06cP8fHxLFmyhBYtWhTb2ffll1+mW7duZGZmcvPNN5OSksKmTZvo1asXy5cv9+j8fy5uFcLd58byu4mme+hmRoeudEmr/RuCR5i/C6C85Ml4f5egbJ70TZtop06duPHGG1mzZg0zZ87kiSee8Ml58ps7dy4zZ87k4YcfznttwoQJTJ8+neHD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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"fig = plt.figure(figsize=(6,4))\n",
"plt.plot(t[:N], y[:N], 's', alpha=0.8, label='Experimental data')\n",
"plt.plot(t[:N], num_sol[:,0], linewidth=2, linestyle='-', label='Numerical solution')\n",
"plt.xlabel('Time (s)')\n",
"plt.ylabel('$y$ (m)')\n",
"plt.title('Free fall tennis ball (no air resistance) \\n')\n",
"plt.legend();"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The two lines look very close… but let's plot the difference to get understand the [error](https://github.uconn.edu/rcc02007/CompMech01-Getting-started/blob/master/notebooks/03_Numerical_error.ipynb)."
]
},
{
"cell_type": "code",
"execution_count": 318,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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BiEikidKnERERArcojVVfPPuGdTU+Rb0RvYr5w9n7Utpiap5EZF80R5VRESkgG2oqmXK1DdZu6UGgD7lpdw1ZX92KusUcWQiIu2LEicREZECtbWmnq//dTrzV20BoLSkiDvOmcjwPmpBT0Qk35Q4iYiIFKDa+ga+d//bvLVwXeNvvzptPPvu3CvCqERE2i8lTiIiIgWmocHxo8fe5fnZKxt/++kJe3Di+MERRiUi0r4pcRIRESkw1z87m8ffXtr4/XtHjlSz4yIiLUyJk4iISAH5w7R53PHi/Mbvp+83jO8fOzrCiEREOgYlTiIiIgXintcXcv0/Zzd+/9zYAVx70p56V5OISCtQ4iQiIlIAHpq+iJ8++X7j9wN26c0tp0+gpFhVuYhIa9DeVkREpI17bMYSrnj8vcbv44f15E/nTqRLp+IIoxIR6ViUOImIiLRhT81cyg8enYVz/vueQ3pw9/n7072LXnArItKalDiJiIi0Uc+8t4zLHp5FQ5A07T6oB/d+/QB26qqkSUSktSlxEhERaYOemrmUix54h/ogaxo1oBv3fn1/epaVRhyZiEjHVBJ1ACIiIrK9h6cv5kePv9t4e96IfuXc+40D6NOtc7SBiYh0YEqcRERE2pCpr3zK1X//sPH7qAHduPcbB9C/e5cIoxIRESVOIiIibcTtlfO44dn4e5p8QxAH0Ltct+eJiERNiZOIiEjEnHPc9O85/P6FeY2/7TO8J3edt78aghARaSOUOImIiESotr6Bnzz+Ho/MWNL420Ej+vCncydS3lnVtIhIW6E9soiISESqauq44L63qZyzqvG3I0f34/az9tXLbUVE2hglTiIiIhFYs3kb50+dzqwlGxp/+8rEoVx38jg6FettISIibY0SJxERkVa2YPUWptz1JgvWVDX+dtFRu3LZMaMwswgjExGRVJQ4iYiItKJX563mu/e+zYattQAUGVzzpT0568CdI45MRETSUeIkIiLSSu57YyE/e+oD6hr8m207lxTx2zMm8LmxAyOOTEREMlHiJCIi0sLq6hu49umPmPrqgsbf+nfvzB3nTGTvYT2jC0xERLKmxElERKQFra+q4aIH3uGluasbf9tzSA/uPGcig3bqGmFkIiLSFEqcREREWsh7SzbwnXtnsHT91sbfjh83kJtOG09ZqapgEZFCor22iIhInjnneHD6Yn72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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"fig = plt.figure(figsize=(6,4))\n",
"plt.plot(t[:N], y[:N]-num_sol[:,0])\n",
"plt.title('Difference between numerical solution and experimental data.\\n')\n",
"plt.xlabel('Time [s]')\n",
"plt.ylabel('$y$ [m]');"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Exercise\n",
"\n",
"Create a plot of the analytical solution for y-vs-t for an object that accelerates due to gravity, plot the difference between the analytical solution and the experimental data with the plot above. \n",
"\n",
"_Hint: remember the kinematic equations for constant acceleration_ $y(t) = y(0) + \\dot{y}(0)t - \\frac{gt^2}{2}$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Air resistance\n",
"\n",
"In [Lesson 1](./01_Catch_Motion.ipynb) of this module, we computed the acceleration of gravity and got a value less than the theoretical $9.8 \\rm{m/s}^2$, even when using high-resolution experimental data. \n",
"\n",
"We did not account for air resistance. When an object moves in a fluid, like air, it applies a force on the fluid, and consequently the fluid applies an equal and opposite force on the object (Newton's third law).\n",
"\n",
"This force is the *drag* of the fuid, and it opposes the direction of travel. The drag force depends on the object's geometry, and its velocity: for a sphere, its magnitude is given by:\n",
"\n",
"\\begin{equation}\n",
" F_d = \\frac{1}{2} \\pi R^2 \\rho C_d v^2,\n",
"\\end{equation}\n",
"\n",
"where $R$ is the radius of the sphere, $\\rho$ the density of the fluid, $C_d$ the drag coefficient of a sphere, and $v$ is the velocity.\n",
"\n",
"In the first module, we used the constant $c$, where $c= \\frac{1}{2} \\pi R^2 \\rho C_d$."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We can update our defintion for drag with this _higher fidelity_ description of drag\n",
"\n",
"With $F_{\\text{drag}} = m a_{\\text{drag}}$:\n",
"\n",
"\\begin{equation}\n",
" a_{\\text{drag}} = \\frac{1}{2m} \\pi R^2 \\rho C_d v^2\n",
"\\end{equation}\n",
"\n",
"Finally, we can write our differential equation as:\n",
"\n",
"\n",
"\\begin{equation}\n",
"\\dot{\\mathbf{y}} = \\begin{bmatrix}\n",
"v \\\\ -g + a_{\\text{drag}}\n",
"\\end{bmatrix}.\n",
"\\end{equation}\n",
"\n",
"Let's write a new function for this modified right-hand side of a falling tennis ball with air resistance."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"##### Note:\n",
"\n",
"According to the International Tennis Federation, [ITF](http://www.itftennis.com/home.aspx), the diameter of a tennis ball has to be in the range of $6.54$–$6.86 \\rm{cm}$, and its mass in the range of $56.0$–$59.4 \\rm{g}$. We chose a value in the middle of the range for each quantity."
]
},
{
"cell_type": "code",
"execution_count": 319,
"metadata": {},
"outputs": [],
"source": [
"def fall_drag(state,C_d=0.47,m=0.0577,R = 0.0661/2):\n",
" '''Computes the right-hand side of the differential equation\n",
" for the fall of a ball, with drag, in SI units.\n",
" \n",
" Arguments\n",
" ---------- \n",
" state : array of two dependent variables [y v]^T\n",
" m : mass in kilograms default set to 0.0577 kg\n",
" C_d : drag coefficient for a sphere default set to 0.47 (no units)\n",
" R : radius of ball default in meters is 0.0661/2 m (tennis ball)\n",
" Returns\n",
" -------\n",
" derivs: array of two derivatives [v (-g+a_drag)]^T\n",
" '''\n",
" \n",
" rho = 1.22 # air density kg/m^3\n",
" pi = np.pi\n",
" \n",
" a_drag = -1/(2*m) * pi * R**2 * rho * C_d * (state[1])**2*np.sign(state[1])\n",
" \n",
" derivs = np.array([state[1], -9.8 + a_drag])\n",
" return derivs"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Assume the same initial conditions as before:"
]
},
{
"cell_type": "code",
"execution_count": 320,
"metadata": {},
"outputs": [],
"source": [
"y0 = y[0] # initial position\n",
"v0 = 0 # initial velocity\n",
"N = 576 # number of steps"
]
},
{
"cell_type": "code",
"execution_count": 321,
"metadata": {},
"outputs": [],
"source": [
"# initialize array\n",
"num_sol_drag = np.zeros([N,2])"
]
},
{
"cell_type": "code",
"execution_count": 322,
"metadata": {},
"outputs": [],
"source": [
"# Set intial conditions\n",
"num_sol_drag[0,0] = y0\n",
"num_sol_drag[0,1] = v0"
]
},
{
"cell_type": "code",
"execution_count": 323,
"metadata": {},
"outputs": [],
"source": [
"for i in range(N-1):\n",
" num_sol_drag[i+1] = eulerstep(num_sol_drag[i], fall_drag, dt)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Time to plot and see how it looks! Would you expect the results to be better than in the previous case? Let's plot the three cases and check the differences."
]
},
{
"cell_type": "code",
"execution_count": 324,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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Wmv/NddcQ//+/dmxYwdbt27ljjvuaFBamsKWLVsA6z2TO9OmTeOZZ54hIyODyspKQkJCqu2/+eab3d6f1NRUNm7c6PX9/+yzzygsLHRVC9bUo0cPevTowRdffOExjltuuaVW+qoyxrBt2za2bt1KdnY2JSUlricGsH4UVeW8Nz/96U/dFo5TpkzhmWee8ebyvCNCcWgcR0tOYMcQcvYYyS07QiPfwQUSLchUQHrqqad46623ePnll3nkkUdISUnx27nat2/vdntMTAx5eXlu9zvfDZ0/f9617dSpU/zqV7+qFXbIkCFMnz4dgJdeeokxY8awevVqVq9eTcuWLenfvz+jRo3irrvuom3btq7jjh8/DlgNLDzp0qULO3bscIUNNPVdQ6dOnbDZbJw/f568vLxqT0qAx1aQcXFWA4aq978u2dnZdaYDrL5ydRVkdf0N5ubm8pOf/ITt27d7DHP2bPXJL533xlO8/vibP1Ncib0sAcJPc7KimMjCHOJiL/P5eZqaVi2qgNS1a1emT59OaWkp8+bNu6C46mvd5u7XcEP2OxUWFrJy5cpaS0ZGhivM1VdfzVdffcW6det45JFHuOqqq9i0aROzZ8+mS5cuvPfee66wzl/ydVV5OcP4gj86ontzDXXx9t43hRYtPDeQmD59Otu3b2fw4MH885//5MSJE5SVlWGMobS07pE1PN0bf1x7u/hIIkJjkQrrh1h26RnOl5z2+XmaWuD8lShVw7x584iKiuL1119n//79HsOFh4cDVkHijrPpuL917NjR7Yvoms3+w8LCGDt2LM899xw7d+7kxIkTzJo1i+LiYn7+85+7wjmfBL/99luP5zx8+DAAl19+eb3pa477VN81HDlyBLvdTmRkpN9aXsIP96eukUkaO2pJUVER7777LiEhIaxfv54f//jHtG7dmrCwMAAOHTrk9rjLLrOehDzdd3+MomITIaVVFGISsFVGYIBjxd9TUVbk83M1JS3IVMBq164ds2bNwm6389vf/tZjOOeX1MGDB2vty83Ndds3K5AkJCTwH//xH9hsNr777jtXA5ehQ4ciIuzYsaPW+xWAzMxMdu7cic1m4/rrr6/3PK1btyY8PJy8vDy3jWjeffddj8c6C8GKigpvLwuA9PR0AI8jfixfvhywql9DQ/33pqNv375ER0eTnZ3N1q1ba+3fv38/X375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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"fig = plt.figure(figsize=(6,4))\n",
"plt.plot(t[:N], num_sol[:,0], linewidth=2, linestyle='--', label='Num-solution no drag')\n",
"plt.plot(t[:N], y[:N], linewidth=2, alpha=0.6, label='Experimental data')\n",
"plt.plot(t[:N], num_sol_drag[:,0], linewidth=2, linestyle='--', label='Num-solution drag')\n",
"\n",
"plt.title('Free fall tennis ball \\n')\n",
"\n",
"plt.xlabel('Time [s]')\n",
"plt.ylabel('$y$ [m]')\n",
"plt.legend();"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"All the lines look very close… but let's plot the differences with the experimental data in both cases, to get an idea of the error."
]
},
{
"cell_type": "code",
"execution_count": 325,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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qmc2kSxzzvHQ6+Hb9M49NF+df4hIjajiJCKSQS1btmTJkiXMmjUr26GI7NEWrdjIx1/7TiFaNM3h5KHdsxyRiDR0qjiJiGTQpEmTALj++uvZtWtXlqMR2XPNeiPc2vS976hTCBGpOVWcREQy6LTTTmPEiBEsX76ce+65p1rjlpaWctddd3HIIYfQtm1bWrRowcCBA5k8eTIbNmxIK5558+Zx9NFH07ZtW9q0acOoUaP417/+FTd95LNPZWVl3HrrrRx44IG0atWK9u3bV6Z74403+PnPf87w4cPZe++9adasGd26deP000/n9ddfT7iMN998MwMHDqR58+bss88+XHDBBaxcuZKpU6diZkydOjWtZRUJ2bBtF88s+bLy+7mH9MpiNCLSWKjiJCKSYdOmTQPgpptuYuvWrSmNU1JSwrhx47j88st5//33GTNmDCeeeCLffvstN998M8OGDePzzz+vVhyPPPIIhYWFvPDCC/Tr148TTzyRsrIyTj31VKZPn55wXOccp512GlOmTKFLly6cdNJJDB48uHL4lClTuOOOOygtLWXEiBGcdNJJ7LXXXjz++OOMHj2a2bNnV5lmeXk5J510EpMnT2bFihV897vfZezYsbz00kscdNBBrFixolrLJxLP44tWs6vMP2d4YI927N+jXZYjEpHGIDfbAYhI41AwOX5PcvVd8bTjMzq9I444gnHjxvHcc89x2223cf311ycd57rrrqOoqIgBAwbwwgsv0L27fx5jx44dnHfeeTzxxBOce+65vPbaaynF8MUXX/CjH/2IiooKZsyYwU9+8pPKYf/85z8555xzEo6/cqW/zemDDz6gX79+VYZfffXVzJo1i7333nu33+fMmcNpp53GT37yE44//nhatmxZOezOO+/k2WefpVevXrz88sv07t0bgJ07dzJ+/HhmzpyZ0rKJJFJR4Zj1RrgSrtYmEckUtTiJiNSC3/3ud5gZt912G2vXrk2YdseOHcyYMQOA6dOnV1aaAFq0aMG9995Lq1ateP3111mwYEFK83/ggQfYunUrY8eO3a3SBHDWWWdx8sknp7QMsSpNAMccc0yVShPAiSeeyBlnnMGGDRt4+eWXdxsWauW68cYbKytNAHl5edx11120atUqaUwiybz62XqK128HoE3zXE44sGuWIxKRxkIVJxGRWjBs2DDOPPNMtmzZwk033ZQw7aJFi9i6dSvdunXj6KOPrjK8U6dOnHjiiQApv/9p7ty5AJx33nkxh59//vlJp3HKKackHL5u3TpmzpzJ1VdfzcUXX8z48eMZP34877//PgCffPJJZdpVq1axfPlycnJyOOuss6pMa6+99oq57CLVFdnadNqwHrRspptrRCQzdDQRkYzI9O1ujcGNN97I448/zj333MOVV15Jr16xbxlas2YNwG6tMNH69u27W9pkVq9enXCayV5826VLF1q0aBF3+L333stVV13F9u3b46bZvHlz5f+huLt27UrTprF7N4u3fkRS9c3mEp778OvK7+cckp/FaESksVGLk4hILenXrx8XX3wxO3fu5LrrroubzjkHkPDlnKE0dSVRpWnhwoVMmDCB0tJSbrnlFj766CO2bt1KRUUFzjmuvfZaIHbMiZaxSRMVSVIzs95YSXmFz3cjenek/95tshyRiDQmKqVERGrRddddR8uWLXnooYcqb2GL1qNHDwCWL18edzqhYZHPPyUSSldcXBxzeLzfU/HYY4/hnGPSpElcffXV7LfffrRq1aqyUrRs2bIq43Tr1g3wnVaUlpZmPCaRXWUVu7276fxD1YIpIpmlipOISC3q2rUrV1xxBRUVFfzyl7+Mmeaggw6idevWrFmzhhdffLHK8PXr1zNnzhwACgsLU5rv2LFjAZg1a1bM4fF+T0XonVI9e/asMmzt2rU8//zzVX7Pz8+nV69elJeXx+yqfMOGDTHHE0nVf5Z8ybqtOwHYu20exwzZJ8sRiUhjo4qTiEgtu+aaa+jYsSNz5syJ2arUokWLyp7vrrjiCr78MvzizpKSEiZMmMDWrVs59NBDGTVqVErz/OEPf0irVq14+eWXuf/++3cb9thjj/HEE0+kvTwDBgwA4MEHH9ztPVVbtmzhoosu4ttvv4053uWXXw74d0BFvrNp165dTJo0KeV3XonEMvPV4sr/zzukF01zdIojIpmlo4qISC1r164dkydPBojbmcINN9xAYWEhH3zwAfvuuy8nnXQSZ511Fn369GH27Nnk5+dXq5Woe/fu3HPPPTRp0oRLLrmEgw46iHPOOYeRI0dyxhlncMUVV6S9PBdeeCE9e/Zk8eLF9OnTh1NPPZVTTjmFgoICFi5cyEUXXRRzvCuuuIJx48ZRXFzMwIEDOeGEEzjrrLPo27cvzz77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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"fig = plt.figure(figsize=(6,4))\n",
"plt.plot(t[:N], y[:N]-num_sol[:,0], label='No drag')\n",
"plt.plot(t[:N], y[:N]-num_sol_drag[:,0], label='With drag')\n",
"plt.title('Difference between numerical solution and experimental data.\\n')\n",
"plt.xlabel('Time [s]')\n",
"plt.ylabel('$y$ [m]')\n",
"plt.legend();"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Discussion\n",
"\n",
"* What do you see in the plot of the difference between the numerical solution and the experimental data?\n",
"\n",
"* Is the error plotted above related to truncation error? Is it related to roundoff error?"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## What we've learned\n",
"\n",
"* Integrating an equation of motion numerically.\n",
"* Drawing multiple plots in one figure,\n",
"* Solving initial-value problems numerically\n",
"* Using Euler's method.\n",
"* Euler's method is a first-order method.\n",
"* Freefall with air resistance is a more realistic model."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## References\n",
"\n",
"1. _Elementary Mechanics Using Python_ (2015), Anders Malthe-Sorenssen, Undergraduate Lecture Notes in Physics, Springer. Data at http://folk.uio.no/malthe/mechbook/\n",
"\n",
"2. _The Physics Hyptertextbook_ (n/a), Glenn Elert, [Acceleration](https://physics.info/acceleration/)\n",
"\n",
"3. Euler method. (2017, October 13). In Wikipedia, The Free Encyclopedia. Retrieved 01:21, November 10, 2017, from https://en.wikipedia.org/w/index.php?title=Euler_method&oldid=805120184\n",
"\n",
"4. _Computational Physics with Python_, lecture notes by Eric Ayars, California State University, Chico. Available online on the author's website: https://physics.csuchico.edu/ayars/312/handouts/comp-phys-python.pdf"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Problems\n",
"\n",
"1. Integrate the `fall_drag` equations for a tennis ball and a [lacrosse ball](https://en.wikipedia.org/wiki/Lacrosse_ball) with the same initial conditions as above. Plot the resulting height vs time. \n",
"\n",
"_Given:_ y(0) = 1.6 m, v(0) = 0 m/s\n",
"\n",
"|ball| diameter | mass|\n",
"|---|---|---|\n",
"|tennis| $6.54$–$6.86 \\rm{cm}$ |$56.0$–$59.4 \\rm{g}$|\n",
"|lacrosse| $6.27$–$6.47 \\rm{cm}$ |$140$–$147 \\rm{g}$|\n",
"\n",
"Is there a difference in the two solutions? At what times do the tennis ball and lacrosse balls reach the ground? Which was first?"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"![Projectile motion with drag](../images/projectile.png)\n",
"\n",
"The figure above shows the forces acting on a projectile object, like the [lacrosse ball](https://en.wikipedia.org/wiki/Lacrosse_ball) from [Flipping Physics](http://www.flippingphysics.com) that we analyzed in [lesson 01_Catch_Motion](./01_Catch_Motion.ipynb). Consider the 2D motion of the [lacrosse ball](https://en.wikipedia.org/wiki/Lacrosse_ball), now the state vector has two extra variables, \n",
"\n",
"\\begin{equation}\n",
"\\mathbf{y} = \\begin{bmatrix}\n",
"x \\\\ v_x \\\\\n",
"y \\\\ v_y \n",
"\\end{bmatrix},\n",
"\\end{equation}\n",
"\n",
"and its derivative is now, \n",
"\n",
"\\begin{equation}\n",
"\\dot{\\mathbf{y}} = \\begin{bmatrix}\n",
"v_x \\\\ -c v_x^2 \\\\\n",
"v_y \\\\ g - cv_y^2 \n",
"\\end{bmatrix}, \n",
"\\end{equation}\n",
"\n",
"where $c= \\frac{1}{2} \\pi R^2 \\rho C_d$. "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"2. Create a `projectile_drag` function that returns the derivative of $\\mathbf{y}$, given $\\mathbf{y}$ e.g. \n",
"\n",
" $\\mathbf{\\dot{y}} = projectile\\_drag(\\mathbf{y})$\n",
" \n",
" Below is the start of a function definition, be sure to update the help file. \n",
" \n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 241,
"metadata": {},
"outputs": [],
"source": [
"def projectile_drag(state,C_d=0.47,m=0.143,R = 0.0661/2):\n",
" '''Computes the right-hand side of the differential equation\n",
" for the fall of a projectile lacrosee ball, with drag, in SI units.\n",
" \n",
" Arguments\n",
" ---------- \n",
" state : array of two dependent variables [y v]^T\n",
" m : mass in kilograms default set to 0.143 kg (mass of lax ball source wiki)\n",
" C_d : drag coefficient for a sphere default set to 0.47 (no units)\n",
" R : radius of ball default in meters is 0.0661/2 m (tennis ball)\n",
" Returns\n",
" -------\n",
" derivs: array of four derivatives [?? ?? ?? ??]\n",
" '''\n",
" \n",
" rho = 1.22 # air density kg/m^3\n",
" pi = np.pi\n",
"\n",
" return derivs"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"3. Integrate your `projectile_drag` function using the Euler integration method. Use initial conditions from the saved data in lesson [01_Catch_Motion](01_Catch_Motion.ipynb), there is a numpy `npz` file in the data folder if you want to check your results from lesson 1. The initial conditions in the provided npz file are\n",
"\n",
"\\begin{equation}\n",
"\\mathbf{y}(0) = \\begin{bmatrix}\n",
"x(0) \\\\ v_x(0) \\\\\n",
"y(0) \\\\ v_y(0) \n",
"\\end{bmatrix}\n",
"= \\begin{bmatrix}\n",
" 0.5610~m \\\\ 2.6938~m/s \\\\\n",
"-0.1858~m \\\\ -0.0759~m/s \n",
"\\end{bmatrix},\n",
"\\end{equation}\n",
"\n",
"Compare your converged numerical integration to the data points in [projectile_coords.npz](../data/projectile_coords.npz). Is there a noticeable effect of drag on the lacrosse ball?"
]
},
{
"cell_type": "code",
"execution_count": 326,
"metadata": {},
"outputs": [],
"source": [
"npz = np.load('../data/projectile_coords.npz')\n",
"t3=npz['t']\n",
"x3=npz['x']\n",
"y3=npz['y']"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.5"
}
},
"nbformat": 4,
"nbformat_minor": 4
}