{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Working Notebook" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "%matplotlib inline\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "import scipy as sp\n", "import scipy.io as sio\n", "import matplotlib as mpl\n", "mpl.rcParams['lines.linewidth'] = 2\n", "#mpl.rcParams['lines.color'] = 'r'\n", "mpl.rcParams['figure.figsize'] = (10, 6)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Help on function savemat in module scipy.io.matlab.mio:\n", "\n", "savemat(file_name, mdict, appendmat=True, format='5', long_field_names=False, do_compression=False, oned_as='row')\n", " Save a dictionary of names and arrays into a MATLAB-style .mat file.\n", " \n", " This saves the array objects in the given dictionary to a MATLAB-\n", " style .mat file.\n", " \n", " Parameters\n", " ----------\n", " file_name : str or file-like object\n", " Name of the .mat file (.mat extension not needed if ``appendmat ==\n", " True``).\n", " Can also pass open file_like object.\n", " mdict : dict\n", " Dictionary from which to save matfile variables.\n", " appendmat : bool, optional\n", " True (the default) to append the .mat extension to the end of the\n", " given filename, if not already present.\n", " format : {'5', '4'}, string, optional\n", " '5' (the default) for MATLAB 5 and up (to 7.2),\n", " '4' for MATLAB 4 .mat files\n", " long_field_names : bool, optional\n", " False (the default) - maximum field name length in a structure is\n", " 31 characters which is the documented maximum length.\n", " True - maximum field name length in a structure is 63 characters\n", " which works for MATLAB 7.6+\n", " do_compression : bool, optional\n", " Whether or not to compress matrices on write. Default is False.\n", " oned_as : {'row', 'column'}, optional\n", " If 'column', write 1-D numpy arrays as column vectors.\n", " If 'row', write 1-D numpy arrays as row vectors.\n", " \n", " See also\n", " --------\n", " mio4.MatFile4Writer\n", " mio5.MatFile5Writer\n", "\n" ] } ], "source": [ "help(sio.savemat)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "% E=7.31e10;\n", "% I=1/12*.03*.015^3;\n", "% rho=2747;\n", "% A=.015*.03;\n", "% L=0.4;" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([ 7.31000000e+10, 8.43750000e-09, 2.74700000e+03,\n", " 4.50000000e-04, 4.00000000e-01])" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.array((7.31e10, 1/12*0.03*.015**3, 2747, .015*0.03, 0.4))" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": 61, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "10\n", "[10 10]\n", "[10 10]\n", "(2,)\n", "2\n" ] } ], "source": [ "n = 10\n", "print(n)\n", "nn = np.array((n,n))\n", "print(nn)\n", "nnn = np.array((nn))\n", "print(nnn)\n", "print(nn.shape)\n", "\n", "n = nn\n", "if isinstance( n, int ):\n", " ln = 1\n", "else:\n", " ln = len(n)\n", "print(ln)" ] }, { "cell_type": "code", "execution_count": 197, "metadata": { "hide_input": false }, "outputs": [], "source": [ "def euler_beam_modes(n = 10, bctype = 2, beamparams=np.array((7.31e10, 1/12*0.03*.015**3, 2747, .015*0.03, 0.4)), npoints = 2001):\n", "\n", "\n", " \"\"\"\n", " %VTB6_3 Natural frequencies and mass normalized mode shape for an Euler-\n", " % Bernoulli beam with a chosen boundary condition.\n", " % [w,x,U]=VTB6_3(n,bctype,bmpar,npoints) will return the nth natural \n", " % frequency (w) and mode shape (U) of an Euler-Bernoulli beam.\n", " % If n is a vector, return the coresponding mode shapes and natural\n", " % frequencies.\n", " % With no output arguments the modes are ploted.\n", " % If only one mode is requested, and there are no output arguments, the\n", " % mode shape is animated.\n", " % The boundary condition is defined as follows:\n", " %\n", " % bctype = 1 free-free\n", " % bctype = 2 clamped-free\n", " % bctype = 3 clamped-pinned\n", " % bctype = 4 clamped-sliding\n", " % bctype = 5 clamped-clamped\n", " % bctype = 6 pinned-pinned\n", " %\n", " % The beam parameters are input through the vector bmpar:\n", " % bmpar = [E I rho A L];\n", " % where the variable names are consistent with Section 6.5 of the \n", " % text.\n", " %\n", " %% Example: 20 cm long aluminum beam with h=1.5 cm, b=3 cm\n", " %% Animate the 4th mode for free-free boundary conditions\n", " % E=7.31e10;\n", " % I=1/12*.03*.015^3;\n", " % rho=2747;\n", " % A=.015*.03;\n", " % L=0.2;\n", " % vtb6_3(4,1,[E I rho A L]);\n", " %\n", "\n", " % Copyright Joseph C. Slater, 2007\n", " % Engineering Vibration Toolbox\n", " \"\"\"\n", " E=beamparams[0];\n", " I=beamparams[1];\n", " rho=beamparams[2];\n", " A=beamparams[3];\n", " L=beamparams[4];\n", " if isinstance( n, int ):\n", " ln = n\n", " n = np.arange(n)+1\n", " else:\n", " ln = len(n)\n", "\n", " #len=[0:(1/(npoints-1)):1]'; %Normalized length of the beam\n", " len = np.linspace(0,1,npoints)\n", " x = len * L\n", " #Determine natural frequencies and mode shapes depending on the\n", " #boundary condition.\n", " # Mass simplification. The following was arange_(1,length_(n)).reshape(-1)\n", " mode_num_range = np.arange(0,ln)\n", " Bnl = sp.empty(ln)\n", " w = sp.empty(ln)\n", " U = sp.empty([npoints, ln])\n", " \n", " if bctype == 1:\n", " desc='Free-Free '\n", " Bnllow=np.array((0,0,4.73004074486,7.8532046241,10.995607838,14.1371654913,17.2787596574))\n", " for i in mode_num_range:\n", " if n[i] > 7:\n", " Bnl[i]=(2 * n[i] - 3) * sp.pi / 2\n", " else:\n", " Bnl[i]=Bnllow[i]\n", " for i in mode_num_range:\n", " if n[i] == 1:\n", " w[i]=0\n", " U[:,i]=1 + len * 0\n", " elif n[i] == 2:\n", " w[i]=0\n", " U[:,i]=len - 0.5\n", " else:\n", " sig=(sp.cosh(Bnl[i]) - sp.cos(Bnl[i])) / (sp.sinh(Bnl[i]) - sp.sin(Bnl[i]))\n", " w[i]=(Bnl[i] ** 2) * sp.sqrt(E * I / (rho * A * L ** 4))\n", " b=Bnl[i] * len\n", " U[:,i]=sp.cosh(b) + sp.cos(b) - sig * (sp.sinh(b) + sp.sin(b))\n", " elif bctype == 2:\n", " desc='Clamped-Free '\n", " Bnllow=np.array((1.88,4.69,7.85,10.99,14.14))\n", " for i in mode_num_range:\n", " if n[i] > 4:\n", " Bnl[i]=(2 * n[i] - 1) * sp.pi / 2\n", " else:\n", " Bnl[i]=Bnllow[i]\n", " \n", " for i in mode_num_range:\n", " sig=(sp.sinh(Bnl[i]) - sp.sin(Bnl[i])) / (sp.cosh(Bnl[i]) - sp.cos(Bnl[i]))\n", " w[i]=(Bnl[i] ** 2) * sp.sqrt(E * I / (rho * A * L ** 4))\n", " b=Bnl[i] * len\n", " #plt.plot(x,(sp.cosh(b) - sp.cos(b) - sig * (sp.sinh(b) - sp.sin(b))))\n", " U[:,i]=sp.cosh(b) - sp.cos(b) - sig * (sp.sinh(b) - sp.sin(b))\n", " \n", " elif bctype == 3:\n", " desc='Clamped-Pinned '\n", " Bnllow=np.array((3.93,7.07,10.21,13.35,16.49))\n", " for i in mode_num_range:\n", " if n[i] > 4:\n", " Bnl[i]=(4 * n[i] + 1) * sp.pi / 4\n", " else:\n", " Bnl[i]=Bnllow[i]\n", " for i in mode_num_range:\n", " sig=(sp.cosh(Bnl[i]) - sp.cos(Bnl[i])) / (sp.sinh(Bnl[i]) - sp.sin(Bnl[i]))\n", " w[i]=(Bnl[i] ** 2) * sp.sqrt(E * I / (rho * A * L ** 4))\n", " b=Bnl[i] * len\n", " U[:,i]=sp.cosh(b) - sp.cos(b) - sig * (sp.sinh(b) - sp.sin(b))\n", " elif bctype == 4:\n", " desc='Clamped-Sliding '\n", " Bnllow=np.array((2.37,5.5,8.64,11.78,14.92))\n", " for i in mode_num_range:\n", " if n[i] > 4:\n", " Bnl[i]=(4 * n[i] - 1) * sp.pi / 4\n", " else:\n", " Bnl[i]=Bnllow[i]\n", " for i in mode_num_range:\n", " sig=(sp.sinh(Bnl[i]) + sp.sin(Bnl[i])) / (sp.cosh(Bnl[i]) - sp.cos(Bnl[i]))\n", " w[i]=(Bnl[i] ** 2) * sp.sqrt(E * I / (rho * A * L ** 4))\n", " b=Bnl[i] * len\n", " U[:,i]=sp.cosh(b) - sp.cos(b) - sig * (sp.sinh(b) - sp.sin(b))\n", " elif bctype == 5:\n", " desc='Clamped-Clamped '\n", " Bnllow=np.array((4.73,7.85,11,14.14,17.28))\n", " for i in mode_num_range:\n", " if n[i] > 4:\n", " Bnl[i]=(2 * n[i] + 1) * sp.pi / 2\n", " else:\n", " Bnl[i]=Bnllow[i]\n", " for i in mode_num_range:\n", " sig=(sp.cosh(Bnl[i]) - sp.cos(Bnl[i])) / (sp.sinh(Bnl[i]) - sp.sin(Bnl[i]))\n", " w[i]=(Bnl[i] ** 2) * sp.sqrt(E * I / (rho * A * L ** 4))\n", " b=Bnl[i] * len\n", " U[:,i]=sp.cosh(b) - sp.cos(b) - sig * (sp.sinh(b) - sp.sin(b))\n", " elif bctype == 6:\n", " desc='Pinned-Pinned '\n", " for i in mode_num_range:\n", " Bnl[i]=n[i] * sp.pi\n", " w[i]=(Bnl[i] ** 2) * sp.sqrt(E * I / (rho * A * L ** 4))\n", " U[:,i]=sp.sin(Bnl[i] * len)\n", " \n", " \n", " # Mass Normalization of mode shapes\n", " for i in mode_num_range:\n", " U[:,i]=U[:,i] / sp.sqrt(sp.dot(U[:,i], U[:,i]) * rho * A * L)\n", " \n", " \"\"\"\n", " ppause=0\n", " x=len * L\n", " if nargout == 0:\n", " if length_(n) != 1:\n", " for i in arange_(1,length_(n)).reshape(-1):\n", " plot_(x,U[:,i])\n", " axis_([0,L,min_(min_(U)),max_(max_(U))])\n", " figure_(gcf)\n", " title_([desc,char(' '),char('Mode '),int2str_(i),char(' Natural Frequency = '),num2str_(w[i]),char(' rad/s')])\n", " ylabel_(char('Modal Amplitude'))\n", " xlabel_(char('Length along bar - x'))\n", " grid_(char('on'))\n", " disp_(char('Press return to continue'))\n", " pause\n", " else:\n", " nsteps=50\n", " clf\n", " step=2 * pi / (nsteps)\n", " i=arange_(0,(2 * pi - step),step)\n", " hold_(char('off'))\n", " handle=uicontrol_(char('style'),char('pushbutton'),char('units'),char('normal'),char('backgroundcolor'),char('red'),char('position'),[0.94,0.94,0.05,0.05],char('String'),char('Stop'),char('callback'),char('global stopstop;stopstop=1;'))\n", " handle2=uicontrol_(char('style'),char('pushbutton'),char('units'),char('normal'),char('backgroundcolor'),char('yellow'),char('position'),[0.94,0.87,0.05,0.05],char('String'),char('Pause'),char('callback'),char('global ppause;ppause=1;'))\n", " handle3=uicontrol_(char('style'),char('pushbutton'),char('units'),char('normal'),char('backgroundcolor'),char('green'),char('position'),[0.94,0.8,0.05,0.05],char('String'),char('Resume'),char('callback'),char('global ppause;ppause=0;'))\n", " stopstop=0\n", " bb=0\n", " while stopstop == 0 and bb < 100:\n", "\n", " bb=bb + 1\n", " for ii in [i].reshape(-1):\n", " while ppause == 1:\n", "\n", " pause_(0.01)\n", " if stopstop == 1:\n", " delete_(handle)\n", " delete_(handle2)\n", " delete_(handle3)\n", " return w,x,U\n", "\n", " plot_(x,U[:,1] * sp.cos(ii))\n", " axis_([0,L,- max_(abs_(U)),max_(abs_(U))])\n", " grid_(char('on'))\n", " figure_(gcf)\n", " title_([desc,char(' '),char('Mode '),int2str_(n),char(' \\\\omega_n = '),num2str_(w[1]),char(' rad/s')])\n", " ylabel_(char('Modal Amplitude'))\n", " xlabel_(char('Length along bar - x'))\n", " drawnow\n", "\n", " clear_(char('stopstop'))\n", " delete_(handle)\n", " delete_(handle2)\n", " delete_(handle3)\n", " \"\"\"\n", " return w,x,U\n" ] }, { "cell_type": "code", "execution_count": 198, "metadata": {}, "outputs": [], "source": [ "w, x, U = euler_beam_modes(bctype = 3)" ] }, { "cell_type": "code", "execution_count": 199, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([ 343.17468565, 1110.62890305, 2316.22971002, 3959.97710656,\n", " 6044.33457417, 8566.23380692, 11526.7242106 , 14925.80578518,\n", " 18763.47853068, 23039.7424471 ])" ] }, "execution_count": 199, "metadata": {}, "output_type": "execute_result" } ], "source": [ "w/2/sp.pi" ] }, { "cell_type": "code", "execution_count": 201, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 201, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(x,U[:,0])" ] }, { "cell_type": "code", "execution_count": 233, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.043772061790854765\n", "0.04377206239552285\n", "0.043772063000190875\n", "0.04380822974151258\n" ] } ], "source": [ "from scipy.interpolate import UnivariateSpline\n", "spl = UnivariateSpline(x, U[:,0])\n", "print(spl(0.20000001))\n", "print(spl(0.200000015))\n", "print(spl(0.20000002))\n", "print(spl(0.2003))" ] }, { "cell_type": "code", "execution_count": 369, "metadata": {}, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "import numpy as np\n", "import scipy as sp\n", "from scipy.interpolate import UnivariateSpline\n", "\n", "def euler_beam_frf(xin=0.22,xout=0.22,fmin=0.0,fmax=1000.0,beamparams=np.array((7.31e10, 1/12*0.03*.015**3, 2747, .015*0.03, 0.4)), bctype = 2, zeta = 0.02):\n", "\n", " E=beamparams[0];\n", " I=beamparams[1];\n", " rho=beamparams[2];\n", " A=beamparams[3];\n", " L=beamparams[4];\n", " np=2001\n", " i=0\n", " w=np.linspace(fmin, fmax, 2001) * 2 * sp.pi\n", " if min([xin,xout]) < 0 or max([xin,xout]) > L:\n", " disp_(char('One or both locations are not on the beam'))\n", " return\n", " wn=np.array((0,0))\n", " # The number 100 is arbitrarily large and unjustified. \n", " a = sp.empty([np, 100], dtype=complex)\n", " f = sp.empty(100)\n", " \n", " while wn[-1] < 1.3 * (fmax * 2 * sp.pi):\n", "\n", " i=i + 1\n", " #legtext[i + 1]=[char('Contribution of mode '),num2str_(i)]\n", " wn,xx,U=euler_beam_modes(i,bctype,beamparams,5000)\n", " spl = UnivariateSpline(xx, U[:,i-1])\n", " Uin = spl(xin)\n", " Uout = spl(xout)\n", " #Uin=spline_(xx,U,xin)\n", " #Uout=spline_(xx,U,xout)\n", " \n", " #print(wn[-1])\n", " #print(w)\n", " a[:,i-1]=rho * A * Uin * Uout / (wn[-1] ** 2 - w ** 2 + 2 * zeta * wn[-1] * w * sp.sqrt(-1))\n", " #print(a[0:10,i])\n", " #plt.plot(sp.log10(sp.absolute(a[:,i])))\n", " #input(\"Press Enter to continue...\")\n", " f[i]=wn[-1] / 2 / sp.pi\n", " a=a[:,0:i]\n", " plt.subplot(211)\n", " plt.plot(w / 2 / sp.pi,20 * sp.log10(sp.absolute(sp.sum(a,axis = 1))),'-')\n", " plt.hold('on')\n", " plt.plot(w / 2 / sp.pi,20 * sp.log10(sp.absolute(a)),'-')\n", " plt.grid(True)\n", " plt.xlabel('Frequency (Hz)')\n", " plt.ylabel('FRF (dB)')\n", " axlim = plt.axis()\n", " \n", " plt.axis(axlim + np.array([0, 0, -0.1*(axlim[3]-axlim[2]), 0.1*(axlim[3]-axlim[2])]))\n", " \n", " \n", " plt.subplot(212)\n", " plt.plot(w / 2 / sp.pi,sp.unwrap(sp.angle(sp.sum(a,axis = 1))) / sp.pi * 180,'-')\n", " plt.hold('on')\n", " plt.plot(w / 2 / sp.pi,sp.unwrap(sp.angle(a)) / sp.pi * 180,'-')\n", " plt.grid(True)\n", " plt.xlabel('Frequency (Hz)')\n", " plt.ylabel('Phase (deg)')\n", " axlim = plt.axis()\n", " plt.axis(axlim + np.array([0, 0, -0.1*(axlim[3]-axlim[2]), 0.1*(axlim[3]-axlim[2])]))\n", " \n", "\n", " fout=w / 2 / sp.pi\n", " H = a\n", " return fout,H\n" ] }, { "cell_type": "code", "execution_count": 374, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(0.0, 1000.0, -240.0, -150.0)\n" ] }, { "data": { "image/png": "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\nR/4/HCsaYI4XH6kAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fout, H = euler_beam_frf()" ] }, { "cell_type": "code", "execution_count": 349, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.0" ] }, "execution_count": 349, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "a =plt.axis()\n", "a[0]" ] }, { "cell_type": "code", "execution_count": 329, "metadata": {}, "outputs": [ { "ename": "TypeError", "evalue": "can't convert complex to float", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mH\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m+\u001b[0m\u001b[0;36m1.j\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;31mTypeError\u001b[0m: can't convert complex to float" ] } ], "source": [ "H[1,1] = 1+1.j" ] }, { "cell_type": "code", "execution_count": 224, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([ 0.00000000e+00, 3.22778969e-05, 1.28565322e-04,\n", " 2.88042879e-04, 5.09891177e-04, 7.93290832e-04,\n", " 1.13742248e-03, 1.54146679e-03, 2.00460446e-03,\n", " 2.52601625e-03])" ] }, "execution_count": 224, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sp.sum(U[0:10,0:10],axis = 1)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "hide_input": false, "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.1" }, "latex_envs": { "bibliofile": "biblio.bib", "cite_by": "apalike", "current_citInitial": 1, "eqLabelWithNumbers": true, "eqNumInitial": 0 } }, "nbformat": 4, "nbformat_minor": 1 }