diff --git a/.ipynb_checkpoints/Lab05_Simple_Harmonic_Oscillator-checkpoint.ipynb b/.ipynb_checkpoints/Lab05_Simple_Harmonic_Oscillator-checkpoint.ipynb new file mode 100644 index 0000000..78a5291 --- /dev/null +++ b/.ipynb_checkpoints/Lab05_Simple_Harmonic_Oscillator-checkpoint.ipynb @@ -0,0 +1,336 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "\n", + "plt.rcParams.update({'font.size': 14})\n", + "plt.rcParams['lines.linewidth'] = 3\n", + "pi=np.pi\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# ME 3263 - Sensors and Data Analysis\n", + "\n", + "## Lab #5 - Simple Harmonic Oscillator \n", + "### What are simple harmonic oscillators?\n", + "\n", + "In classical mechanics, a harmonic oscillator is a system that, when displaced from its equilibrium position, experiences a restoring force proportional to the displacement. If restoring force is the only force acting on the system, the system is called a simple harmonic oscillator, and it undergoes simple harmonic motion: sinusoidal oscillations about the equilibrium point, with a constant amplitude and a constant frequency (which does not depend on the amplitude).[\\[1\\]](https://en.wikipedia.org/wiki/Harmonic_oscillator)\n", + "\n", + "Harmonic oscillators occur widely in nature and are exploited in many manmade devices, such as clocks and radio circuits. They are the source of virtually all sinusoidal vibrations and waves. In this lab, we will build spring-mass simple harmonic oscillator using common-place materials, and determine the stiffness of the spring based on governing equations of the system.\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 1-DOF spring-mass system \n", + "\n", + "Figure 1 shows the schematic of spring-mass simple harmonic oscillator. In this system with 1 mass and 1 spring, we have 1 degree of freedom. So, there is 1 differential\n", + "equations that describe the motion of mass. Employing Newton's law, $ F = ma = m \\ddot{x}$ and Hook's law for spring restoring forcce , $F = -kx$, to this sytem, the governing differential is obtained as: \n", + "\n", + "$m \\ddot{x} = -kx$ (1)\n", + "\n", + "where $m$ and $k$ denote the mass and spring stiffness respectively. The differential\n", + "equations relate acceleration of mass $\\ddot{x}$ to displacement, $x$. \n", + "\n", + "\n", + "
\"Drawing\"
\n", + "
Figure 1: Simple harmonic spring-mass oscillator
\n", + "\n", + "\n", + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The solution for ${x}$ will be a combination of simple harmonics, sine and cosine functions, at\n", + "natural frequency of the system, depending upon initial conditions. Substituting\n", + "\n", + "${x}=A\\sin(\\omega t)$ (2)\n", + "\n", + "Eqn 1 gives\n", + "\n", + "$m \\omega^2 = k$ (3)\n", + "\n", + "where $A$ is amplitude of the sine function and $\\omega$ is the\n", + "natural frequency. Eqn 3 can also be rearranged as \n", + "\n", + "$\\omega^2 = k \\frac{1}{m} $ (4)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Lab procedure\n", + "\n", + "This Lab requires very simple materials to explore the physics of periodic motion. All you need is a spring and some weights, such as small fishing sinkers. A example is shown in Figure 2 which uses spring removed from spiral notebook. The spring has much smaller mass than added masses, and can be neglected. \n", + "\n", + "
\"Drawing\"
\n", + "
Figure 2: Simple harmonic spring-mass oscillator using smartphone
\n", + "\n", + "When a spring is displaced from its equilibrium position, it experiences a restoring force proportional to the displacement from equilibrium and the spring constant. When you add a weight to a spring and stretch it, then release it, the spring will oscillate before it returns to rest at its equilibrium position as shown in Figure 1. As you add more weight to the spring, the frequncy of oscillation, $\\omega$, changes. With increase in added mass, $\\omega$ decreases as suggested by Eqn 4. In this lab, we will measure the frequncy of oscillation, $\\omega$, by adding different masses, $m$ , to the spring, and fit the data using linear regression to determine the spring constant, $k$. \n", + "\n", + "The lab procedure is briefly described below:\n", + "\n", + "1. Download the phyphox app and have your spring experiment ready to measure $\\omega$\n", + "2. Build your spring mass oscillator similar to example in Figure 2. Initially, in this syestem added mass is mass of the smartphone,$m_p$. You can check your phone specification for the mass or weigh the phone using the scale.\n", + "3. Verify the smartphone measurements of $\\omega$ by comparing with alternative method. Example is provided in verification section below. Afer the verfication, proceed to the next phase of adding masses.\n", + "\n", + "4. Measure the mass of one of your weights, using the scale. If your scale does not measure small weights, you can weigh all five of your weights and divide by five. Then measure the mass of the spring.\n", + "5. Perform the following steps to collect your data:\n", + " - Add additional mass, $m_i$ , to the spring. Total mass is ($m_p$ + $m_i$)\n", + " - Start the \"timed run\" spring experiment \n", + " - Hold one end of the spring in your hand and let it bounce gently down and then back up. \n", + " - Note the $\\omega$ once the run is over.\n", + " - Perform at least three trials for each weight.\n", + " - Repeat previous 5 steps for a series of different weights (at the least 5).\n", + "\n", + "Once you have the data, use linear least square regression to obtain siffness constant , $k$ , of the spring. Also, perform error progation in $k$ based on your lab set-up and measuring equipment. Refer to next few sections for details. \n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Verification\n", + " \n", + "For the verification of frequency given by smartphone, we will compare the observed frequency with altenative method. This method is estimating frequency from the decaying oscillation[4]. The time between the peaks is the oscillation period, relate this to the frequency as \n", + "\n", + "$\\omega=\\frac{1}{T}~Hz$ (5)\n", + " " + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "%matplotlib inline\n" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "import pandas as pd\n", + "\n", + "data = pd.read_csv('Raw data.csv')\n", + "acc = data['Acceleration y (m/s^2)'].values # Be careful with the directions\n", + "time = data['Time (s)'].values\n", + "\n", + "plt.figure(3)\n", + "plt.plot(time, acc,'.-')\n", + "plt.xlabel('time (s)')\n", + "\n", + "plt.xlabel('time,s')\n", + "plt.ylabel('acceleration (m/s^2)');" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In the graph above, I zoomed into the region around t=30s. The natural frequency is obtined by counting the cycles and dividing by the time, \n", + "\n", + "$\\omega = \\frac{\\#~cycles}{\\Delta t}$ (6)\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "The frequncy of oscillation: 2.38 Hz\n", + "\n", + "The frequncy reported by smartphone: 2.39 Hz\n" + ] + } + ], + "source": [ + "# Verification of frequncy of oscillation\n", + "omega_smartphone = 2.39\n", + "t1 = 33.4313;\n", + "t2 = 35.1133\n", + "delta_t =(t2-t1)\n", + "\n", + "ncycles = 4;\n", + "omega0 = ncycles/delta_t\n", + "\n", + "print(\"\\nThe frequncy of oscillation: %1.2f Hz\" % omega0)\n", + "print(\"\\nThe frequncy reported by smartphone: %1.2f Hz\" % omega_smartphone)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Linear least square fit\n", + "\n", + "Once you have number of data points for $m$ and $\\omega$, you can use a linear regression to determine the slope of the data. The equation (4) predicts that the square of frequncy of oscillation , $\\omega^2$, and inverse of mass, $1/m$, are related by a proportional constant, $k$ which is the stiffness constant of the spring. If we know $k$, the total squared error is as such\n", + "\n", + "$SSE=\\sum_i^N{(\\omega_i^2-k\\frac{1}{m_i})^2}$ (7)\n", + "\n", + "where SSE is the sum of squares error between the predicted moment and measured moment for the $i^{th}$ measurement with $N$ total measurements [\\[2\\]](https://www.amazon.com/Numerical-Methods-Engineers-Steven-Chapra/dp/0073401064). We can choose a of $k$ that minimizes $SSE$, but it will never be zero. Below is an example calculation for a linear least squares regression for spring-mass simple harmonic oscillatorr.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "# Data collected from Phyphox\n", + "\n", + "phone_mass = 430 #in grams\n", + "added_mass = np.array([phone_mass, phone_mass+50, phone_mass+100, phone_mass+150, phone_mass+200]) #in grams\n", + "added_mass = np.array([0,0,0,50,50,50,60,60,60,100,100,100,150,150,150,200,200,200])\n", + "mass= (phone_mass/1000)+(added_mass/1000) # mass in kg\n", + "#print(mass)\n", + "omega = np.array([2.39,2.41,2.39,2.13,2.12,2.13,2.08,2.08,2.07,2.03,2.03,2.05,1.94,1.93,1.92,1.81,1.82,1.81]) # in Hz\n" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Best fit for stiffness constant is 2.22 +/- 0.03 N/m\n" + ] + }, + { + "data": { + "text/plain": [ + "Text(0, 0.5, '$\\\\omega^2$ (1/$Hz^2$)')" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# Linear least-square fit to determine stiffness of the springfrom scipy.optimize import curve_fit\n", + "from scipy.optimize import curve_fit\n", + "\n", + "def func(x,K):\n", + " return K*x\n", + "\n", + "K,pcov = curve_fit(func, 1/mass, omega**2) #independent variable on x-axis,1/m, dependent variable on y-axis,omega^2\n", + "K_error =np.sqrt(pcov[0,0])\n", + "\n", + "print(\"Best fit for stiffness constant is %1.2f +/- %1.2f N/m\"%(K,K_error))\n", + "\n", + "plt.figure(4)\n", + "plt.plot(1/mass,omega**2,'o',label='experiment')\n", + "plt.plot(1/mass,func(1/mass,K),label='model')\n", + "plt.legend()\n", + "plt.xlabel(r'1/M (1/kg)')\n", + "plt.ylabel(r'$\\omega^2$ (1/$Hz^2$)')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Error Propagation in stiffness constant, $k$\n", + "\n", + "Eqn 4 can be rearranged as :\n", + "\n", + "$k = \\frac{\\omega^2}{m} $ (5)\n", + "\n", + "The propgation of error in $\\sigma_k$ from the varibales $\\omega$ and $m$ with unceratinties $\\sigma_\\omega$ and $\\sigma_m$ repectively can be calculates as:\n", + "\n", + "$\\sigma_k = \\sqrt{\\frac{\\partial{k}}{\\partial \\omega}\\sigma_\\omega^2 + \\frac{\\partial{k}}{\\partial m}\\sigma_m^2}$ (6)\n", + "\n", + "Note : One way to account for $\\sigma_\\omega$ and $\\sigma_m$ is to use estimates based on least significant digit of measurements. \n", + "Typically, the minimum uncertainty of a single measurement made with an instrument incorporating a digital readout is equal to the value of the least significant digit (least-count) of the display. [\\[3\\]](http://www.phys.lsu.edu/classes/phys2108/2108_measA.pdf)\n", + "\n", + "For example, suppose you are sick and have a fever, and you take your temperature with a digital electronic thermometer. The display indicates reading of 101.4 F. The correct representation of the measurement, assuming that the least-counts of thermometer is 0.1 F, would be 101.4 ± 0.1 F \n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### References\n", + "\n", + "1. Wikipedia contributors. (2020, October 20). Harmonic oscillator. In Wikipedia, The Free Encyclopedia. Retrieved 05:31, November 9, 2020, from https://en.wikipedia.org/w/index.php?title=Harmonic_oscillator&oldid=984564166\n", + "2. S. Chapra, Numerical Methods for Engineers, ch. 14-15, 6th Edition, McGraw-Hill, 2009.\n", + "3. [Introduction to Measurement and Data Analysis Notes](http://www.phys.lsu.edu/classes/phys2108/2108_measA.pdf)\n", + "4. ME 3263 Lab 3 - Measuring Natural frequncies Jupyter notebook\n", + "5. Science Buddies Staff. (2020, June 23). Simple Harmonic Motion in a Spring-Mass System. Retrieved from https://www.sciencebuddies.org/science-fair-projects/project-ideas/Phys_p064/physics/simple-harmonic-motion-springs?utm_source=googlesciencejournallanding&utm_campaign=GSJ&utm_" + ] + } + ], + "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.8.3" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/Lab05_Simple_Harmonic_Oscillator.ipynb b/Lab05_Simple_Harmonic_Oscillator.ipynb index fa0225b..78a5291 100644 --- a/Lab05_Simple_Harmonic_Oscillator.ipynb +++ b/Lab05_Simple_Harmonic_Oscillator.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 45, + "execution_count": 1, "metadata": {}, "outputs": [], "source": [ @@ -114,7 +114,7 @@ }, { "cell_type": "code", - "execution_count": 51, + "execution_count": 2, "metadata": {}, "outputs": [], "source": [ @@ -123,7 +123,7 @@ }, { "cell_type": "code", - "execution_count": 57, + "execution_count": 3, "metadata": {}, "outputs": [ { @@ -166,7 +166,7 @@ }, { "cell_type": "code", - "execution_count": 54, + "execution_count": 4, "metadata": {}, "outputs": [ { @@ -209,7 +209,7 @@ }, { "cell_type": "code", - "execution_count": 58, + "execution_count": 5, "metadata": {}, "outputs": [], "source": [ @@ -225,7 +225,7 @@ }, { "cell_type": "code", - "execution_count": 59, + "execution_count": 6, "metadata": {}, "outputs": [ { @@ -241,7 +241,7 @@ "Text(0, 0.5, '$\\\\omega^2$ (1/$Hz^2$)')" ] }, - "execution_count": 59, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" }, @@ -260,6 +260,7 @@ ], "source": [ "# Linear least-square fit to determine stiffness of the springfrom scipy.optimize import curve_fit\n", + "from scipy.optimize import curve_fit\n", "\n", "def func(x,K):\n", " return K*x\n",