Search

Sunday, May 26, 2013

Blasius Equation: Some Explorations Part 2

Solution of Blasius Equation in Matlab

A direct attack on the Blasius equation requires some kind of iteration such as a shooting method, because it is a two-point boundary value problem. Fortunately, there is a reformulation of the problem that avoids an iteration. We begin this reformulation by introducing a new dependent variable :
g(\eta ) = \alpha f(\alpha \eta )
Whereimage is a positive parameter to be determined. As one may show, the equation for g is then the same as that for f:
g(0) = 0,\;g'(0) = 0,\;g''(0) = 1
From the conditions on f , we have g(0) = 0, and

g'(\eta ) = {\alpha ^2}f'(\alpha \eta ) \to {\alpha ^2}

as

\eta  \to \infty  

Instead of imposing the condition on g at infinity , we impose

g''(0) = 1.

Then the problem for g is an initial value problem with initial conditions
g(0) = 0,\;g'(0) = 0,\;g''(0) = 1
In order to carry out this integration numerically using matlab, we need to convert the 3rd order differential equation into a system of three 1st order equations.
{y_1} = g,{y_2} = g',{y_3} = g''
We have the following equivalent system of equations
{y_1}^\prime  = {y_2},\quad {y_2}^\prime  = {y_3},\quad {y_3}^\prime  =  - 0.5{y_1}{y_3}
   1:  >> blas =@(t,f) [f(2); f(3); -0.5*f(1)*f(3)];
   2:  >> options = odeset('RelTol', 1e-10, 'AbsTol', 1e-12);
   3:  >> sol=ode45(blas, [0,15], [0.0 0.0 1.0], options);
   4:  >> plot(sol.x, sol.y(2,:), 'LineWidth', 2.5)
   5:  >> xlabel('\eta'); ylabel('g(\eta)')
   6:  >> plot(sol.x, sol.y(2,:), 'LineWidth', 2.5)
   7:  >> xlabel('\eta'); ylabel('g(\eta)')



blas





No comments:

Post a Comment

Your comments are most welcomed