Example4.13 rev1.mw

Example 4.13 

The velocity distribution in the boundary layer is given by:[6] 

 

Typesetting:-mrow(Typesetting:-mo(  

 

Typesetting:-mrow(Typesetting:-mo(
Typesetting:-mrow(Typesetting:-mo(
 

                                                                    u(0,y) =1                                                    

Typesetting:-mrow(Typesetting:-mo((x,0) = 1 and u(x,∞)=1 

                                                                    v(x,0) =0   

 

where u and v are the x and y components of the velocity.  Next, the stream function is introducedTypesetting:-mrow(Typesetting:-mo( 

 

and v= -Typesetting:-mfrac(Typesetting:-mrow(Typesetting:-mo(                                                  (4.1.27) 

By definition (4.1.27), the stream function ψ satisfies the first equation in equation (4.1.26).  The boundary conditions for ψ are 

Typesetting:-mrow(Typesetting:-mo( (0,y)=1 

                                                            Typesetting:-mrow(Typesetting:-mfrac(Typesetting:-mrow(Typesetting:-mo( 

                                                                 

Typesetting:-mrow(Typesetting:-mo(= 0 

 

The following transformation is used to combine the independent variables: 

                                                η=  Typesetting:-mfrac(Typesetting:-mrow(Typesetting:-mi(                                                       (4.1.29) 

Next, the following transformation is introduced: 

                                                 ψ=Typesetting:-mrow(Typesetting:-mi( f(η)                                                     (4.1.30) 

The boundary conditions for f(η) are: 

                                      

                                                                     f(0)=0 and Typesetting:-mrow(Typesetting:-mfrac(Typesetting:-mrow(Typesetting:-mi( 

                                                                                                                                                 (4.1.31) 

Typesetting:-mrow(Typesetting:-mo((∞) = 1 

 

Using Maple the transformation involved in the governing equation and boundary conditions in example 4.13 is solved below: 

> restart:
 

> with(student):
 

> with(plots):
 

Enter the governing equation: 

> eq:=u(x,y)*diff(u(x,y),x)+v(x,y)*diff(u(x,y),y)-diff(u(x,y),y$2);
 

`+`(`*`(u(x, y), `*`(diff(u(x, y), x))), `*`(v(x, y), `*`(diff(u(x, y), y))), `-`(diff(diff(u(x, y), y), y))) (1)
 

The steam function is introduced: 

> vars:={u(x,y)=diff(psi(x,y),y),v(x,y)=-diff(psi(x,y),x)};
 

{u(x, y) = diff(psi(x, y), y), v(x, y) = `+`(`-`(diff(psi(x, y), x)))} (2)
 

The governing equation for the stream function is: 

> eq:=subs(vars,eq);
 

`+`(`*`(diff(psi(x, y), y), `*`(diff(diff(psi(x, y), y), x))), `-`(`*`(diff(psi(x, y), x), `*`(diff(diff(psi(x, y), y), y)))), `-`(diff(diff(diff(psi(x, y), y), y), y))) (3)
 

Next, the transformation defined in equation (4.1.30) is introduced: 

> eq:=changevar(psi(x,y)=x^(1/2)*f(eta(x,y)),eq);
 

`+`(`*`(`/`(1, 2), `*`((D(f))(eta(x, y)), `*`(diff(eta(x, y), y), `*`(`+`(`*`((D(f))(eta(x, y)), `*`(diff(eta(x, y), y))), `*`(2, `*`(x, `*`(((`@@`(D, 2))(f))(eta(x, y)), `*`(diff(eta(x, y), y), `*`(d...
`+`(`*`(`/`(1, 2), `*`((D(f))(eta(x, y)), `*`(diff(eta(x, y), y), `*`(`+`(`*`((D(f))(eta(x, y)), `*`(diff(eta(x, y), y))), `*`(2, `*`(x, `*`(((`@@`(D, 2))(f))(eta(x, y)), `*`(diff(eta(x, y), y), `*`(d...
`+`(`*`(`/`(1, 2), `*`((D(f))(eta(x, y)), `*`(diff(eta(x, y), y), `*`(`+`(`*`((D(f))(eta(x, y)), `*`(diff(eta(x, y), y))), `*`(2, `*`(x, `*`(((`@@`(D, 2))(f))(eta(x, y)), `*`(diff(eta(x, y), y), `*`(d...
`+`(`*`(`/`(1, 2), `*`((D(f))(eta(x, y)), `*`(diff(eta(x, y), y), `*`(`+`(`*`((D(f))(eta(x, y)), `*`(diff(eta(x, y), y))), `*`(2, `*`(x, `*`(((`@@`(D, 2))(f))(eta(x, y)), `*`(diff(eta(x, y), y), `*`(d...
`+`(`*`(`/`(1, 2), `*`((D(f))(eta(x, y)), `*`(diff(eta(x, y), y), `*`(`+`(`*`((D(f))(eta(x, y)), `*`(diff(eta(x, y), y))), `*`(2, `*`(x, `*`(((`@@`(D, 2))(f))(eta(x, y)), `*`(diff(eta(x, y), y), `*`(d...
(4)
 

The independent variables are combined using the transformation defined in equation (4.1.29): 

> eq1:=(simplify(subs(eta(x,y)=y/x^(1/2),eq))):
 

> eq1:=subs(y=eta*x^(1/2),eq1):
 

> eq1:=simplify(eq1*x):
 

The governing equation for f in the combined variable is: 

> eq2:=convert(-eq1,diff);
 

`+`(`*`(`/`(1, 2), `*`(diff(diff(f(eta), eta), eta), `*`(f(eta)))), diff(diff(diff(f(eta), eta), eta), eta)) (5)
 

Nest, the velocity variables u and v (i.e., derivatives of the stream function) are expressed in terms of the combined variable and f: 

> v(eta):=-diff(psi(x,y),x);
 

`+`(`-`(diff(psi(x, y), x))) (6)
 

> v(eta):=changevar(psi(x,y)=x^(1/2)*f(eta(x,y)),v(eta)):
 

> v(eta):=expand(subs(eta(x,y)=y/x^(1/2),v(eta))):
 

> v(eta):=subs(y=eta*x^(1/2),v(eta)):
 

> v(eta):=factor(v(eta));
 

`+`(`/`(`*`(`/`(1, 2), `*`(`+`(`-`(f(eta)), `*`((D(f))(eta), `*`(eta))))), `*`(`^`(x, `/`(1, 2))))) (7)
 

> u(eta):=diff(psi(x,y),y);
 

diff(psi(x, y), y) (8)
 

> u(eta):=changevar(psi(x,y)=x^(1/2)*f(eta(x,y)),u(eta)):
 

> u(eta):=expand(subs(eta(x,y)=y/x^(1/2),u(eta))):
 

> u(eta):=subs(y=eta*x^(1/2),u(eta));
 

(D(f))(eta) (9)
 

Next, the boundary conditions are expressed in terms of f: 

> bc1:=subs(eta=0,v(eta))=0;
 

`+`(`-`(`/`(`*`(`/`(1, 2), `*`(f(0))), `*`(`^`(x, `/`(1, 2)))))) = 0 (10)
 

> bc1:=-bc1*2*x^(1/2);
 

f(0) = 0 (11)
 

> bc2:=subs(eta=0,u(eta))=0;
 

(D(f))(0) = 0 (12)
 

> bc3:=subs(eta=infinity,u(eta))=1;
 

(D(f))(infinity) = 1 (13)
 

The length of the domain is taken to be 5: 

> bc3:=subs(infinity=5,bc3);
 

(D(f))(5) = 1 (14)
 

The numerical solution for the Blassius equation is obtained as: 

> sol:=dsolve({eq2,bc1,bc2,bc3},f(eta),type=numeric);
 

proc (x_bvp) local res, data, solnproc, ndsol, outpoint, i; option `Copyright (c) 2000 by Waterloo Maple Inc. All rights reserved.`; `:=`(_EnvDSNumericSaveDigits, Digits); `:=`(Digits, 14); if _EnvInF... (15)
 

> odeplot(sol,[eta,f(eta)],0..5,thickness=3,title="Figure Exp. 4.1.26.",axes=boxed);
 

Plot_2d
 

Next, the velocity profiles are obtained by converting the corresponding expression to 'diff' form: 

> u(eta):=convert(u(eta),diff);
 

diff(f(eta), eta) (16)
 

> v(eta):=convert(v(eta),diff);
 

`+`(`/`(`*`(`/`(1, 2), `*`(`+`(`-`(f(eta)), `*`(diff(f(eta), eta), `*`(eta))))), `*`(`^`(x, `/`(1, 2))))) (17)
 

Since v is a function of x, v*x1/2 is plotted: 

> odeplot(sol,[eta,u(eta)],0..5,thickness=4,color=blue,title="Figure Exp. 4.1.27.",axes=boxed,labels=[eta,u]);
 

Plot_2d
 

> odeplot(sol,[eta,v(eta)*x^(1/2)],0..5,thickness=4,color=brown,title="Figure Exp. 4.1.28.",axes=boxed,labels=[eta,"v*x^(1/2)"]);
 

Plot_2d
 

The solution at η = 0 is obtained as: 

> sol(0);
 

[eta = 0., f(eta) = 0., diff(f(eta), eta) = 0., diff(diff(f(eta), eta), eta) = .336152378983945622] (18)
 

Stress is related to the Reynolds number (re) and the flux at y = 0: 

> S:=re*diff(u(x,y),y);
 

`*`(re, `*`(diff(u(x, y), y))) (19)
 

The velocity gradient is terms of the stream function is: 

> subs(u(x,y)=diff(psi(x,y),y),S);
 

`*`(re, `*`(diff(diff(psi(x, y), y), y))) (20)
 

The second derivative of the stream function is expressed in terms of f and η. 

> d:=diff(psi(x,y),y$2);
 

diff(diff(psi(x, y), y), y) (21)
 

> d:=changevar(psi(x,y)=x^(1/2)*f(eta(x,y)),d):
 

> d:=expand(subs(eta(x,y)=y/x^(1/2),d)):
 

> d:=subs(y=eta*x^(1/2),d):
 

> d:=convert(d,diff);
 

`/`(`*`(diff(diff(f(eta), eta), eta)), `*`(`^`(x, `/`(1, 2)))) (22)
 

> S:=re*d;
 

`/`(`*`(re, `*`(diff(diff(f(eta), eta), eta))), `*`(`^`(x, `/`(1, 2)))) (23)
 

The second derivative of f is found from the numerical solution. 

> eqd3:=sol(0)[4];
 

diff(diff(f(eta), eta), eta) = .336152378983945622 (24)
 

Hence, the stress Reynolds number relationship becomes: 

> S:=subs(diff(f(eta),`$`(eta,2))=rhs(eqd3),S);
 

`+`(`/`(`*`(.336152378983945622, `*`(re)), `*`(`^`(x, `/`(1, 2))))) (25)
 

>