diff --git a/01_Introduction/lecture_01-Copy1.ipynb b/01_Introduction/.ipynb_checkpoints/01-Introduction-checkpoint.ipynb similarity index 98% rename from 01_Introduction/lecture_01-Copy1.ipynb rename to 01_Introduction/.ipynb_checkpoints/01-Introduction-checkpoint.ipynb index fa4f5eb..b543fee 100644 --- a/01_Introduction/lecture_01-Copy1.ipynb +++ b/01_Introduction/.ipynb_checkpoints/01-Introduction-checkpoint.ipynb @@ -33,7 +33,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 1, "metadata": { "collapsed": true, "slideshow": { @@ -64,7 +64,7 @@ "metadata": { "collapsed": false, "slideshow": { - "slide_type": "subslide" + "slide_type": "fragment" } }, "outputs": [], @@ -97,7 +97,7 @@ "metadata": { "collapsed": false, "slideshow": { - "slide_type": "subslide" + "slide_type": "fragment" } }, "outputs": [ @@ -199,7 +199,7 @@ "metadata": { "collapsed": false, "slideshow": { - "slide_type": "subslide" + "slide_type": "fragment" } }, "outputs": [ @@ -226,20 +226,29 @@ "fprintf('%7.1f | %18.2f | %15.2f\\n',M(:,1:3)');" ] }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "source": [ + "## Set default values for plotting" + ] + }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": true, "slideshow": { - "slide_type": "subslide" + "slide_type": "fragment" } }, "outputs": [], "source": [ - "set (0, \"defaultaxesfontname\", \"Helvetica\")\n", "set (0, \"defaultaxesfontsize\", 18)\n", - "set (0, \"defaulttextfontname\", \"Helvetica\")\n", "set (0, \"defaulttextfontsize\", 18) \n", "set (0, \"defaultlinelinewidth\", 4)" ] @@ -412,15 +421,6 @@ "source": [ "plot(t,v_analytical,'-',t,v_numerical,'o-')" ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "collapsed": true - }, - "outputs": [], - "source": [] } ], "metadata": { diff --git a/01_Introduction/.ipynb_checkpoints/lecture_01-Copy1-checkpoint.ipynb b/01_Introduction/01-Introduction.ipynb similarity index 90% rename from 01_Introduction/.ipynb_checkpoints/lecture_01-Copy1-checkpoint.ipynb rename to 01_Introduction/01-Introduction.ipynb index 495f361..b543fee 100644 --- a/01_Introduction/.ipynb_checkpoints/lecture_01-Copy1-checkpoint.ipynb +++ b/01_Introduction/01-Introduction.ipynb @@ -13,35 +13,36 @@ ] }, { - "cell_type": "code", - "execution_count": 13, + "cell_type": "markdown", "metadata": { - "collapsed": true, "slideshow": { - "slide_type": "skip" + "slide_type": "subslide" } }, - "outputs": [], "source": [ - "%plot --format svg" + "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=mg - cv^2 = m\\frac{dv}{dt}$\n", + "\n" ] }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 1, "metadata": { "collapsed": true, "slideshow": { - "slide_type": "slide" + "slide_type": "skip" } }, "outputs": [], "source": [ - "set (0, \"defaultaxesfontname\", \"Helvetica\")\n", - "set (0, \"defaultaxesfontsize\", 18)\n", - "set (0, \"defaulttextfontname\", \"Helvetica\")\n", - "set (0, \"defaulttextfontsize\", 18) \n", - "set (0, \"defaultlinelinewidth\", 4)" + "%plot --format svg" ] }, { @@ -59,45 +60,18 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 18, "metadata": { "collapsed": false, "slideshow": { - "slide_type": "subslide" + "slide_type": "fragment" } }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "t =\n", - "\n", - " 0\n", - " 2\n", - " 4\n", - " 6\n", - " 8\n", - " 10\n", - " 12\n", - "\n", - "t =\n", - "\n", - " 0\n", - " 2\n", - " 4\n", - " 6\n", - " 8\n", - " 10\n", - " 12\n", - "\n" - ] - } - ], + "outputs": [], "source": [ - "t=[0,2,4,6,8,10,12]'\n", - "% or\n", - "t=[0:2:12]'" + "t=[0,2,4,6,8,10,12]';\n", + "% or \n", + "t=[0:2:12]';" ] }, { @@ -108,16 +82,22 @@ } }, "source": [ - "Define constants and analytical solution (meters-kilogram-sec)" + "### Define constants and analytical solution (meters-kilogram-sec)\n", + "\n", + "g=9.81 m/s$^2$, c=0.25 kg/m, m=60 kg\n", + "\n", + "$v_{terminal}=\\sqrt{\\frac{mg}{c}}$\n", + "\n", + "$v=v_{terminal}\\tanh{\\left(\\frac{gt}{v_{terminal}}\\right)}$" ] }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 19, "metadata": { "collapsed": false, "slideshow": { - "slide_type": "subslide" + "slide_type": "fragment" } }, "outputs": [ @@ -125,6 +105,7 @@ "name": "stdout", "output_type": "stream", "text": [ + "v_terminal = 48.522\n", "v_analytical =\n", "\n", " 0.00000\n", @@ -139,14 +120,36 @@ } ], "source": [ - "c=0.25; m=60; g=9.81; v_terminal=sqrt(m*g/c);\n", + "c=0.25; m=60; g=9.81; v_terminal=sqrt(m*g/c)\n", "\n", "v_analytical = v_terminal*tanh(g*t/v_terminal)" ] }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "source": [ + "### Define numerical method\n", + "#### Finite difference approximation\n", + "\n", + "$\\frac{v(t_{i+1})-v(t_{i})}{t_{i+1}-t_{i}}=g-\\frac{c}{m}v(t_{i})^2$\n", + "\n", + "solve for $v(t_{i+1})$\n", + "\n", + "$v(t_{i+1})=v(t_{i})+\\left(g-\\frac{c}{m}v(t_{i})^2\\right)(t_{i+1}-t_{i})$\n", + "\n", + "or\n", + "\n", + "$v(t_{i+1})=v(t_{i})+\\frac{dv_{i}}{dt}(t_{i+1}-t_{i})$\n" + ] + }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 6, "metadata": { "collapsed": false, "slideshow": { @@ -192,11 +195,11 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 10, "metadata": { "collapsed": false, "slideshow": { - "slide_type": "subslide" + "slide_type": "fragment" } }, "outputs": [ @@ -223,9 +226,36 @@ "fprintf('%7.1f | %18.2f | %15.2f\\n',M(:,1:3)');" ] }, + { + "cell_type": "markdown", + "metadata": { + "slideshow": { + "slide_type": "slide" + } + }, + "source": [ + "## Set default values for plotting" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "collapsed": true, + "slideshow": { + "slide_type": "fragment" + } + }, + "outputs": [], + "source": [ + "set (0, \"defaultaxesfontsize\", 18)\n", + "set (0, \"defaulttextfontsize\", 18) \n", + "set (0, \"defaultlinelinewidth\", 4)" + ] + }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 15, "metadata": { "collapsed": false, "slideshow": { diff --git a/01_Introduction/lecture_01.ipynb b/01_Introduction/lecture_01.ipynb deleted file mode 100644 index 307bc0c..0000000 --- a/01_Introduction/lecture_01.ipynb +++ /dev/null @@ -1,366 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Freefall Model\n", - "## Octave solution (will run same on Matlab)" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": { - "collapsed": true - }, - "outputs": [], - "source": [ - "%plot --format svg" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": { - "collapsed": true - }, - "outputs": [], - "source": [ - "set (0, \"defaultaxesfontname\", \"Helvetica\")\n", - "set (0, \"defaultaxesfontsize\", 18)\n", - "set (0, \"defaulttextfontname\", \"Helvetica\")\n", - "set (0, \"defaulttextfontsize\", 18) \n", - "set (0, \"defaultlinelinewidth\", 4)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Define time from 0 to 12 seconds" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "t =\n", - "\n", - " 0\n", - " 2\n", - " 4\n", - " 6\n", - " 8\n", - " 10\n", - " 12\n", - "\n" - ] - } - ], - "source": [ - "t=[0,2,4,6,8,10,12]'" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Define constants and analytical solution (meters-kilogram-sec)" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "v_analytical =\n", - "\n", - " 0.00000\n", - " 18.61630\n", - " 32.45521\n", - " 40.64183\n", - " 44.84646\n", - " 46.84974\n", - " 47.77002\n", - "\n" - ] - } - ], - "source": [ - "c=0.25; m=60; g=9.81; v_terminal=sqrt(m*g/c);\n", - "\n", - "v_analytical = v_terminal*tanh(g*t/v_terminal)" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "v_numerical =\n", - "\n", - " 0.00000\n", - " 19.62000\n", - " 36.03213\n", - " 44.83284\n", - " 47.70298\n", - " 48.35986\n", - " 48.49089\n", - "\n" - ] - } - ], - "source": [ - "v_numerical=zeros(length(t),1);\n", - "for i=1:length(t)-1\n", - " v_numerical(i+1)=v_numerical(i)+(g-c/m*v_numerical(i)^2)*2;\n", - "end\n", - "v_numerical" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Display time, velocity (analytical) and velocity (numerical)" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "time (s)|vel analytical (m/s)|vel numerical (m/s)\n", - "-----------------------------------------------\n", - " 0.0 | 0.00 | 0.00\n", - " 2.0 | 18.62 | 19.62\n", - " 4.0 | 32.46 | 36.03\n", - " 6.0 | 40.64 | 44.83\n", - " 8.0 | 44.85 | 47.70\n", - " 10.0 | 46.85 | 48.36\n", - " 12.0 | 47.77 | 48.49\n" - ] - } - ], - "source": [ - "fprintf('time (s)|vel analytical (m/s)|vel numerical (m/s)\\n')\n", - "fprintf('-----------------------------------------------')\n", - "M=[t,v_analytical,v_numerical];\n", - "fprintf('%7.1f | %18.2f | %15.2f\\n',M(:,1:3)');" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "data": { - "image/svg+xml": [ - "\n", - "\n", - "Gnuplot\n", - "Produced by GNUPLOT 5.0 patchlevel 3 \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t \n", - "\t \n", - "\t\n", - "\t\n", - "\t \n", - "\t \n", - "\t\n", - "\n", - "\n", - "\n", - "\n", - "\t\n", - "\t\t\n", - "\t\n", - "\n", - "\n", - "\n", - "\n", - "\t\t\n", - "\t\t0\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t10\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t20\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t30\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t40\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t50\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t0\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t2\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t4\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t6\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t8\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t10\n", - "\t\n", - "\n", - "\n", - "\t\t\n", - "\t\t12\n", - "\t\n", - "\n", - "\n", - "\n", - "\n", - "\t\n", - "\n", - "\n", - "\tgnuplot_plot_1a\n", - "\n", - "\n", - "\n", - "\t\n", - "\t\n", - "\tgnuplot_plot_2a\n", - "\n", - "\t\t \n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\t\n", - "\n", - "\t\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "plot(t,v_analytical,'-',t,v_numerical,'o-')" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Octave", - "language": "octave", - "name": "octave" - }, - "language_info": { - "file_extension": ".m", - "help_links": [ - { - "text": "MetaKernel Magics", - "url": "https://github.com/calysto/metakernel/blob/master/metakernel/magics/README.md" - } - ], - "mimetype": "text/x-octave", - "name": "octave", - "version": "0.19.14" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/01_Introduction/lecture_01.md b/01_Introduction/lecture_01.md deleted file mode 100644 index 807e888..0000000 --- a/01_Introduction/lecture_01.md +++ /dev/null @@ -1,111 +0,0 @@ - -# Freefall Model -## Octave solution (will run same on Matlab) - - -```octave -%plot --format svg -``` - - -```octave -set (0, "defaultaxesfontname", "Helvetica") -set (0, "defaultaxesfontsize", 18) -set (0, "defaulttextfontname", "Helvetica") -set (0, "defaulttextfontsize", 18) -set (0, "defaultlinelinewidth", 4) -``` - -Define time from 0 to 12 seconds - - -```octave -t=[0,2,4,6,8,10,12]' -``` - - t = - - 0 - 2 - 4 - 6 - 8 - 10 - 12 - - - -Define constants and analytical solution (meters-kilogram-sec) - - -```octave -c=0.25; m=60; g=9.81; v_terminal=sqrt(m*g/c); - -v_analytical = v_terminal*tanh(g*t/v_terminal) -``` - - v_analytical = - - 0.00000 - 18.61630 - 32.45521 - 40.64183 - 44.84646 - 46.84974 - 47.77002 - - - - -```octave -v_numerical=zeros(length(t),1); -for i=1:length(t)-1 - v_numerical(i+1)=v_numerical(i)+(g-c/m*v_numerical(i)^2)*2; -end -v_numerical -``` - - v_numerical = - - 0.00000 - 19.62000 - 36.03213 - 44.83284 - 47.70298 - 48.35986 - 48.49089 - - - -Display time, velocity (analytical) and velocity (numerical) - - -```octave -fprintf('time (s)|vel analytical (m/s)|vel numerical (m/s)\n') -fprintf('-----------------------------------------------') -M=[t,v_analytical,v_numerical]; -fprintf('%7.1f | %18.2f | %15.2f\n',M(:,1:3)'); -``` - - time (s)|vel analytical (m/s)|vel numerical (m/s) - ----------------------------------------------- - 0.0 | 0.00 | 0.00 - 2.0 | 18.62 | 19.62 - 4.0 | 32.46 | 36.03 - 6.0 | 40.64 | 44.83 - 8.0 | 44.85 | 47.70 - 10.0 | 46.85 | 48.36 - 12.0 | 47.77 | 48.49 - - - -```octave -plot(t,v_analytical,'-',t,v_numerical,'o-') -``` - - -![plot of -velocities](https://github.uconn.edu/rcc02007/ME3255S2017/blob/master/lecture_01/output_10_0.svg) - - diff --git a/01_Introduction/lecture_01.pdf b/01_Introduction/lecture_01.pdf deleted file mode 100644 index c54f29e..0000000 Binary files a/01_Introduction/lecture_01.pdf and /dev/null differ diff --git a/01_Introduction/lecture_01_notes.pdf b/01_Introduction/lecture_01_notes.pdf deleted file mode 100644 index d84a44d..0000000 Binary files a/01_Introduction/lecture_01_notes.pdf and /dev/null differ diff --git a/01_Introduction/output_10_0.svg b/01_Introduction/output_10_0.svg deleted file mode 100644 index 5c7cdea..0000000 --- a/01_Introduction/output_10_0.svg +++ /dev/null @@ -1,143 +0,0 @@ - - -Gnuplot -Produced by GNUPLOT 5.0 patchlevel 3 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - - - - - 10 - - - - - 20 - - - - - 30 - - - - - 40 - - - - - 50 - - - - - 0 - - - - - 2 - - - - - 4 - - - - - 6 - - - - - 8 - - - - - 10 - - - - - 12 - - - - - - - - - gnuplot_plot_1a - - - - - - gnuplot_plot_2a - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file