CH-08 (523178), страница 5
Текст из файла (страница 5)
The program allows interactivespecification of the values of a, L, t, and x, and requires the user to defineFUNCTION Subprograms F(X) and V0(X). Both FORTRAN and QuickBASICversions are listed below along with a sample application.QUICKBASIC VERSION© 2001 by CRC Press LLCSample ApplicationThe two function subprograms F and V0 listed in the program WavePDE areprepared for a string that has a length equal to 32 cm and is fastened at its two ends.At time t = 0, the string is lifted at x = 24 cm upward up 2 cm and then releasedfrom rest.
That is, for Equations 3 and 4, we have a particular case of f(x) = x/12in cm for 0≤x≤24 cm and f(x) = 8(x/4) in cm for 24<x≤32, and v0(x) = 0. Supposethat the wave velocity, a in Equation 1, is equal to 90 cm/sec2. We may be interestedin knowing the lateral displacements at 15 stations between its two ends equallyspaced at an increment of x = 2 cm for t>0. To perform the step-by-step calculationaccording to Equation 7, let us compute these displacements using a time incrementof t = 0.001 second and proceed until t reaches 2 second or when the maximumdisplacement umax is less than or equal to 0.001. In view of the small t, the resultsare to be printed after t has been increased by 0.1 second.
An interactive run of theprogram WavePDE is presented below:© 2001 by CRC Press LLC© 2001 by CRC Press LLCMATLAB APPLICATIONSA MATLAB version of WavePDE.m can be developed to run the sampleproblem as follows:When this function is applied for generating displacements using a time increment of 0.001 and a storing increment of 0.1, the MATLAB commands, the datafor plotting, and the resulting graph (Figure 2) having 21 curves each with 17 pointsare as follows:© 2001 by CRC Press LLCNotice that solid, broken, dotted, and dot center lines and in that order are usedrepeatedly for plotting the 21 curves in Figure 11.
The first four curves have beenmarked using the text command. Form the 21st column listed above, we observethat maximum initial displacement of 2 cm has only been reduced to 0.8529 cmafter two seconds. It should be pointed out that in WavePDE.m the computationshould also be ended when the sum of the absolute values of displacements is lessthan the specified tolerance.© 2001 by CRC Press LLCFIGURE 11. Solid, broken, dotted, and dot center lines are used repeatedly for plotting the21 curves in this figure.MATHEMATICA APPLICATIONMathematica can be applied to investigate the string vibration problem by thefollowing interactive operations:In[1]: = f[fx_]: = If[x>24, 8x/4, x/12]In[2]: = (asq = 81000; dt = 0.001; dx = 2: n = 15; eps = .1; tend = 2; dtp = 0.1;v0 = 0; np = 100; c = (dt/dx)^2*asq; exitflagg = 0; t = 0)In[3]: = u0 = Table[0.{j,n + 2}]; Do[x = (j–1)*dx; u0[[j]] = f[x];,{j,n + 2}];In[4]: = (Print["t = ",N[t,3]," String's Displacements are: "];Print[N[u03]])Out[4]: = t = 0 String's Displacements are:{0, 0.167, 0.333, 0.5, 0.667, 0.833, 1., 1.17, 1.33, 1.5, 1.67, 1.83,2., 1.5, 1., 0.5, 0}© 2001 by CRC Press LLCIn[5]: = t = t + dt; u = u0 + dt*v0; un = Table[0.{j,n + 2}]; nc = 2;In[6]: = (While[exitflag == 0, usum = 0; Do[un[[j + 1]] =-u0[[j + 1]] + c*u[[j]]+ 2*(1–c)*u[[j + 1]] + c*u[[j + 2]];usum = usum + Abs[un[[j + 1]]];,{j,n}];t = t + dt; If[(usum<eps)||(t>tend), exitflag = 1; Break,u0 = u; u = un;];If[nc = = np, Print["t = ",N[t,3]," String's Displacements are: "];Print[N[u,3]]; nc = 1;, nc = nc + 1]])Out[6]: = t = 0.1 String's Displacements are:{0.
0.167, 0.333, 0.5, 0.667, 0.833, 0.997, 1.14, 1.21, 1.07, 0.795,0.692, 0.499, 0.359, 0.131, 0.0961, 0}t = 0.2 String's Displacements are:{0. 0.163, 0.315, 0.423, 0.418, 0.24, –0.0295, –0.184, –0.285,–0.515, –0.632, –0.474, –0.749, –0.564, –0.287, –0.168, 0}t = 0.3 String's Displacements are:{0. –0.449, –0.818, –1.01, –1.12, –1.31, –1.47, –1.47, –1.45, –1.22,–0.95, –0.812,–0.691, –0.514, –0.298, –0.193, 0}t = 0.4 String's Displacements are:{0.
–0.42, –0.88, –1.26, –1.54, –1.63, –1.49, –1.44, –1.36, –1.17,–0.98, –0.829, –0.7, –0.456, –0.371, –0.146, 0}t = 0.5 String's Displacements are:{0. 0.242, 0.411, 0.285, 0.0344, 0.00989, –0.0857, –0.355, –0.0622,–0.774, –0.804, –0.803, –0.6, –0.528, –0.308, –.177, 0}t = 0.6 String's Displacements are:{0. 0.0971, 0.341, 0.481, 0.695, 0.976, 1.1, 1.01, 0.896, 0.855,0.68, 0.546, 0.217, 0.0517, –0.0764, –0.0592, 0}t = 0.7 String's Displacements are:{0.
0.183, 0.289, 0.523, 0.706, 0.82, 0.958, 1.11, 1.38, 1.59, 1.82,1.74, 1.62, 1.44, 1.15, 0.663, 0}t = 0.8 String's Displacements are:{0. 0.207, 0.297, 0.481, 0.724, 0.808, 0.913, 1.17, 1.2, 1.24, 1.1,0.893, 0.689, 0.567, 0.481, 0.273, 0}t = 0.9 String's Displacements are:{0. 0.164, 0.296, 0.379, 0.495, 0.44, 0.296, 0.0756, –0.104, –0.411,–0.537, –0.51, –0.563, –0.57, –0.537, –0.323, 0}© 2001 by CRC Press LLCt = 1.0 String's Displacements are:{0.
–0.22, –0.459, –0.725, –1.05, –1.15, –1.31, –1.34, –1.28, –1.31–1.2, –0.888, –0.539, –0.463, –0.53, –0.197, 0}t = 1.1 String's Displacements are:{0. –0.564, –0.992, –1.41, –1.64, –1.81, –1.69, –1.47, –1.25, –1.03,–1.06, –0.878, –0.651, –0.485, –0.361, –0.127, 0}t = 1.2 String's Displacements are:{0. –0.0102, 0.0177, 0.194, 0.133, –0.126, –0.447, –0.714, –0.804,–0.869, –0.789, –0.8, –0.639, –0.479, –0.324, –0.165, 0}t = 1.3 String's Displacements are:{0. 0.134, 0.357, 0.611, 0.813, 0.91, 0.897, 0.944, 0.815, 0.674,0.465, 0.222, –0.0661, –0.0771, –0.0758, –0.135, 0}t = 1.4 String's Displacements are:{0. 0.227, 0.43, 0.455, 0.57, 0.721, 1.07, 1.3, 1.47, 1.56, 1.67,1.64, 1.53, 1.38, 1.03, 0.484, 0}t = 1.5 String's Displacements are:{0. 0.207, 0.32, 0.515, 0.561, 0.869, 1.08, 1.12, 1.09, 1.18, 1.27,1.24, 1.16, 0.882, 0.515, 0.268, 0}t = 1.6 String's Displacements are:{0.
0.122, 0.339, 0.368, 0.499, 0.531, 0.534, 0.281, 0.0675, –0.0461,–0.285, –0.451, –0.579, –0.613, –0.48, –0.205, 0}t = 1.7 String's Displacements are:{0. –0.106, –0.269, –0.467, –0.732, –0.909, –1.19, –1.31, –1.25,–1.2, –1.08, –0.995, –0.837, –0.533, –0.156, 0.00405, 0}t = 1.8 String's Displacements are:{0. –0.585, –1.2, –1.55, –1.65, –1.72, –1.74, –1.58, –1.38, –1.66,–0.903, –0.718, –0.701, –0.542, –0.366, –0.166, 0}t = 1.9 String's Displacements are:{0.
0.0718, –0.0337, –0.188, –0.197, –0.4499, –0.591, –0.741, –0.937,–1.02, –0.919, –0.742, –0.546, –0.481, –0.362, –0.203, 0}t = 2.0 String's Displacements are:{0. 0.0356, 0.543, 0.699, 0.666, 0.816, 0.828, 0.853, 0.708, 0.399,0.0934, –0.0436, –0.0906, –0.161, –0.192, –0.0974, 0}The results are in complete agreement with those obtained previously.© 2001 by CRC Press LLC8.5 PROBLEMSPARABPDE1. Expand the program ParabPDE to print out the computed temperaturedistribution along the entire rod only when the temperature at an interactively specified location reaches an interactively entered value. The timerequired to reach this condition should be printed as shown below. Callthis new program ParaPDE1.Enter the x value at which a desired temperature is to be specified: 6.0Enter the temperature to be reached, in °F: 50It takes X.XXXXXE + 00 seconds.Notice that a format of E13.5 is to be used to print out the time.2.
Consider the transient heat-conduction problem where k/cρ = 0.00104ft2/sec, t = 1 sec, x = 1”, and at the left end of the rod, x = 0, thetemperature u is equal to 50°F initially but equal to 0°F for t>0. Computethe temperatures at x = 1”, 2”, and 3” when t = 1, 2, and 3 seconds.3. Use the same data as in the program ParabPDE, but modify the programfor the case when the right end is not insulated but is maintained at 0°Funtil t = 100 seconds and then is heated at 100°F afterwards.
Print outthe times required for the station at the mid-length reaches to 10°F, 20°F,at 10°F increments until 100°F.4. Study the effect of changing the value of DT in the program ParabPDEon tfinal, the time required for reaching the uniform distribution of 100°Fthroughout the rod. Tabulate DT vs. tfinal.5. Change the steady-state temperature from 100°F to 75°F and generate aplot similar to that shown in Figure 2.6. For the rod shown in Figure 1, one-half of the surface insulation, for x/L =0.4 to x/L = 0.7, is to be removed and the temperature for that portion ofthe rod is to be maintained at 70°F.
Modify the program ParabPDE isaccommodate for the computation needed to determine how long it takesto reach a stable temperature distribution.7. Apply MATLAB and Mathematica (using ParaPDE.m) to solve thetransient heat-conduction problem by decreasing x from 1 to 0.5.RELAXATN1. For the problem treated by the program Relaxatn except that the temperature is equal to 100°F along the top boundary, perform the relaxation byupgrading T starting from the top boundary instead of from the bottomboundary to expedite the convergence. Modify the program Relaxatn toperform this new sweeping process.2.
Round the right lower corner of the square plate with a radius equal to 5and consider this corner as an insulated boundary. Modify the program© 2001 by CRC Press LLCRelaxatn and rerun the problem to print out the converged temperaturedistribution.3. Initially, the temperatures are assumed to be equal to zero everywhere inthe plate shown in Figure 12 except those on the boundary. Carry out onecomplete relaxation (starting from the top row and from left to right, andthen down to the next row and so on) cycle to upgrade the unknowntemperatures.FIGURE 12. Problem 3.4.
Complete the derivation of relaxation equations for the temperatures atthe points B and C shown in Figure 2 by use of Equation 18 and byconsidering the cord BC only. Derive the equation for the point B byaveraging the effects of both cords AB and BC.5. For the problem described in Problem 3, derive a matrix equation of order5 for direct solution of the five unknown temperatures (two between pointsA and F, and three along the bottom insulted boundary) based on thefinite-difference formulas, Equations 3, 6, 8, 10, 11, or, 12. Compare theresulting temperature distribution with that obtained in Problem 3.6. Rework Problem 3 if the boundary DEFG is insulated but TD and TGremain equal to 100°F.7.