Blasius Equation


by carpediem85
Tags: blasius, equation
carpediem85
carpediem85 is offline
#1
May7-06, 01:02 AM
P: 2
hi I am trying to write a Fortran 77 code to solve the Blasius equation numerically:

blasius equation: F''' + (1/2)*F*F'' = 0

boundary conditions: f(0)=0.0, F'(0)=0, and limit of F'(eta) as eta approaches infinity is 1.0.

This differential equation represents the velocity profile for an incompressible and laminar flow over a flat plate.

So far I know this about how to do it:

1. I need to take this 3rd order ode and build asystem of of 1st order odes. I do not how many, probably 3 or 2, I am not sure at this points.

2. i need to use the shooting method to approximate the last boudnary condition and find f''(0) that I can use to continue to implement Runge-Kutta march.


If anyone please knows or has already solved this problem , i would really appreciate that you write to me or post here your advice. i am confused and cannt get tarted..once i know the differential equations and the initial conditions properly, i can write the runge kutta algorithm in no time.

thanks.
Phys.Org News Partner Science news on Phys.org
Better thermal-imaging lens from waste sulfur
Hackathon team's GoogolPlex gives Siri extra powers
Bright points in Sun's atmosphere mark patterns deep in its interior
Clausius2
Clausius2 is offline
#2
May8-06, 01:29 AM
Sci Advisor
PF Gold
Clausius2's Avatar
P: 1,481
Quote Quote by carpediem85
I need to take this 3rd order ode and build asystem of of 1st order odes. I do not how many, probably 3 or 2, I am not sure at this points.
What?? Don't you know how many first order equations can you write with a third order DE? Just three, man.


2. i need to use the shooting method to approximate the last boudnary condition and find f''(0) that I can use to continue to implement Runge-Kutta march.
Yeah, you're right. The only funny thing here is that the equation is non linear, and so the shooting method you should employ. In total, you should end up with three first order equations coming from the third order original equation plus three more first order equations which helps you to calculate the next value of the shooting parameter using a Newton-Raphson approximation.
kasman
kasman is offline
#3
Nov28-09, 09:33 AM
P: 2
Hallo! I also have a question. In the blasius equation, since you don't know the value of f(η) in every point, how can you compute the value for the point f(x+h/2,y+k1/2)
it's needed in order to compute the vlaue o k2 and so on... Any suggestions are welcome!

gato_
gato_ is offline
#4
Nov29-09, 05:49 AM
P: 119

Blasius Equation


Quote Quote by carpediem85 View Post
hi I am trying to write a Fortran 77 code to solve the Blasius equation numerically:

blasius equation: F''' + (1/2)*F*F'' = 0

boundary conditions: f(0)=0.0, F'(0)=0, and limit of F'(eta) as eta approaches infinity is 1.0.

This differential equation represents the velocity profile for an incompressible and laminar flow over a flat plate.

So far I know this about how to do it:

1. I need to take this 3rd order ode and build asystem of of 1st order odes. I do not how many, probably 3 or 2, I am not sure at this points.

2. i need to use the shooting method to approximate the last boudnary condition and find f''(0) that I can use to continue to implement Runge-Kutta march.


If anyone please knows or has already solved this problem , i would really appreciate that you write to me or post here your advice. i am confused and cannt get tarted..once i know the differential equations and the initial conditions properly, i can write the runge kutta algorithm in no time.

thanks.
This is how it goes. First, consider that F is a function of an aditional parameter, representing F'' at 0, that is, [tex]F(x,\alpha)[/tex]. The system, written for variables [tex]\vec{x}\equiv [F,F',F'',F_{,\alpha},F'_{,\alpha},F''_{\alpha}][/tex] reads:
[tex]x'=[x_{2},x_{3},-1/2x_{1}{x_{3},x_{4},x_{5},-1/2(x_{1}x_{6}+x_{4}x_{3})][/tex]
with boundary conditions:
[tex]x_{0}\equiv [0,0,\alpha,0,0,0] [/tex]
why including [tex]F_{,\alpha}[/tex]? because at each step, your error is [tex]F(L,\alpha)-1[/tex], so that next alpha is calculated via a Newton Raphson method:
[tex]\Delta \alpha= -F(L,\alpha)/F_{,\alpha}(L,\alpha)[/tex]
kasman
kasman is offline
#5
Nov29-09, 02:27 PM
P: 2
thanks gato! quite helpful!:)
nanunath
nanunath is offline
#6
Jul12-10, 09:22 AM
P: 69
Quote Quote by gato_ View Post
This is how it goes. First, consider that F is a function of an aditional parameter, representing F'' at 0, that is, [tex]F(x,\alpha)[/tex]. The system, written for variables [tex]\vec{x}\equiv [F,F',F'',F_{,\alpha},F'_{,\alpha},F''_{\alpha}][/tex] reads:
[tex]x'=[x_{2},x_{3},-1/2x_{1}{x_{3},x_{4},x_{5},-1/2(x_{1}x_{6}+x_{4}x_{3})][/tex]
with boundary conditions:
[tex]x_{0}\equiv [0,0,\alpha,0,0,0] [/tex]
why including [tex]F_{,\alpha}[/tex]? because at each step, your error is [tex]F(L,\alpha)-1[/tex], so that next alpha is calculated via a Newton Raphson method:
[tex]\Delta \alpha= -F(L,\alpha)/F_{,\alpha}(L,\alpha)[/tex]
Hello...can anyone make me clear what exactly and how the 'alpha' factor here helps in calculating the value of f''(0) for next iteration..
I also don't get how to solve this equation by making the marching process (f''(0)) automatically ..
I know what Newton Raphson method is and used ..but not why F(x,alpha) is assumed ..and how to solve those 6 equation..
also what does
can anyone plz xplain to me that..
thanks in advance...
gato_
gato_ is offline
#7
Jul15-10, 08:42 AM
P: 119
The [tex]\alpha[/tex] parameter is included just because you are solving an initial value problem of third order without the information required (in this case, the value [tex]F''(0)[/tex]). The procedure involves making some guess ([tex]F''(0)=\alpha[/tex]), then advancing the solution form x=0 to a reasonable length (with a Runge Kutta scheme, for instance), then taking [tex]F(L)-1\equiv F(\infty)-1[/tex] as the error of your calculation. You use a Newton Raphson method to iteratively minimize that error as much as you need. The variable [tex]F_{,\alpha}[/tex] is included so that you have the derivative of the error for the Newton Raphson. Hope this helps.
jackmell
jackmell is offline
#8
Jul16-10, 07:35 AM
P: 1,666
Hello guys. Been following this problem. Not very good though with boundary-value problems other than trial-and error to find the initial conditions. However, I just learned that boundary-value problems can be solved directly in Mathematica:

http://reference.wolfram.com/mathema...DSolveBVP.html

I realize though you want to write the code directly and not use Mathematica so perhaps just use this as a reference for future work on BVPs you may wish to solve. Also, the reference cited above does describe the method so perhaps you can review it to gain further insight into implementing it in FORTRAN.

Note below I use the method "shooting" and I only went as far as x=20. Not sure how far out I could really go but it does compute a value of f''(0) very close to the actual answer which is approx 0.332 (see http://en.wikipedia.org/wiki/Blasius_boundary_layer).

In[53]:=
sol = NDSolve[{Derivative[3][f][x] + 
      (1/2)*f[x]*Derivative[2][f][x] == 
     0, f[0] == 0, Derivative[1][f][0] == 
     0, Derivative[1][f][20] == 1}, f, x, 
   Method -> "Shooting"]
N[D[f[x] /. sol, x] /. x -> 20]
N[D[f[x] /. sol, {x, 2}] /. x -> 0]

Out[53]=
{{f -> InterpolatingFunction[]}}

Out[54]=
{0.9999999644878674}

Out[55]=
{0.33205733312444885}
nanunath
nanunath is offline
#9
Jul19-10, 09:22 AM
P: 69
Thanks gato and jackwell,

But gato dear, I dont understand how you get the three more 1st order ODE's
And what does "F ,alpha" actually mean..I havent seen this notation before...

I hope I was able to highlight what my problem is...

Btw..I solved blausius equation using automatic marching.using a very simple method (for a layman like me) as follows:
Enter a guess value of f''(0), increment it by .1 (just like that) in next iteration...and interpolate the line passing thru 2 these points to the point where f'(0)-1=0, which gives the next iteration value of f''(0)...5-6 iterations are sufficient...

But I wanna know what the method ur talking of is all about..a layman like me feels a strong need to understand what u guys are talking about..plz explain to me ..
thanks..bye


Register to reply

Related Discussions
Blasius numerical solution? Differential Equations 3
BLASIUS EQUATION Solution with Finite Difference Method Engineering, Comp Sci, & Technology Homework 1
Deriving the continuity equation from the Dirac equation (Relativistic Quantum) Advanced Physics Homework 3
BLASIUS EQUATION Solutıon with Finite Difference Method Calculus & Beyond Homework 2
Why is Euler equation similar to the gradient of Hamilton-Jacobi equation? General Physics 1