{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "

Free Vibration of a Mass-Spring-Damper System

\n", "

MCHE 485: Mechanical Vibrations

\n", "

Dr. Joshua Vaughan
\n", "joshua.vaughan@louisiana.edu
\n", "http://www.ucs.louisiana.edu/~jev9637/

" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

\n", "\t\"A
\n", " Figure 1: A Mass-Spring-Damper System \n", "

\n", "\n", "This notebook simulates the free vibration of a simple mass-spring-damper system like the one shown in Figure 1. More specifically, we'll look at how system response to non-zero initial conditions. \n", "\n", "The equation of motion for the system is:\n", "\n", "$ \\quad m \\ddot{x} + c \\dot{x} + kx = 0 $\n", "\n", "We could also write this equation in terms of the damping ratio, $\\zeta$, and natural frequency $\\omega_n$.\n", "\n", "$ \\quad \\ddot{x} + 2\\zeta\\omega_n\\dot{x} + \\omega_n^2x = 0$\n", "\n", "For information on how to obtain this equation, you can see the lectures at the [class website](http://www.ucs.louisiana.edu/~jev9637/MCHE485.html)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We'll use the solution to the differential equation that we developed in class to plot the response. The solution for the underdamped case is:\n", "\n", "$ \\quad x(t) = e^{-\\zeta\\omega_nt}\\left(a_1 e^{i \\omega_d t} + a_2 e ^{-i \\omega_d t}\\right) $ \n", "\n", "*or*\n", "\n", "$ \\quad x(t) = e^{-\\zeta\\omega_nt}\\left(b_1 \\cos{\\omega_d t} + b_2 \\sin{\\omega_d t}\\right) $\n", "\n", "To use this equation, we need to solve for $a_1$ and $a_2$ or $b_1$ and $b_2$ using the initial conditions. Here, let's use the sin/cosine form. Solving the equation for generic intial velocity, $\\dot{x} = v_0$, and a generic initial displacement, $x = x_0$, we find:\n", "\n", "$ \\quad x(t) = e^{-\\zeta\\omega_nt}\\left(x_0 \\cos{\\omega_d t} + \\frac{\\zeta \\omega_n x_0 + v_0}{\\omega_d} \\sin{\\omega_d t}\\right) $" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import numpy as np # Grab all of the NumPy functions with nickname np" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": true }, "outputs": [], "source": [ "%matplotlib inline\n", "\n", "# Import the plotting functions \n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# Define the System Parameters\n", "m = 1.0 # kg\n", "k = (2.0 * np.pi)**2. # N/m (Selected to give an undamped natrual frequency of 1Hz)\n", "wn = np.sqrt(k/m) # Natural Frequency (rad/s)\n", "\n", "z = 0.1 # Define a desired damping ratio\n", "c = 2*z*wn*m # calculate the damping coeff. to create it (N/(m/s))\n", "\n", "wd = wn*np.sqrt(1 - z**2) # Damped natural frequency (rad/s)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# Set up simulation parameters\n", "t = np.linspace(0, 5, 501) # Time for simulation, 0-5s with 501 points in-between\n", "\n", "# Define the initial conditions x(0) = 1 and x_dot(0) = 0\n", "x0 = np.array([-1.0, 0.0])" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# Define x(t)\n", "x = np.exp(-z*wn*t)*(x0[0]*np.cos(wd*t) + (z*wn*x0[0] + x0[1])/wd * np.sin(wd*t))" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# # Make the figure pretty, then plot the results\n", "# # \"pretty\" parameters selected based on pdf output, not screen output\n", "# # Many of these setting could also be made default by the .matplotlibrc file\n", "\n", "# Set the plot size - 3x2 aspect ratio is best\n", "fig = plt.figure(figsize=(6, 4))\n", "ax = plt.gca()\n", "plt.subplots_adjust(bottom=0.17, left=0.17, top=0.96, right=0.96)\n", "\n", "# Change the axis units to serif\n", "plt.setp(ax.get_ymajorticklabels(),family='serif',fontsize=18)\n", "plt.setp(ax.get_xmajorticklabels(),family='serif',fontsize=18)\n", "\n", "ax.spines['right'].set_color('none')\n", "ax.spines['top'].set_color('none')\n", "\n", "ax.xaxis.set_ticks_position('bottom')\n", "ax.yaxis.set_ticks_position('left')\n", "\n", "# Turn on the plot grid and set appropriate linestyle and color\n", "ax.grid(True,linestyle=':',color='0.75')\n", "ax.set_axisbelow(True)\n", "\n", "# Define the X and Y axis labels\n", "plt.xlabel('Time (s)', family='serif', fontsize=22, weight='bold', labelpad=5)\n", "plt.ylabel('Position', family='serif', fontsize=22, weight='bold', labelpad=10)\n", "\n", "\n", "amp = np.sqrt(x0[0]**2 + ((z*wn*x0[0] + x0[1])/wd)**2)\n", "decay_env = amp * np.exp(-z*wn*t)\n", "\n", "# plot the decay envelope\n", "plt.plot(t, decay_env, linewidth=1.0, linestyle = '--', color = \"#377eb8\")\n", "plt.plot(t, -decay_env, linewidth=1.0, linestyle = '--', color = \"#377eb8\")\n", "\n", "plt.plot(t, x, linewidth=2, linestyle = '-', label=r'Response')\n", "\n", "# uncomment below and set limits if needed\n", "# xlim(0,5)\n", "# ylim(0,10)\n", "\n", "plt.yticks([-1.5, -1, -0.5, 0, 0.5, 1, 1.5], ['', r'$-x_0$', '', '0', '', r'$x_0$', ''])\n", "\n", "plt.annotate('Exponential Decay Envelope',\n", " xy=(t[int(len(t)/3)],decay_env[int(len(t)/3)]), xycoords='data',\n", " xytext=(+10, +30), textcoords='offset points', fontsize=18,\n", " arrowprops=dict(arrowstyle=\"simple, head_width = 0.35, tail_width=0.05\", connectionstyle=\"arc3, rad=.2\", color=\"#377eb8\"), color = \"#377eb8\")\n", "\n", "\n", "# # Create the legend, then fix the fontsize\n", "# leg = plt.legend(loc='upper right', fancybox=True)\n", "# ltext = leg.get_texts()\n", "# plt.setp(ltext,family='serif',fontsize=18)\n", "\n", "# Adjust the page layout filling the page using the new tight_layout command\n", "plt.tight_layout(pad = 0.5)\n", "\n", "# save the figure as a high-res pdf in the current folder\n", "# It's saved at the original 6x4 size\n", "# plt.savefig('MCHE485_FreeVibrationWithDamping.pdf')\n", "\n", "fig.set_size_inches(9, 6) # Resize the figure for better display in the notebook" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Licenses\n", "Code is licensed under a 3-clause BSD style license. See the licenses/LICENSE.md file.\n", "\n", "Other content is provided under a [Creative Commons Attribution-NonCommercial 4.0 International License](http://creativecommons.org/licenses/by-nc/4.0/), CC-BY-NC 4.0." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n" ], "text/plain": [ "" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# This cell will just improve the styling of the notebook\n", "# You can ignore it, if you are okay with the default sytling\n", "from IPython.core.display import HTML\n", "import urllib.request\n", "response = urllib.request.urlopen(\"https://cl.ly/1B1y452Z1d35\")\n", "HTML(response.read().decode(\"utf-8\"))" ] } ], "metadata": { "anaconda-cloud": {}, "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.6.2" } }, "nbformat": 4, "nbformat_minor": 1 }