You are on page 1of 2

real A,kf,kY,kZ

dimension eta(500),Y(500),Z(500),kf(500),kY(500),kZ(500),f(500),
t q(500),err(500)
open (unit=1,file='velocity_bl.dat')
*********************************************************************
***** Equations for Velocity boundary layers over a flat plate *****
*****
f'=Y
*****
*****
Y'=Z
*****
*****
Z'=-(1./2.)fZ
*****
***** BC's: @eta=0,f=f'=0,Z=A(guessed) ; @eta=INF.,Y=1
*****
***** A is the guessed value for Z at eta=0
*****
***** Runge kuuta method is used to fing f,Y,Z
*****
*********************************************************************
A=1.
i=0
h=0.05
Z(1)=A
i=i+1

Y(1)=0
f(1)=0
eta(1)=0
do 2

n=1,150
kf(1)=Y(n)
kY(1)=Z(n)
kZ(1)=-(1./2.)*Z(n)*f(n)
kf(2)=(Y(n)+(h/2.)*kY(1))
kY(2)=(Z(n)+(h/2.)*kZ(1))
kZ(2)=-(1./2.)*(Z(n)+(h/2.)*kZ(1))*(f(n)+(h/2.)*kf(1))
kf(3)=(Y(n)+(h/2.)*kY(2))
kY(3)=(Z(n)+(h/2.)*kZ(2))
kZ(3)=-(1./2.)*(Z(n)+(h/2.)*kZ(2))*(f(n)+(h/2.)*kf(2))
kf(4)=(Y(n)+h*kY(3))
kY(4)=(Z(n)+h*kZ(3))
kZ(4)=-(1./2.)*(Z(n)+h*kZ(3))*(f(n)+h*kf(3))
eta(n+1)=eta(n)+h
f(n+1)=f(n)+h*(kf(1)+2*kf(2)+2*kf(3)+kf(4))/6
Y(n+1)=Y(n)+h*(kY(1)+2*kY(2)+2*kY(3)+kY(4))/6
Z(n+1)=Z(n)+h*(kZ(1)+2*kZ(2)+2*kZ(3)+kZ(4))/6

continue

q(i)=A
err(i)=(1.-Y(91))
***************************************************************************
*****
We Are using Newton Rapson mathod to find A_impproved
*****
*****
A_improved=A-(Y(A)-1)/(dY/dA)
*****
*****
Here,
Y(A)-1=err(i)
*****
*****
dY/dA=err(i)-err(i-1)/q(i)-q(i-1)
*****
***************************************************************************
if (i.eq.1) then
A=A+0.05
goto 1
else
if (i.eq.3) then
if (err(2).lt.err(1)) then
A_improved=q(2)-((q(3)-q(2))*err(2)/(err(3)-err(2)))
else
A_improved=q(1)-((q(3)-q(1))*err(1)/(err(3)-err(1)))
endif
else
A_improved=q(i-1)-((q(i)-q(i-1))*err(i-1)/(err(i)-err(i-1)))
endif
endif
if (abs(err(i)).gt.0.0001) then
A =A_improved
goto 1
else
10

30

write (1,10)
format(1x,'SOLUTION OF HYDRODYNAMIC BOUNDARY LAYER FOR FLOW OVER
d FLAT PlATE'/)

write(1,20)
write (1,30)
format (4x,'ETA',6x,'[F]',6x,'[FPRIME]',4x,'[F"]')

20

write (1,20)
format ('____________________________________________________')
write(1,40)(eta(x),f(x),Y(x),Z(x),x=1,150)

40

format(f10.6,f10.6,1x,f10.6,2x,f8.6)
endif
stop

end

You might also like