Jeffrey E. Dahan MEAE4960-h01 Term Project: Analysis of the Flat Plate Boundary Layer December 11, 1999 Rensselaer Polytechnic Institute at Hartford Notation Listing u v U f F a a,b h N t j m w k fluid velocity in x direction fluid velocity in y direction full potential of fluid velocity in x direction boundary layer thickness non-dimensional distance stream function f() F() constant of homology initial condition endpoints iteration step size number of subintervals independent variable in Runge-Kutta Algorithm number of first order differential equations maximum number of j output approximations numerical constituents of w Table of Contents Background ........................................................ 1 Theoretical Analysis .......................................... 2 The Runge-Kutta Method .................................. 3 Utilizing the Method .......................................... 5 Results Analysis ................................................. 7 Appendix A: Program Coding ........................... 8 Appendix B: Program Output.......................... 11 Appendix C: Blasius Data Table ..................... 13 Appendix D: Graphs ........................................ 14 Slides ................................................................ 16 References ........................................................ 21 Numerical Analysis For Engineering—Fall 1999 Term Project Background One of the most fundamental applications in fluid dynamics is the effect of the laminar boundary layer over a flat plate. In 1908, H. Blasius, a student of Prandtl, was finally able to obtain the solution to steady state, two-dimensional, zero pressure gradient flow over a flat plate in the laminar flow regime. A brief synopsis of how Blasius obtained his solution is described below, and may be found in most fluid dynamics textbooks. For these conditions, the governing equations of motion for continuity and momentum respectively become: u v 0 x y [1] u u 2u u v v 2 x y y [2] With these given equations, upper and lower boundary conditions may be implemented. For flow at zero distance from the wall, there is no fluidic motion. As the flow approaches and infinite distance from the wall, the boundary effects approach zero, and the flow may achieve its full potential U. Therefore, the boundary conditions may be written as: at y 0, u 0 at y , u U [3] Now, introducing the stream function , satisfying equation 1, the velocity in the x and y directions may be written as: u y and v x [4] The distance moving away from the wall may be nondimensionalized using the solution to the Navier Stokes equation and the boundary layer thickness by: y y U x [5] Next, equation 4 is substituted into equation 2, yielding an equation only dependent upon : f xU [6] Now, the component velocities in equation 4 are differentiated and substituted back into equation 2 to obtain the relation with f as the dependent variable, and as the independent variable. This relation is defined as the Blasius Equation: 2 d3 f d2 f f 0 d 3 d 2 1 [7] Numerical Analysis For Engineering—Fall 1999 Term Project with corresponding boundary conditions of: at 0, f 0, at , df 0 d [8] df 1 d Theoretical Analysis Equation 7 is a non-linear third order differential equation, transformed from two second order partial differential equations (1 and 2) describing boundary layer growth over a flat plate. Once Blasius obtained the third order relation, he encountered the problem of only having initial conditions at the boundary for f and f’, and at infinity for f’. It was not until Howarth utilized numerical methods as a means to solve the Blasius relation that more precise data could be obtained. Now, using Numerical Analysis, the Blasius relation using the Runge-Kutta Method for systems of differential equations will be solved. First, three first order differential equations will be used to describe the Blasius equation: u1 f u2 f ' u3 f ' ' u1 ' f ' u2 [9] u 2 ' f ' ' u3 [10] u1u3 u3 ' f ' ' ' 2 u4 f ' ' ' [11] These three primed first order differential equations are to be entered into the Runge-Kutta Method (Algorithm 5.7) in Maple V. However, this algorithm requires three boundary conditions at one point, and there are only two conditions at = 0 and one condition at available. Therefore, further analysis is necessary to solve the Blasius equation. First, the Blasius relation (equation 7) is rewritten for convenience as: [12] 2 f ' ' ' ff ' ' 0 and a new relation F() is introduced. Now, f = aF(a) may be accurate only if F() is a possible solution to equation 12, so that now 2F’’’+FF’’ = 0. In this case, a is defined as an arbitrary constant of homology. It is simply a multiplier or constant which relates f to F by: lim f ' a 2 lim F ' a a 2 lim F ' a [13] It is a known initial condition that as , f’() = 1 Therefore, 1 a 2 lim F ' can be rewritten as: a lim F ' 1 2 [14] For the situation for 2F’’’+FF’’ = 0, the initial conditions are F(0) = 0, and F’(0) = 0. The third 2 Numerical Analysis For Engineering—Fall 1999 Term Project initial condition at 0 is found by stating F’’(0) = 1. Also, taking another derivative of equation 13 will yield f’’(0) = a3F’’(0) = a3. Finally, equation 14 is substituted in to yield what will be the third initial condition at = 0 for 2f’’’+ff’’ = 0: f ' ' 0 F ' 3 2 [15] The Runge-Kutta Method is actually going to be used twice in order to obtain the necessary results. The first run will utilize relations based on F since there are three known initial conditions at = 0. From that output, the third initial condition for the f relation at = 0 is obtained via equation 15. The Runge-Kutta Method The Runge-Kutta Method has been selected as a means to solve this differential equation since it has high-order local truncation error for accuracy and error control. In addition, this method makes it possible to avoid calculating the derivatives of f(t, y). In order to make use of the Runge-Kutta Method, the higher order equations given by Blasius must be transformed into a set of first order differential equations (equations 9, 10, 11). In the case of the Blasius equation, there exist a fourth order equation which must be reworked to satisfy the first order initial value condition given by: du1 dt du 2 dt du3 dt du 4 dt f1 t , u1 , u 2 , u3 , u 4 , f 2 t , u1 , u 2 , u3 , u 4 , where for a t b, u1 a 1 , f 3 t , u1 , u 2 , u3 , u 4 , u3 a 3 , f 4 t , u1 , u 2 , u3 , u 4 , u 2 a 2 , u 4 a 4 Ultimately, there should be just as many initial conditions to satisfy the same amount of first order differential equations. In the case of Blasius, there are three first order equations, and only two initial values at zero. However, there exists a value at infinity, which must be transformed into a corresponding value at zero in order to solve the system (see explanation above). The Runge-Kutta Method for Systems of Differential Equations Algorithm is carried out by the following progression (as stated in Numerical Analysis textbook). First, the inputs a t b are entered, with m equations — uj’ = fj(t, u1, u2,…, um), m approximations — uj(a) = j, and N subintervals. The Algorithm will then output the approximations wj for each uj(t) for N + 1 values of t. The Runge-Kutta Method is coded via the following: Step 1 Set h = (b - a)/N; t = a. The step value h is defined by separating the two endpoints a and b by N subintervals. t (independent variable) is initially defined as the first endpoint. 3 Numerical Analysis For Engineering—Fall 1999 Term Project Step 2 For j = 1, 2,…, m set wj = j. j is defined as the number of first order differential equations. wj is the approximation set equal to each of the initial conditions j at the first endpoint a. Step 3 OUTPUT (t, w1, w2,…,wm). The required output at the first endpoint a is listed, based on the initial condition values. Step 4 For j = 1, 2,…, N do steps 5—11. The iterative looping is set by j iterations, involving carrying out steps 5—11. Step 5 For j = 1, 2,…, m set Step 6 For j = 1, 2,…, m set k1, j hf j t , w1 , w2 ,..., wm . 1 1 1 h k 2, j hf j t , w1 k1,1 , w2 k1, 2 ,..., wm k1,m . 2 2 2 2 Step 7 For j = 1, 2,…, m set 1 1 1 h k3, j hf j t , w1 k 2,1 , w2 k 2, 2 ,..., wm k 2,m . 2 2 2 2 Step 8 For j = 1, 2,…, m set 1 1 1 h k 4, j hf j t , w1 k3,1 , w2 k3, 2 ,..., wm k3,m . 2 2 2 2 Step 9 For j = 1, 2,…, m set wj wj k 1, j 2k 2, j 2k3, j k 4, j 6 The approximations wj are stepped according the obtained k values. Step 10 Set t = a + ih t is stepped from the endpoint a by the step value h, i times. Step 11 OUTPUT (t, w1, w2,…,wm). The obtained data is outputted until and the loop will continue to completion m. Step 12 STOP 4 Numerical Analysis For Engineering—Fall 1999 Term Project Utilizing the Method As described earlier, the Blasius equation is a fourth order differential equation, which can be transformed into three first order differential equations. But, three initial conditions must be provided at the endpoint a, which in this case is 0. Only two initial conditions are available. The third must be obtained by knowing its value at the endpoint b. The three initial conditions for F are known at 0. And by equation 15, the third initial condition for f can be obtained from the output of F. Therefore, the Runge-Kutta Method will be utilized twice in Maple V, as well as Excel. The Maple inputs and code are listed below. The first run will use equations 9, 10, and 11, with initial conditions for the equation 2F’’’+FF’’ = 0: F(0) = 0, F’(0) = 0 and F’’(0) = 1. (I have modified the Maple code to output the results to 10 decimal places). The inputs for maple use y in place of u. > alg057(); This is the Runge-Kutta Method for Systems of m equations Input the number of equations > 3 Input the function F[1](t,y1 ... y3) in terms of t and y1 ... y3 > y2 For example: y1-t^2+1 Input the function F[2](t,y1 ... y3) in terms of t and y1 ... y3 > y3 For example: y1-t^2+1 Input the function F[3](t,y1 ... y3) in terms of t and y1 ... y3 > -1*y1*y3/2 For example: y1-t^2+1 Input left and right endpoints separated by blank > 0 8.5 Input the initial condition alpha[1] > 0 Input the initial condition alpha[2] > 0 Input the initial condition alpha[3] > 1 Input a positive integer for the number of subintervals > 15 Choice of output method: 1. Output to screen 2. Output to text file Please enter 1 or 2 > 1 RUNGE-KUTTA METHOD FOR SYSTEMS OF DIFFERENTIAL EQUATIONS T 7.500 7.750 8.000 8.250 8.500 W1 13.1555886800 13.6769399000 14.1982911200 14.7196423400 15.2409935600 W2 2.0854048370 2.0854048370 2.0854048370 2.0854048370 2.0854048370 W3 .0000000025 .0000000007 .0000000002 .0000000001 .0000000000 5 Numerical Analysis For Engineering—Fall 1999 Term Project As can be seen, W3 (F’’) approaches 0 for a value of t at 8.5. Now that F’(8.5) has been obtained, it is taken the –3/2 power in order to fix third initial condition at zero (equation 15). Therefore, f’’(0) = 2.0854048370^(-3/2) = .3320573386. Now, the second run through Maple may be made using the Runge-Kutta Method: > alg057(); This is the Runge-Kutta Method for Systems of m equations Input the number of equations > 3 Input the function F[1](t,y1 ... y3) in terms of t and y1 ... y3 > y2 For example: y1-t^2+1 Input the function F[2](t,y1 ... y3) in terms of t and y1 ... y3 > y3 For example: y1-t^2+1 Input the function F[3](t,y1 ... y3) in terms of t and y1 ... y3 > -1*y1*y3/2 For example: y1-t^2+1 Input left and right endpoints separated by blank > 0 12 Input the initial condition alpha[1] > 0 Input the initial condition alpha[2] > 0 Input the initial condition alpha[3] > 0.3320573386 Input a positive integer for the number of subintervals > 48 Choice of output method: 1. Output to screen 2. Output to text file Please enter 1 or 2 > 1 RUNGE-KUTTA METHOD FOR SYSTEMS OF DIFFERENTIAL EQUATIONS T 10.500 10.750 11.000 11.250 W1 8.7792118340 9.0292116980 9.2792115620 9.5292114260 W2 .9999994497 .9999994498 .9999994498 .9999994498 W3 .0000000012 .0000000004 .0000000001 .0000000000 As can be seen in the excerpt of the Maple output, f’ approaches 1 and f’’ reaches zero at an accuracy of ten decimal places. The complete output is listed in the Appendix. Next, using the coding as described by the Runge-Kutta explanation, an Excel Spreadsheet was formed, also yielding results to ten decimal places. Again, two runs were necessary: one run to determine the initial condition; and the second run to obtain the Blasius output data for comparison. For both scenarios, a small step size h = 0.05 was used in order to better pinpoint the necessary convergence. The Excel inputs and output excerpts are listed for the first run below: 6 Numerical Analysis For Engineering—Fall 1999 t 7.85 7.90 7.95 8.00 F 13.8854818703 13.9897523286 14.0940227870 14.1982932453 F' 2.0854091666 2.0854091666 2.0854091666 2.0854091666 Term Project F'’ 0.0000000001 0.0000000000 0.0000000000 0.0000000000 f'’(0) = F’() 0.3320573386 0.3320573386 0.3320573386 0.3320573386 F’’ converges to 0 at ten decimal places. Therefore, the initial condition f’’ can be obtained, and plugged into the next Excel run: t 9.70 9.75 9.80 9.85 9.90 f 7.9792123838 8.0292123837 8.0792123836 8.1292123836 8.1792123836 f' 0.9999999967 0.9999999980 0.9999999990 0.9999999999 1.0000000006 f'’ 0.0000000286 0.0000000234 0.0000000191 0.0000000156 0.0000000127 f' converges to its upper limit of 1.0 at approximately t = 9.86. The complete Excel output resides in the Appendix. Results Analysis The Maple V output differs from that of the Excel output. For the preliminary run for each, F’’(0) was successfully obtained. However, this occurred in Maple at t = 8.5 while in Excel at t = 7.90. The second run, which obtained the Blasius output, also yielded discrepancies. In Maple, f’ converges to 0.9999994498 at t = 10.75. All values beyond 10.75 still produce f’ = 0.9999994498. This is a strange anomaly, and after looking into the matter, I was not able to determine the cause. The Excel output, on the other hand, has a convergence of f’ 1.0 at roughly t = 9.86. An accuracy of ten decimal places was chosen since most fluid textbooks only list the Blasius output to four or five decimal places. However, if the desired accuracy is reduced to four decimal places, both outputs correspond precisely to the table listed in Introduction to Fluid Mechanics (see references). These differences across different mathematics programs may be the reason why an accuracy of four or five decimal places is selected. The original table for the fluids textbook may be found in the Appendix. Graphs of 2f’’’+ff’’=0 and 2F’’’+FF’’=0 are plotted using the corresponding Maple outputs. As previously explained, f and F differ by a constant a, which is reinforced by the similarity of the graphs. For the same value of , the stream function axis varies only by constant a since the contours are identical. These graphs are located in Appendix D. 7 Numerical Analysis For Engineering—Fall 1999 Term Project Appendix A: Program Coding Maple V: Algorithm 5.7—Runge-Kutta Method > restart; > # RUNGE-KUTTA FOR SYSTEMS OF DIFFERENTIAL EQUATIONS ALGORITHM 5.7 > # > # TO APPROXIMATE THE SOLUTION OF THE MTH-ORDER SYSTEM OF FIRST> # ORDER INITIAL-VALUE PROBLEMS > # UJ' = FJ( T, U1, U2, ..., UM ), J = 1, 2, ..., M > # A <= T <= B, UJ(A) = ALPHAJ, J = 1, 2, ..., M > # AT (N+1) EQUALLY SPACED NUMBERS IN THE INTERVAL [A,B]. > # > # INPUT: ENDPOINTS A,B; NUMBER OF EQUATIONS M; INITIAL > # CONDITIONS ALPHA1, ..., ALPHAM; INTEGER N. > # > # OUTPUT: APPROXIMATION WJ TO UJ(T) AT THE (N+1) VALUES OF T. > alg057 := proc() local OK, M, I, F, A, B, ALPHA, N, FLAG, NAME, OUP, H, T, J, W, L, K; > printf(`This is the Runge-Kutta Method for Systems of m equations\n`); > OK := FALSE; > while OK = FALSE do > printf(`Input the number of equations\n`); > M := scanf(`%d`)[1]; > if M <= 0 then > printf(`Number must be a positive integer\n`); > else > OK := TRUE; > fi; > od; > for I from 1 to M do > printf(`Input the function F[%d](t,y1 ... y%d) in terms of t and y1 ... y%d\n`, I,M,M); > printf(`For example: y1-t^2+1`); > F[I] := scanf(`%a`)[1]; > F[I] := unapply(F[I],t,evaln(y.(1..M))); > od; > OK := FALSE; > while OK = FALSE do > printf(`Input left and right endpoints separated by blank\n`); > A := scanf(`%f`)[1]; > B := scanf(`%f`)[1]; > if A >= B then > printf(`Left endpoint must be less than right endpoint\n`); > else > OK := TRUE; > fi; > od; > for I from 1 to M do > printf(`Input the initial condition alpha[%d]\n`, I); > ALPHA[I] := scanf(`%f`)[1]; > od; > OK := FALSE; > while OK = FALSE do > printf(`Input a positive integer for the number of subintervals\n`); 8 Numerical Analysis For Engineering—Fall 1999 Term Project > N := scanf(`%d`)[1]; > if N <= 0 then > printf(`Number must be a positive integer\n`); > else > OK := TRUE; > fi; > od; > if OK = TRUE then > printf(`Choice of output method:\n`); > printf(`1. Output to screen\n`); > printf(`2. Output to text file\n`); > printf(`Please enter 1 or 2\n`); > FLAG := scanf(`%d`)[1]; > if FLAG = 2 then > printf(`Input the file name in the form - drive:\\name.ext\n`); > printf(`For example A:\\OUTPUT.DTA\n`); > NAME := scanf(`%s`)[1]; > OUP := fopen(NAME,WRITE,TEXT); > else > OUP := default; > fi; > fprintf(OUP, `RUNGE-KUTTA METHOD FOR SYSTEMS OF DIFFERENTIAL EQUATIONS\n\n`); > fprintf(OUP, ` T`); > for I from 1 to M do > fprintf(OUP, ` W%d`, I); > od; STEP 1 > H := (B-A)/N; > T := A; STEP 2 > for J from 1 to M do > W[J] := ALPHA[J]; > od; STEP 3 > fprintf(OUP, `\n%5.3f`, T); > for I from 1 to M do > fprintf(OUP, ` %11.10f`, W[I]); > od; > fprintf(OUP, `\n`); STEP 4 > for L from 1 to N do STEP 5 > for J from 1 to M do > K[1,J] := H*F[J](T,seq(W[i],i=1..M)); > od; STEP 6 > for J from 1 to M do > K[2,J] := H*F[J](T+H/2.0,seq(W[i]+K[1,i]/2.0,i=1..M)); > od; STEP 7 > for J from 1 to M do > K[3,J] := H*F[J](T+H/2.0,seq(W[i]+K[2,i]/2.0,i=1..M)); > od; STEP 8 > for J from 1 to M do 9 Numerical Analysis For Engineering—Fall 1999 > K[4,J] := H*F[J](T+H,seq(W[i]+K[3,i],i=1..M)); > od; STEP 9 > for J from 1 to M do > W[J] := W[J]+(K[1,J]+2.0*K[2,J]+2.0*K[3,J]+K[4,J])/6.0; > od; STEP 10 > T := A+L*H; STEP 11 > fprintf(OUP, `%5.3f`, T); > for I from 1 to M do > fprintf(OUP, ` %11.10f`, W[I]); > od; > fprintf(OUP, `\n`); > od; STEP 12 > if OUP <> default then > fclose(OUP): > printf(`Output file %s created sucessfully`,NAME); > fi; > fi; > RETURN(0); > end; Excel Coding—Runge-Kutta Method ***See blas1.xls and blas2.xls*** 10 Term Project Numerical Analysis For Engineering—Fall 1999 Term Project Appendix B: Program Output Maple V: Algorithm 5.7—Runge-Kutta Method 1st run to determine f’’(0) from F’() T 0.000 .250 .500 .750 1.000 1.250 1.500 1.750 2.000 2.250 2.500 2.750 3.000 3.250 3.500 3.750 4.000 4.250 4.500 4.750 5.000 5.250 5.500 5.750 6.000 6.250 6.500 6.750 7.000 7.250 7.500 7.750 8.000 8.250 8.500 W1 0.0000000000 .0312500000 .1248781349 .2802798174 .4959152818 .7689446291 1.0950292500 1.4683723480 1.8820284900 2.3284407830 2.8000919880 3.2901180080 3.7927498560 4.3035150990 4.8192093390 5.3377069770 5.8577004060 6.3784424630 6.8995360210 7.4207844670 7.9420970030 8.4634344660 8.9847810530 9.5061307900 10.0274815500 10.5488326400 11.0701838200 11.5915350200 12.1128862400 12.6342374600 13.1555886800 13.6769399000 14.1982911200 14.7196423400 15.2409935600 W2 0.0000000000 .2499186199 .4987018291 .7434790715 .9796967328 1.2016184740 1.4031520920 1.5789065230 1.7252384100 1.8409771290 1.9275855190 1.9887103820 2.0293039250 2.0546318280 2.0694646570 2.0776137740 2.0818132300 2.0838433990 2.0847644930 2.0851569620 2.0853141680 2.0853734460 2.0853945280 2.0854016160 2.0854038760 2.0854045630 2.0854047620 2.0854048170 2.0854048320 2.0854048360 2.0854048370 2.0854048370 2.0854048370 2.0854048370 2.0854048370 W3 1.0000000000 .9986991882 .9896437018 .9655157619 .9203634559 .8509020082 .7577309984 .6458580193 .5240408302 .4029181684 .2924997843 .1999513608 .1284703668 .0774905465 .0438516352 .0232768010 .0115909624 .0054170690 .0023778234 .0009813720 .0003813898 .0001398425 .0000485012 .0000159632 .0000050062 .0000015035 .0000004350 .0000001221 .0000000335 .0000000091 .0000000025 .0000000007 .0000000002 .0000000001 .0000000000 Excel Output—Runge-Kutta Method ***See blas1.xls and blas2.xls*** 11 Numerical Analysis For Engineering—Fall 1999 Term Project Maple V: Algorithm 5.7—Runge-Kutta Method 2nd run to obtain Blasius output T W1 W2 0.000 0.0000000000 0.000000000 .250 .0103767918 .0830053615 .500 .0414937151 .1658852424 .750 .0932836832 .2483187896 1.000 .1655734687 .3297799174 1.250 .2580345680 .4095570450 1.500 .3701409392 .4867889189 1.750 .5011379638 .5605186814 2.000 .6500271209 .6297649696 2.250 .8155700549 .6936047326 2.500 .9963138834 .7512585319 2.750 1.1906369160 .8021664948 3.000 1.3968109260 .8460429130 3.250 1.6130733810 .8829002322 3.500 1.8377013710 .9130384553 3.750 2.0690787560 .9370024781 4.000 2.3057494770 .9555157816 4.250 2.5464525770 .9694026040 4.500 2.7901376760 .9795113610 4.750 3.0359625960 .9866498651 5.000 3.2832769870 .9915388259 5.250 3.5315968610 .9947855676 5.500 3.7805749020 .9968760704 5.750 4.0299706570 .9981810289 6.000 4.2796234380 .9989707475 6.250 4.5294295470 .9994340627 6.500 4.7793243320 .9996975848 6.750 5.0292688390 .9998428997 7.000 5.2792403770 .9999205922 7.250 5.5292261630 .9999608688 7.500 5.7792192310 .9999811164 7.750 6.0292159070 .9999909879 8.000 6.2792143180 .9999956560 8.250 6.5292135390 .9999977974 8.500 6.7792131260 .9999987506 8.750 7.0292128740 .9999991623 9.000 7.2792126900 .9999993349 9.250 7.5292125330 .9999994053 9.500 7.7792123890 .9999994331 9.750 8.0292122490 .9999994437 10.000 8.2792121100 .9999994478 10.250 8.5292119720 .9999994493 10.500 8.7792118340 .9999994497 10.750 9.0292116980 .9999994498 11.000 9.2792115620 .9999994498 11.250 9.5292114260 .9999994498 11.500 9.7792112900 .9999994498 11.750 10.0292111500 .9999994498 12.000 10.2792110100 .9999994498 12 W3 .3320573386 .3319138148 .3309109915 .3282057746 .3230072258 .3146331616 .3025807223 .2865995080 .2667519050 .2434438396 .2174121008 .1896620894 .1613610767 .1337036378 .1077739363 .0844309099 .0642364563 .0474355287 .0339845322 .0236145668 .0159113636 .0103944994 .0065831407 .0040418406 .0024056849 .0013880966 .0007764955 .0004211349 .0002214621 .0001129312 .0000558488 .0000267891 .0000124657 .0000056283 .0000024662 .0000010490 .0000004333 .0000001738 .0000000678 .0000000257 .0000000095 .0000000034 .0000000012 .0000000004 .0000000001 .0000000000 .0000000000 .0000000000 .0000000000 Numerical Analysis For Engineering—Fall 1999 Term Project Appendix C: Blasius Data Table Table 9.1 p.418—Introduction to Fluid Mechanics (Fox, McDonald) Table 9.1 0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0 The Function f() for the Laminar Boundary Layer along a Flat Plate at Zero Incidence f 0.0000 0.0415 0.1656 0.3702 0.6501 0.9964 1.3969 1.8377 2.3058 2.7902 3.2833 3.7806 4.2797 4.7794 5.2793 5.7793 6.2792 f' 0.0000 0.1659 0.3298 0.4868 0.6298 0.7512 0.8460 0.9130 0.9555 0.9795 0.9915 0.9968 0.9989 0.9997 0.9999 1.0000 1.0000 13 f'’ 0.3321 0.3309 0.3230 0.3026 0.2668 0.2174 0.1614 0.1078 0.0643 0.0341 0.0160 0.0067 0.0025 0.0008 0.0003 0.0001 0.0000 Numerical Analysis For Engineering—Fall 1999 Term Project Non Dimensional Stream Functions vs Non Dimensional Distance for 2f'''+ff''=0 7.0 6.0 Stream Functions 5.0 4.0 3.0 2.0 1.0 0.0 0.0 1.0 2.0 3.0 4.0 5.0 f f' 14 f'' 6.0 7.0 8.0 Numerical Analysis For Engineering—Fall 1999 Term Project Non Dimensional Stream Functions vs Non Dimensional Distance for 2F'''+FF''=0 16.0 14.0 Stream Functions 12.0 10.0 8.0 6.0 4.0 2.0 0.0 0.0 1.0 2.0 3.0 4.0 5.0 F F' 15 F'' 6.0 7.0 8.0 Numerical Analysis For Engineering—Fall 1999 Term Project Slides—Flat Plate Boundary Layer Blasius Derivation Continuity, Momentum: Blasius Equation: u v 0 x y 2 f ' ' ' ff ' ' 0 u u 2u v v 2 x y y u 2F ' ' 'FF ' ' 0 Constant of Homology: Boundary Conditions: lim f ' a 2 lim F ' a a 2 lim F ' a at y 0, u 0 at y , u U y y y and v U x 1 a 2 lim F ' Stream Function: u x f 1 2 3 2 a lim F ' xU f ' ' 0 F ' First Order Differential Equations: Blasius Equation: 2 u1 f d3 f d2 f f 0 d 3 d 2 u2 f ' u3 f ' ' Boundary Conditions: at 0, f 0, at , u4 f ' ' ' df 0 d df 1 d 16 u1 ' f ' u2 u 2 ' f ' ' u3 u3 ' f ' ' ' u1u3 2 Numerical Analysis For Engineering—Fall 1999 Term Project Algorithm: Runge-Kutta Method: du1 dt du 2 dt du3 dt du 4 dt f1 t , u1 , u 2 , u3 , u 4 , f 2 t , u1 , u 2 , u3 , u 4 , where for a t b, u1 a 1 , f 3 t , u1 , u 2 , u3 , u 4 , u3 a 3 , f 4 t , u1 , u 2 , u3 , u 4 , Step 1 Set h = (b - a)/N; t = a. Step 2 For j = 1, 2,…, m set wj = j. Step 3 OUTPUT (t, w1, w2,…,wm). Step 4 For j = 1, 2,…, N do following: For j = 1, 2,…, m set: k1, j hf j t , w1 , w2 ,..., wm . 1 1 1 h k 2, j hf j t , w1 k1,1 , w2 k1, 2 ,..., wm k1,m . 2 2 2 2 1 1 1 h k3, j hf j t , w1 k 2,1 , w2 k 2, 2 ,..., wm k 2,m . 2 2 2 2 u 2 a 2 , u 4 a 4 1 1 1 h k 4, j hf j t , w1 k3,1 , w2 k3, 2 ,..., wm k3,m . 2 2 2 2 k 2k2, j 2k3, j k4, j w j w j 1, j 6 Step 12 17 Step 10 Set t = a + ih Step 11 OUTPUT (t, w1, w2,…,wm). STOP Numerical Analysis For Engineering—Fall 1999 Term Project 2F ' ' 'FF ' ' 0 2 f ' ' ' ff ' ' 0 > alg057(); This is the Runge-Kutta Method for Systems of m equations Input the number of equations > 3 Input the function F[1](t,y1 ... y3) in terms of t and y1 ... y3 > y2 For example: y1-t^2+1 Input the function F[2](t,y1 ... y3) in terms of t and y1 ... y3 > y3 For example: y1-t^2+1 Input the function F[3](t,y1 ... y3) in terms of t and y1 ... y3 > -1*y1*y3/2 For example: y1-t^2+1 Input left and right endpoints separated by blank > 0 8.5 Input the initial condition alpha[1] > 0 Input the initial condition alpha[2] > 0 Input the initial condition alpha[3] > 1 Input a positive integer for the number of subintervals > 15 Choice of output method: 1. Output to screen 2. Output to text file Please enter 1 or 2 > 1 RUNGE-KUTTA METHOD FOR SYS. OF DIFFERENTIAL EQUATIONS T W1 W2 W3 7.500 13.1555886800 2.0854048370 .0000000025 7.750 13.6769399000 2.0854048370 .0000000007 8.000 14.1982911200 2.0854048370 .0000000002 8.250 14.7196423400 2.0854048370 .0000000001 8.500 15.2409935600 2.0854048370 .0000000000 18 > alg057(); This is the Runge-Kutta Method for Systems of m equations Input the number of equations > 3 Input the function F[1](t,y1 ... y3) in terms of t and y1 ... y3 > y2 For example: y1-t^2+1 Input the function F[2](t,y1 ... y3) in terms of t and y1 ... y3 > y3 For example: y1-t^2+1 Input the function F[3](t,y1 ... y3) in terms of t and y1 ... y3 > -1*y1*y3/2 For example: y1-t^2+1 Input left and right endpoints separated by blank > 0 12 Input the initial condition alpha[1] > 0 Input the initial condition alpha[2] > 0 Input the initial condition alpha[3] > 0.3320573386 Input a positive integer for the number of subintervals > 48 Choice of output method: 1. Output to screen 2. Output to text file Please enter 1 or 2 > 1 RUNGE-KUTTA METHOD FOR SYS. OF DIFFERENTIAL EQUATIONS T W1 W2 W3 10.500 8.7792118340 .9999994497 .0000000012 10.750 9.0292116980 .9999994498 .0000000004 11.000 9.2792115620 .9999994498 .0000000001 11.250 9.5292114260 .9999994498 .0000000000 Numerical Analysis For Engineering—Fall 1999 Table 9.1 Term Project The Function f() for the Laminar Boundary Layer along a Flat Plate at Zero Incidence f f' f'’ 0.0 0.0000 0.0000 0.3321 0.5 0.0415 0.1659 0.3309 1.0 0.1656 0.3298 0.3230 1.5 0.3702 0.4868 0.3026 2.0 0.6501 0.6298 0.2668 2.5 0.9964 0.7512 0.2174 3.0 1.3969 0.8460 0.1614 3.5 1.8377 0.9130 0.1078 4.0 2.3058 0.9555 0.0643 4.5 2.7902 0.9795 0.0341 5.0 3.2833 0.9915 0.0160 5.5 3.7806 0.9968 0.0067 6.0 4.2797 0.9989 0.0025 6.5 4.7794 0.9997 0.0008 7.0 5.2793 0.9999 0.0003 7.5 5.7793 1.0000 0.0001 8.0 6.2792 1.0000 0.0000 19 Numerical Analysis For Engineering—Fall 1999 Term Project Non Dimensional Stream Functions vs Non Dimensional Distance for 2f'''+ff''=0 7.0 6.0 Stream Functions 5.0 4.0 3.0 2.0 1.0 0.0 0.0 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 f f' f'' Non Dimensional Stream Functions vs Non Dimensional Distance for 2F'''+FF''=0 16.0 14.0 Stream Functions 12.0 10.0 8.0 6.0 4.0 2.0 0.0 0.0 1.0 2.0 3.0 4.0 5.0 F F' 20 F'' 6.0 7.0 8.0 Numerical Analysis For Engineering—Fall 1999 Term Project References 1. Burden, R., and Faires, J.D., Numerical Analysis Sixth Ed., Brooks/Cole Publishing Company, Pacific Grove, CA, 1997. 2. Fox, Robert W., and McDonald, Alan T., Introduction to Fluid Mechanics Fourth Edition, John Wiley & Sons, Inc., New York, NY, 1992. 3. DeWitt, David P., and Incropera, Frank P., Fundamentals of Heat and Mass Transfer Fourth Edition, John Wiley & Sons, Inc., New York, NY, 1996. 4. White, Frank M., Fluid Mechanics, Third Edition, McGraw-Hill, Inc., New York, NY, 1994. 5. Rosenhead, L., Laminar Boundary Layers, Dover Publications, New York, NY, 1988. 21