CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   Main CFD Forum (https://www.cfd-online.com/Forums/main/)
-   -   Blasius Equation Discretization: (https://www.cfd-online.com/Forums/main/87302-blasius-equation-discretization.html)

john_t April 16, 2011 11:59

Blasius Equation Discretization:
 
Ive been trying the discretization of Blasius equation: f'''+1/2 ff''=0 using the center scheme (finite difference) but im not able to do it correctly. Any help or suggestions? Thanks

nickvinn April 17, 2011 05:18

I solved it with such discretizations:
f''''=(f(i+1)-3f(i)+3f(i-1)-f(i-2))/h^3 (take central differences for second derivatives in (i-1) and i, totally centered at (i-1/2)),
f''=(f(i-2)-2f(i-1)+f(i))/h^2 (centered at (i-1)),
f=f(i-1),
resulting in equation:
f(i+1)=3f(i)-3f(i-1)+f(i-2)-f(i-1)(f(i-2)-2f(i-1)+f(i))h/2
This variant is a little bit biased, but the performance is OK.At least when you have to solve it only before main computations in order to obtain initial laminar boundary layer solution.

john_t April 17, 2011 15:39

Quote:

Originally Posted by nickvinn (Post 303914)
I solved it with such discretizations:
f''''=(f(i+1)-3f(i)+3f(i-1)-f(i-2))/h^3 (take central differences for second derivatives in (i-1) and i, totally centered at (i-1/2)),
f''=(f(i-2)-2f(i-1)+f(i))/h^2 (centered at (i-1)),
f=f(i-1),
resulting in equation:
f(i+1)=3f(i)-3f(i-1)+f(i-2)-f(i-1)(f(i-2)-2f(i-1)+f(i))h/2
This variant is a little bit biased, but the performance is OK.At least when you have to solve it only before main computations in order to obtain initial laminar boundary layer solution.

can this be solved using C++ or Fortran ??
Any idea about Tri Diagonal matrix discretization ??

nickvinn April 18, 2011 02:22

Well, I wrote my code in Fortran. It is quite simple.
There is no tridiagonal matrix here. The discretization is explicit: if you know values in 3 neighbouring points e.g. f(0), f(h) and f(2h), then you obtain f(3h) according to above formula. Then you get f(4h), etc. Of course, you need to know values in 3 points at the left border to start the process. You have the boundary conditions f(0)=f'(0)=0. So, f(0)=f(h)=0. Since this is the 3-rd order equation, you need one more initial condition for Cauchy problem. So, you can set some value for the second derivative f''(0) and thus obtain f(2h). Then, you get the solution for all points and find out if the boundary condition at the right boundary f'(infinity)=1 is OK. Of course, it is not, and you adjust the value of f''(0), and try once more. This is called the shooting method, you can find it in any elementary computational methods textbook.


All times are GMT -4. The time now is 12:27.