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": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"from numpy import cosh, sinh, sin, cos, exp \n",
"from scipy import special\n",
"import scipy.integrate as integrate\n",
"import matplotlib.pyplot as plt\n",
"from scipy.optimize import fsolve\n",
"eps=np.finfo(float).eps"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"%matplotlib inline"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# PDE solution for a vibrating E-B beam\n",
"\n",
"$EI\\frac{d^4 w}{dx^4}=-\\rho A \\frac{d^2 w}{dt^2}$\n",
"\n",
"$w(x,t) = Re\\left[\\hat{w}(x)e^{-i \\omega t}\\right]$\n",
"\n",
"$\\hat{w}(x) = A_1 \\cosh(\\beta x) +A_2 \\sinh(\\beta x) + \n",
" A_3 \\cos(\\beta x) +A_4 \\sin(\\beta x)$\n",
" \n",
"$\\beta = \\left(\\frac{\\rho A \\omega^2}{EI}\\right)^{1/4}$\n",
"\n",
"\n",
"Boundary conditions and initial conditions:\n",
"\n",
"$\\hat{w}(0)=0,~\\hat{w}'(0)=0$ fixed dislacement and applied moment at 0\n",
"\n",
"$\\hat{w}''(L)=0,~\\hat{w}'''(L)=0$ no shear, no moment at L\n",
"\n",
"$w(x,0)=f(x)$ or $\\dot{w}(x,0)=g(x)$\n",
"\n",
"eigenvalues from BC's:\n",
"\n",
"$\\cosh(\\beta_n L)\\cos(\\beta_n L)+1 = 0$\n",
"\n",
"eigenfunctions are then equation:\n",
"\n",
"$\\hat{w}(x)=\\left(\\cosh(\\beta_n x)- \\cos(\\beta x)\\right)+\n",
"\\frac{\\cos(\\beta_n L)+ \\cosh(\\beta_n L)}\n",
"{\\sin(\\beta_n L)+ \\sinh(\\beta_n L)}\\left(\n",
"\\sin(\\beta x) - \n",
"\\sinh(\\beta x)\\right)$"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"95 eigenvalues range between 1.87510406871 and 296.880505764\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7160ccde10>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"\n",
"bmax=300\n",
"L=1\n",
"eigprob= lambda bn: cosh(bn*L)*cos(bn*L)+1\n",
"\n",
"b=np.linspace(1,bmax,100000)\n",
"plt.figure(3)\n",
"plt.plot(b,eigprob(b),'.')\n",
"plt.plot(b,np.zeros(np.shape(b)))\n",
"plt.ylim((-100,100))\n",
"plt.title('zeros are eigenvalues')\n",
"i_cross=np.where(np.diff(np.sign(eigprob(b))))\n",
"i_cross\n",
"# Solve for eigenvalues between 1 and Lmax\n",
"Bn=fsolve(eigprob,b[i_cross],xtol=1e-11)\n",
"print(str(len(Bn))+' eigenvalues range between '+str(Bn[0])+' and '+str(Bn[-1]))"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7138b4c7d0>]"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x713a0ddc50>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"E=70e9\n",
"b=3e-3\n",
"w=10e-3\n",
"A=b*w\n",
"I=w*b**3/12\n",
"rho=2700\n",
"\n",
"def wn(B,x):\n",
" return (cosh(B*x)-cos(B*x))+(cos(B*L)+cosh(B*L))/(sin(B*L)+sinh(B*L))*(sin(B*x)-sinh(B*x))\n",
"\n",
"def freq_n(B):\n",
" return np.sqrt(E*I*B**4/rho/A)\n",
"\n",
"x=np.linspace(0,1)\n",
"plt.plot(x,wn(Bn[0],x))"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"def dAn(B,x):\n",
" f=freq_n(B)\n",
" dAn= wn(B,L)/f/wn(B,x)**2\n",
" return dAn\n",
"\n",
"def wn0L2(B):\n",
" wn2=integrate.quadrature(lambda x: wn(B,x)**2,0,L, maxiter=500)\n",
" return wn2[0]\n",
"\n",
"def An(B):\n",
" f=freq_n(B)\n",
" An=wn(B,L)/f/wn0L2(B)\n",
" return An"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"def wxt(x,t,B):\n",
" X,T=np.meshgrid(x,t)\n",
" wxt=np.zeros(X.shape)\n",
" for bn in B:\n",
" f=freq_n(bn)\n",
" A=An(bn)\n",
" wxt+=A*wn(bn,X)*sin(f*T)\n",
" return wxt,X,T"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"first natural frequency is 2.46756529572 Hz\n",
"first time period is 0.405257766323 s\n"
]
}
],
"source": [
"f=freq_n(Bn[0])\n",
"print('first natural frequency is '+str(f/2.0/np.pi)+' Hz') # f rad/s* 1 cycle/2/pi rad = fn cycle/s\n",
"print('first time period is '+str(2.0*np.pi/f)+' s')"
]
},
{
"cell_type": "code",
"execution_count": 56,
"metadata": {},
"outputs": [],
"source": [
"x=np.linspace(0,1,100)\n",
"t=np.linspace(0,0.5,100)\n",
"w,X,T=wxt(x,t,Bn[:50])"
]
},
{
"cell_type": "code",
"execution_count": 57,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([ 0.00000000e+00, -8.20148340e-05, -3.02424147e-04,\n",
" -6.23023188e-04, -1.00642261e-03, -1.41687399e-03,\n",
" -1.82128310e-03, -2.19031535e-03, -2.49948835e-03,\n",
" -2.73013943e-03, -2.87015473e-03, -2.91435400e-03,\n",
" -2.86444478e-03, -2.72849212e-03, -2.51989347e-03,\n",
" -2.25590056e-03, -1.95578516e-03, -1.63879697e-03,\n",
" -1.32210255e-03, -1.01891736e-03, -7.37043232e-04,\n",
" -4.77998808e-04, -2.36880150e-04, -3.01704619e-06,\n",
" 2.38595590e-04, 5.05203500e-04, 8.13734218e-04,\n",
" 1.17804111e-03, 1.60626071e-03, 2.09860302e-03,\n",
" 2.64586654e-03, 3.22890560e-03, 3.81918271e-03,\n",
" 4.38042228e-03, 4.87125748e-03, 5.24864303e-03,\n",
" 5.47170838e-03, 5.50565987e-03, 5.32531767e-03,\n",
" 4.91789598e-03, 4.28470469e-03, 3.44155854e-03,\n",
" 2.41781633e-03, 1.25412118e-03, -9.42413045e-07,\n",
" -1.29493613e-03, -2.57597482e-03, -3.79698809e-03,\n",
" -4.91938484e-03, -5.91573433e-03, -6.77118725e-03,\n",
" -7.48350285e-03, -8.06170693e-03, -8.52356151e-03,\n",
" -8.89216178e-03, -9.19207408e-03, -9.44547731e-03,\n",
" -9.66876442e-03, -9.87000049e-03, -1.00475265e-02,\n",
" -1.01898584e-02, -1.02768713e-02, -1.02821052e-02,\n",
" -1.01758917e-02, -9.92890987e-03, -9.51572132e-03,\n",
" -8.91785924e-03, -8.12607816e-03, -7.14151606e-03,\n",
" -5.97562198e-03, -4.64886483e-03, -3.18843356e-03,\n",
" -1.62516372e-03, 9.86727596e-06, 1.68866642e-03,\n",
" 3.38922953e-03, 5.09749609e-03, 6.80839221e-03,\n",
" 8.52555129e-03, 1.02600559e-02, 1.20284134e-02,\n",
" 1.38492937e-02, 1.57405730e-02, 1.77165638e-02,\n",
" 1.97857621e-02, 2.19486157e-02, 2.41977352e-02,\n",
" 2.65182240e-02, 2.88868535e-02, 3.12842162e-02,\n",
" 3.36785183e-02, 3.60512131e-02, 3.83887258e-02,\n",
" 4.06675236e-02, 4.28751538e-02, 4.50519630e-02,\n",
" 4.71578774e-02, 4.92850005e-02, 5.12927532e-02,\n",
" 5.34165507e-02])"
]
},
"execution_count": 57,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"w[1,:]"
]
},
{
"cell_type": "code",
"execution_count": 58,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7137ccd810>,\n",
" <matplotlib.lines.Line2D at 0x7137ccda10>,\n",
" <matplotlib.lines.Line2D at 0x7137ccdb50>,\n",
" <matplotlib.lines.Line2D at 0x7137ccdc90>,\n",
" <matplotlib.lines.Line2D at 0x7137ccddd0>,\n",
" <matplotlib.lines.Line2D at 0x7137ccdf10>,\n",
" <matplotlib.lines.Line2D at 0x7137cb1090>,\n",
" <matplotlib.lines.Line2D at 0x7137cb11d0>,\n",
" <matplotlib.lines.Line2D at 0x7137cb1310>,\n",
" <matplotlib.lines.Line2D at 0x7137cb1450>]"
]
},
"execution_count": 58,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7137dc5f10>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.plot(X[10:20,:].T,w[10:20,:].T)"
]
},
{
"cell_type": "code",
"execution_count": 59,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.text.Text at 0x7137c7cb90>"
]
},
"execution_count": 59,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7137dc5210>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.plot(T[:,-1],w[:,-1])\n",
"plt.xlabel('time (s)')"
]
},
{
"cell_type": "code",
"execution_count": 55,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7137dc5290>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"for i in range(0,len(T[:,1])):\n",
" fname='./anim/frame%03i.png'%i\n",
" plt.clf()\n",
" plt.plot(X[i,:],w[i,:])\n",
" plt.axis([0,1,-0.25,0.25])\n",
" plt.savefig(fname,format='png')\n",
" #print(T[i,1],w[i,-1])\n",
"\n",
"#plt.savefig('frame')"
]
},
{
"cell_type": "code",
"execution_count": 54,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"\u001b[0;31mSignature:\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mclf\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;31mDocstring:\u001b[0m Clear the current figure.\n",
"\u001b[0;31mFile:\u001b[0m /usr/lib/python2.7/dist-packages/matplotlib/pyplot.py\n",
"\u001b[0;31mType:\u001b[0m function\n"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.clf?"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 2",
"language": "python",
"name": "python2"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.13"
}
},
"nbformat": 4,
"nbformat_minor": 2
}