1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Advanced Mathematics and Mechanics Applications Using MATLAB phần 7 ppsx

72 384 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 72
Dung lượng 6,61 MB

Nội dung

INITIAL TEMPERATURE DISTRIBUTION 0.8 0.6 temperature 0.4 0.2 −0.2 −0.4 −0.6 −0.8 1 0.5 0.5 0 −0.5 y axis −0.5 −1 −1 x axis Figure 9.24: Initial Temperature 9.9.2 Computer Formulation A computer program was written to analyze the time dependent temperature Þeld The program speciÞes general initial temperature and boundary temperature The series solution is evaluated on a polar coordinate grid and an animation of the temperature variation from initial to steady state is shown The program modules include: 1) heatcyln which calls the computational modules and plots results; 2) besjtabl returns Bessel function roots used in the series solution; 3) tempinit speciÞes the initial temperature Þeld; 4) tempstdy computes the steady state solution; 5) tempdif computes the difference in the initial and the Þnal temperature Þelds; 6) foubesco evaluates coefÞcients in the Fourier-Bessel series; and (7) tempsum sums the Fourier-Bessel series for a vector of time values Figures 9.25 through 9.28 show the initial, Þnal, and two intermediate temperature states The program animates the temperature history so the transition from initial to steady-state can be visualized © 2003 by CRC Press LLC Temperature at time = 0.020 0.8 0.6 temperature 0.4 0.2 −0.2 −0.4 −0.6 −0.8 1 0.5 0.5 0 −0.5 −0.5 −1 y axis −1 x axis Figure 9.25: Temperature at t=0.02 Temperature at time = 0.050 0.8 0.6 temperature 0.4 0.2 −0.2 −0.4 −0.6 −0.8 1 0.5 0.5 0 −0.5 y axis −0.5 −1 −1 x axis Figure 9.26: Temperature at t=0.05 © 2003 by CRC Press LLC STEADY STATE TEMPERATURE DISTRIBUTION 0.8 0.6 temperature 0.4 0.2 −0.2 −0.4 −0.6 −0.8 1 0.5 0.5 0 −0.5 y axis −0.5 −1 −1 x axis Figure 9.27: Steady State Temperature © 2003 by CRC Press LLC Program heatcyln 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: function heatcyln % % heatcyln % ~~~~~~~~ % This program analyzes the time varying temperature % history in a circular cylinder which initially has % a radially symmetric temperature varying para% bolically Then a spatially varying but constant % boundary temperature distribution is imposed The % total solution is composed of a harmonic steady % state solution plus a transient component given by % a Fourier-Bessel series % User functions called: % besjtabl, tempinit, tempstdy, foubesco, % tempsum, tempdif, gcquad 16: 17: global ubdry besjrt 18: 19: 20: 21: % Obtain Bessel function roots needed in the % transient solution besjrt=besjtabl(0:20,20); 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: % Define the steady state temperature imposed % on the outer boundary for t>0 th=linspace(0,pi,100)’; ud=cos(2*th).*(thpi/2&th ? ’); if isempty(v), v=1; end if v~=1, break, end for j=1:nt utotal=usteady+u(:,:,j); surf(x,y,utotal) titl=sprintf([’Temperature at time =’, ’%6.3f’],t(j)); title(titl) xlabel(’x axis’), ylabel(’y axis’) zlabel(’temperature’), axis(range); drawnow; shg, pause(.3) end end 85: 86: %============================================= © 2003 by CRC Press LLC 87: 88: 89: 90: 91: 92: 93: 94: 95: 96: function [u,z]=tempstdy(theta,r) % % [u,z]=tempstdy(theta,r) % ~~~~~~~~~~~~~~~~~~~~~~ % Steady state temperature distribution in a % circular cylinder of unit radius with % piecewise linear boundary values % described in global array ubdry global ubdry 97: 98: 99: 100: 101: 102: 103: thft=2*pi/(1024)*(0:1023); n=100; ufft=interp1(pi/180*ubdry(:,1), ubdry(:,2)/1024,thft); c=fft(ufft); z=exp(i*theta(:))*r(:)’; u=-real(c(1))+2*real( polyval(c(n:-1:1),z)); 104: 105: %============================================= 106: 107: 108: 109: 110: 111: 112: 113: 114: function [u,z]=tempinit(theta,r) % % [u,z]=tempinit(theta,r) % ~~~~~~~~~~~~~~~~~~~~~~ % Initial temperature varying parabolically % with the radius theta=theta(:); r=r(:)’; z=exp(i*theta)*r; u=ones(length(theta),1)*(1-r.^2); 115: 116: %============================================= 117: 118: 119: 120: 121: 122: 123: 124: 125: function [u,z]=tempdif(theta,r) % % [u,z]=tempdif(theta,r) % ~~~~~~~~~~~~~~~~~~~~~ % Difference between the steady state temp% erature and the initial temperature u1=tempstdy(theta,r); [u2,z]=tempinit(theta,r); u=u2-u1; 126: 127: %============================================= 128: 129: 130: 131: function [c,lam,cptim]=foubesco( f,nord,nrts,nrquad,nft) % © 2003 by CRC Press LLC 132: 133: 134: 135: 136: 137: 138: 139: 140: 141: 142: 143: 144: 145: 146: 147: 148: 149: 150: 151: 152: 153: 154: 155: % [c,lam,cptim]=foubesco(f,nord,nrts,nrquad,nft) % ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ % Fourier-Bessel coefficients computed using the % FFT global besjrt if nargin 100 freq number 10 11 12 13 14 15 16 17 18 19 20 exact freq fdif freq fd pct error 3.51602e+00 2.20345e+01 6.16972e+01 1.20902e+02 1.99860e+02 2.98556e+02 4.16991e+02 5.55165e+02 7.13079e+02 8.90732e+02 1.08812e+03 1.30526e+03 1.54213e+03 1.79874e+03 2.07508e+03 2.37117e+03 2.68700e+03 3.02257e+03 3.37787e+03 3.75292e+03 3.51572e+00 2.20250e+01 6.16414e+01 1.20714e+02 1.99386e+02 2.97558e+02 4.15123e+02 5.51957e+02 7.07918e+02 8.82842e+02 1.07655e+03 1.28884e+03 1.51950e+03 1.76830e+03 2.03497e+03 2.31926e+03 2.62088e+03 2.93951e+03 3.27486e+03 3.62657e+03 -0.008 -0.043 -0.090 -0.155 -0.237 -0.334 -0.448 -0.578 -0.724 -0.886 -1.064 -1.257 -1.467 -1.692 -1.933 -2.189 -2.461 -2.748 -3.050 -3.367 ====== 90 91 92 93 94 95 96 97 98 99 100 felt freq 3.51602e+00 2.20345e+01 6.16972e+01 1.20902e+02 1.99860e+02 2.98558e+02 4.16999e+02 5.55184e+02 7.13119e+02 8.90809e+02 1.08826e+03 1.30550e+03 1.54252e+03 1.79937e+03 2.07605e+03 2.37261e+03 2.68908e+03 3.02551e+03 3.38197e+03 3.75851e+03 INTERMEDIATE LINES OF OUTPUT DELETED 7.90580e+04 8.08345e+04 8.26308e+04 8.44468e+04 8.62825e+04 8.81380e+04 9.00133e+04 9.19082e+04 9.38229e+04 9.57574e+04 9.77116e+04 3.88340e+04 3.90347e+04 3.92169e+04 3.93804e+04 3.95250e+04 3.96507e+04 3.97572e+04 3.98445e+04 3.99125e+04 3.99611e+04 3.99903e+04 -50.879 -51.710 -52.540 -53.367 -54.191 -55.013 -55.832 -56.648 -57.460 -58.268 -59.073 Evaluate the time response from two concentrated loads One downward at the middle and one upward at the free end input the time step and the maximum time (0.04 and 5.0) are typical Use 0,0 to stop © 2003 by CRC Press LLC fe pct error 0.000 0.000 0.000 0.000 0.000 0.001 0.002 0.003 0.006 0.009 0.013 0.019 0.026 0.035 0.047 0.061 0.077 0.098 0.121 0.149 ====== 1.09328e+05 1.11989e+05 1.14512e+05 1.16860e+05 1.18999e+05 1.20889e+05 1.22496e+05 1.23786e+05 1.24730e+05 1.25305e+05 1.49694e+05 38.288 38.541 38.582 38.384 37.917 37.159 36.086 34.684 32.941 30.857 53.200 ? 04,5 Evaluate the time response resulting from a concentrated downward load at the middle and an upward end load input the time step and the maximum time (0.04 and 5.0) are typical Use 0,0 to stop ? 0,0 Program cbfrq 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: function cbfreq % Example: cbfreq % ~~~~~~~~~~~~~~~~ % This program computes approximate natural % frequencies of a uniform depth cantilever % beam using finite difference and finite % element methods Error results are presented % which demonstrate that the finite element % method is much more accurate than the finite % difference method when the same matrix orders % are used in computation of the eigenvalues % % User m functions required: % cbfrqnwm, cbfrqfdm, cbfrqfem, frud, % examplmo, beamanim, plotsave, inputv 16: 17: 18: 19: 20: 21: clear, fprintf(’\n\n’) fprintf(’CANTILEVER BEAM FREQUENCIES BY ’) fprintf(’FINITE DIFFERENCE AND’) fprintf( ’\n FINITE ELEMENT APPROXIMATION\n’) 22: 23: 24: 25: 26: 27: fprintf(’\nGive the number of frequencies ’) fprintf(’to be computed’) fprintf(’\n(use an even number greater ’) fprintf(’than 2)\n’), n=input(’? > ’); if rem(n,2) ~= 0, n=n+1; end 28: 29: 30: 31: % Exact frequencies from solution of % the frequency equation wex = cbfrqnwm(n,1e-12); 32: © 2003 by CRC Press LLC 33: 34: 35: % Frequencies for the finite % difference solution wfd = cbfrqfdm(n); 36: 37: 38: 39: 40: 41: 42: % Frequencies, modal vectors, mass matrix, % and stiffness matrix from the finite % element solution nelts=n/2; [wfe,mv,mm,kk] = cbfrqfem(nelts); pefdm=(wfd-wex)./(.01*wex); pefem=(wfe-wex)./(.01*wex); 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: nlines=17; nloop=round(n/nlines); v=[(1:n)’,wex,wfd,pefdm,wfe,pefem]; disp(’ ’), lo=1; t1=[’ freq exact fdif.’ ’ fd pct.’]; t1=[t1,’ felt fe pct.’]; t2=[’number freq freq.’ ’ error ’]; t2=[t2,’ freq error ’]; while lo < n disp(t1),disp(t2) hi=min(lo+nlines-1,n); for j=lo:hi s1=sprintf(’\n %4.0f %13.5e %13.5e’, v(j,1),v(j,2),v(j,3)); s2=sprintf(’ %9.3f %13.5e %9.3f’, v(j,4),v(j,5),v(j,6)); fprintf([s1,s2]) end fprintf(’\n\nPress [Enter] to continue\n\n’); pause; lo=lo+nlines; end plotsave(wex,wfd,pefdm,wfe,pefem) nfe=length(wfe); nmidl=nfe/2; if rem(nmidl,2)==0, nmidl=nmidl+1; end x0=zeros(nfe,1); v0=x0; w=0; f1=zeros(nfe,1); f2=f1; f1(nfe-1)=1; f1(nmidl)=-5; xsav=examplmo(mm,kk,f1,f2,x0,v0,wfe,mv); close; fprintf(’All Done\n’) 75: 76: %============================================= 77: © 2003 by CRC Press LLC 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 94: function z=cbfrqnwm(n,tol) % % z=cbfrqnwm(n,tol) % ~~~~~~~~~~~~~~~~~ % Cantilever beam frequencies by Newton’s % method Zeros of % f(z) = cos(z) + 1/cosh(z) % are computed % % n - Number of frequencies required % tol - Error tolerance for terminating % the iteration % z - Dimensionless frequencies are the % squares of the roots of f(z)=0 % % User m functions called: none % 95: 96: if nargin ==1, tol=1.e-5; end 97: 98: 99: 100: % Base initial estimates on the asymptotic % form of the frequency equation zbegin=((1:n)-.5)’*pi; zbegin(1)=1.875; big=10; 101: 102: 103: 104: 105: 106: 107: 108: 109: 110: % Start Newton iteration while big > tol t=exp(-zbegin); tt=t.*t; f=cos(zbegin)+2*t./(1+tt); fp=-sin(zbegin)-2*t.*(1-tt)./(1+tt).^2; delz=-f./fp; z=zbegin+delz; big=max(abs(delz)); zbegin=z; end z=z.*z; 111: 112: %============================================= 113: 114: 115: 116: 117: 118: 119: 120: 121: 122: function [wfindif,mat]=cbfrqfdm(n) % % [wfindif,mat]=cbfrqfdm(n) % ~~~~~~~~~~~~~~~~~~~~~~~~~ % This function computes approximate cantilever % beam frequencies by the finite difference % method The truncation error for the % differential equation and boundary % conditions are of order h^2 © 2003 by CRC Press LLC 123: 124: 125: 126: 127: 128: 129: 130: 131: 132: 133: % % n - Number of frequencies to be % computed % wfindif - Approximate frequencies in % dimensionless form % mat - Matrix having eigenvalues which % are the square roots of the % frequencies % % User m functions called: none % 134: 135: 136: 137: % Form the primary part of the frequency matrix mat=3*diag(ones(n,1))-4*diag(ones(n-1,1),1)+ diag(ones(n-2,1),2); mat=(mat+mat’); 138: 139: 140: 141: % Impose left end boundary conditions % y(0)=0 and y’(0)=0 mat(1,[1:3])=[7,-4,1]; mat(2,[1:4])=[-4,6,-4,1]; 142: 143: 144: 145: 146: % Impose right end boundary conditions % y’’(1)=0 and y’’’(1)=0 mat(n-1,[n-3:n])=[1,-4,5,-2]; mat(n,[n-2:n])=[2,-4,2]; 147: 148: 149: 150: 151: % Compute approximate frequencies and % sort these values w=eig(mat); w=sort(w); h=1/n; wfindif=sqrt(w)/(h*h); 152: 153: %============================================= 154: 155: 156: 157: 158: 159: 160: 161: 162: 163: 164: 165: 166: 167: function [wfem,modvecs,mm,kk]= cbfrqfem(nelts,mas,len,ei) % % [wfem,modvecs,mm,kk]= % cbfrqfem(nelts,mas,len,ei) % ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ % Determination of natural frequencies of a % uniform depth cantilever beam by the Finite % Element Method % % nelts - number of elements in the beam % mas - total beam mass % len - total beam length © 2003 by CRC Press LLC 168: 169: 170: 171: 172: 173: 174: 175: 176: % ei - elastic modulus times moment % of inertia % wfem - dimensionless circular frequencies % modvecs - modal vector matrix % mm,kk - reduced mass and stiffness % matrices % % User m functions called: none % 177: 178: 179: 180: if nargin==1, mas=1; len=1; ei=1; end n=nelts; le=len/n; me=mas/n; c1=6/le^2; c2=3/le; c3=2*ei/le; 181: 182: 183: 184: 185: 186: 187: % element mass matrix masselt=me/420* [ 156, 22*le, 54, -13*le 22*le, 4*le^2, 13*le, -3*le^2 54, 13*le, 156, -22*le -13*le, -3*le^2, -22*le, 4*le^2]; 188: 189: 190: 191: 192: 193: % element stiffness matrix stifelt=c3*[ c1, c2, -c1, c2 c2, 2, -c2, -c1, -c2, c1, -c2 c2, 1, -c2, 2]; 194: 195: 196: ndof=2*(n+1); jj=0:3; mm=zeros(ndof); kk=zeros(ndof); 197: 198: 199: 200: 201: 202: % Assemble equations for i=1:n j=2*i-1+jj; mm(j,j)=mm(j,j)+masselt; kk(j,j)=kk(j,j)+stifelt; end 203: 204: 205: 206: % Remove degrees of freedom for zero % deflection and zero slope at the left end mm=mm(3:ndof,3:ndof); kk=kk(3:ndof,3:ndof); 207: 208: 209: 210: 211: 212: % Compute frequencies if nargout ==1 wfem=sqrt(sort(real(eig(mm\kk)))); else [modvecs,wfem]=eig(mm\kk); © 2003 by CRC Press LLC 213: 214: 215: [wfem,id]=sort(diag(wfem)); wfem=sqrt(wfem); modvecs=modvecs(:,id); end 216: 217: %============================================= 218: 219: 220: 221: 222: 223: 224: 225: 226: 227: 228: 229: 230: 231: 232: 233: 234: 235: 236: 237: 238: 239: 240: 241: 242: 243: 244: 245: 246: 247: 248: function [t,x]= frud(m,k,f1,f2,w,x0,v0,wn,modvc,h,tmax) % % [t,x]=frud(m,k,f1,f2,w,x0,v0,wn,modvc,h,tmax) % ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ % This function employs modal superposition % to solve % % m*x’’ + k*x = f1*cos(w*t) + f2*sin(w*t) % % m,k - mass and stiffness matrices % f1,f2 - amplitude vectors for the forcing % function % w - forcing frequency not matching any % natural frequency component in wn % wn - vector of natural frequency values % x0,v0 - initial displacement and velocity % vectors % modvc - matrix with modal vectors as its % columns % h,tmax - time step and maximum time for % evaluation of the solution % t - column of times at which the % solution is computed % x - solution matrix in which row j % is the solution vector at % time t(j) % % User m functions called: none % 249: 250: 251: t=0:h:tmax; nt=length(t); nx=length(x0); wn=wn(:); wnt=wn*t; 252: 253: 254: 255: 256: % Evaluate the particular solution x12=(k-(w*w)*m)\[f1,f2]; x1=x12(:,1); x2=x12(:,2); xp=x1*cos(w*t)+x2*sin(w*t); 257: © 2003 by CRC Press LLC 258: 259: 260: 261: 262: % Evaluate the homogeneous solution cof=modvc\[x0-x1,v0-w*x2]; c1=cof(:,1)’; c2=(cof(:,2)./wn)’; xh=(modvc.*c1(ones(1,nx),:))*cos(wnt)+ (modvc.*c2(ones(1,nx),:))*sin(wnt); 263: 264: 265: 266: % Combine the particular and % homogeneous solutions t=t(:); x=(xp+xh)’; 267: 268: %============================================= 269: 270: 271: 272: 273: 274: 275: 276: 277: 278: 279: 280: 281: 282: 283: 284: 285: function x=examplmo(mm,kk,f1,f2,x0,v0,wfe,mv) % % x=examplmo(mm,kk,f1,f2,x0,v0,wfe,mv) % ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ % Evaluate the response caused when a downward % load at the middle and an upward load at the % free end is applied % % mm, kk - mass and stiffness matrices % f1, f2 - forcing function magnitudes % x0, v0 - initial position and velocity % wfe - forcing function frequency % mv - matrix of modal vectors % % User m functions called: frud, beamanim, inputv % 286: 287: 288: 289: 290: 291: 292: 293: 294: 295: 296: 297: 298: 299: w=0; n=length(x0); t0=0; x=[]; s1=[’\nEvaluate the time response from two’, ’\nconcentrated loads One downward at the’, ’\nmiddle and one upward at the free end.’]; while fprintf(s1), fprintf(’\n\n’) fprintf(’Input the time step and ’) fprintf(’the maximum time ’) fprintf(’\n(0.04 and 5.0) are typical.’) fprintf(’ Use 0,0 to stop\n’) [h,tmax]=inputv; if norm([h,tmax])==0 | isnan(h), return, end disp(’ ’) 300: 301: 302: [t,x]= frud(mm,kk,f1,f2,w,x0,v0,wfe,mv,h,tmax); © 2003 by CRC Press LLC 303: 304: x=x(:,1:2:n-1); x=[zeros(length(t),1),x]; [nt,nc]=size(x); hdist=linspace(0,1,nc); 305: 306: 307: 308: 309: 310: 311: 312: 313: 314: clf, plot(t,x(:,nc),’k-’) title(’Position of the Free End of the Beam’) xlabel(’dimensionless time’) ylabel(’end deflection’), figure(gcf) disp(’Press [Enter] for a surface plot of’) disp(’transverse deflection versus x and t’) pause print -deps endpos1 xc=linspace(0,1,nc); zmax=1.2*max(abs(x(:))); 315: 316: 317: 318: 319: 320: 321: 322: 323: 324: 325: 326: 327: clf, surf(xc,t,x), view(30,35) colormap([1 1]) axis([0,1,0,tmax,-zmax,zmax]) xlabel(’x axis’); ylabel(’time’) zlabel(’deflection’) title([’Cantilever Beam Deflection ’ ’for Varying Position and Time’]) figure(gcf); print -deps endpos2 disp(’ ’), disp([’Press [Enter] to animate’, ’ the beam motion’]) pause 328: 329: 330: 331: 332: titl=’Cantilever Beam Animation’; xlab=’x axis’; ylab=’displacement’; beamanim(hdist,x,0.1,titl,xlab,ylab), close end 333: 334: %============================================= 335: 336: 337: % function beamanim(x,u,tpause,titl,xlabl,ylabl) % See Appendix B 338: 339: %============================================= 340: 341: 342: 343: 344: 345: 346: 347: function plotsave(wex,wfd,pefd,wfe,pefem) % % function plotsave(wex,wfd,pefd,wfe,pefem) % ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ % This function plots errors in frequencies % computed by two approximate methods % © 2003 by CRC Press LLC 348: 349: 350: 351: 352: 353: 354: % wex - exact frequencies % wfd - finite difference frequencies % wfe - finite element frequencies % pefd,pefem - percent errors by both methods % % User m functions called: none % 355: 356: 357: 358: 359: 360: 361: % plot results comparing accuracy % of both frequency methods w=[wex(:);wfd(:);wfd]; wmin=min(w); wmax=max(w); n=length(wex); wht=wmin+.001*(wmax-wmin); j=1:n; 362: 363: 364: 365: 366: 367: 368: 369: 370: 371: semilogy(j,wex,’k-’,j,wfe,’k ’,j,wfd,’k:’) title(’Cantilever Beam Frequencies’) xlabel(’frequency number’) ylabel(’frequency values’) legend(’Exact freq.’,’Felt freq.’, ’Fdif freq.’,2); figure(gcf) disp([’Press [Enter] for a frequency ’, ’error plot’]), pause print -deps beamfrq1 372: 373: 374: 375: 376: 377: 378: 379: 380: 381: 382: 383: plot(j,abs(pefd),’k ’,j,abs(pefem),’k-’) title([’Cantilever Beam Frequency ’ ’Error Percentages’]) xlabel(’frequency number’) ylabel(’percent frequency error’) legend(’Fdif pct error’,’Felt pct error’,4) figure(gcf) disp([’Press [Enter] for a transient ’, ’response calculation’]) pause print -deps beamfrq2 384: 385: %============================================= 386: 387: 388: % function varargout=inputv(prompt) % See Appendix B © 2003 by CRC Press LLC 10.7 Vibration Modes of an Elliptic Membrane 10.7.1 Analytical Formulation Examples using eigenvalues and modal functions of rectangular or circular membranes were presented in chapter In this section we analyze modal vibrations of an elliptic membrane In this case the natural frequencies and modal functions cannot be obtained easily in explicit form The problem can be formulated in elliptical coordinates leading to Mathieu type differential equations [74] Library routines to compute these functions are not widely available; so, a different approach is employed using least squares approximation and the MATLAB function eig Consider a membrane with major and minor semi-diameters a and b The analytic function √ z = h cosh(ς) where h = a2 − b2 and ζ = ξ + i η maps the rectangle deÞned by ≤ ξ ≤ R = tanh−1 (b/a), −π ≤ η ≤ π onto the interior of the ellipse This transformation takes lines of constant ξ into a system of confocal ellipses and lines of constant η into hyperbolas intersecting the ellipses orthogonally The following function was used to produce the elliptic coordinate plot in Figure 10.13 function z = elipmap(a,b,neta,nxi) h=sqrt(aˆ2-bˆ2); R=atanh(b/a); [xi,eta]=meshgrid( linspace(0,R,nxi),linspace(-pi,pi,neta)); z=h*cosh(xi+i*eta); x=real(z); y=imag(z); plot(x,y,’k’,x’,y’,’k’) title(’ELLIPTICAL COORDINATE SYSTEM’) xlabel(’x axis’), ylabel(’y axis’) axis equal, grid off, shg Transforming the wave equation to (ξ, η) coordinates gives Uξξ + Uηη = h2 [cosh(2ξ) − cos(2η)] Utt , and assuming separable solutions of the form U = f (η)g(ξ) sin(Ω t) leads to f (η) g (ξ) + = −λ [cosh(2ξ) − cos(2η)], f (η) g(ξ) where λ = Ω2 h2 /2 So f and g are found to satisfy the following two Mathieu type differential equations: f (η) + [α − λ cos(2η)]f (η) = 0, −π ≤ η ≤ π © 2003 by CRC Press LLC ... 74 . 673 8 76 .0 673 77 .4536 78 .83 37 80.2 071 81. 575 2 55 .76 55 57. 3 275 58. 873 0 60.4033 61.9193 63.4221 64.9128 66.3913 67. 8594 69.3 172 70 .76 53 72 .2044 73 .63 47 75.05 67 76. 471 0 77 . 877 9 79 . 277 6 80. 670 6... 26 .77 33 28.02 67 29. 270 6 30.5060 31 .73 34 32.95 37 34.1 672 35. 374 7 36. 576 4 37. 772 9 14.9309 16. 470 7 17. 9599 19.4094 20.8269 22.2 178 23.5861 24.9350 26.2668 27. 5839 28.8 874 30. 179 0 31.4600 32 .73 10... 26.9 074 21.21 17 41.0308 60.4194 52.6241 72 .70 65 28.1024 22 .76 01 42.4439 61 .78 93 54.1856 74 .18 27 29.2909 24. 270 2 43.8439 63.1524 55 .72 97 75.6493 30. 473 3 25 .74 82 45.2315 64.5084 57. 2 577 77 .10 67 31.6501

Ngày đăng: 08/08/2014, 11:21