0% found this document useful (0 votes)
133 views9 pages

Shooting Method

This document describes a computer program that uses Keller's shooting method to solve the Falkner-Skan equation. The program uses a system of first-order ordinary differential equations and Newton's method to iteratively determine the unknown boundary condition. It employs a fourth-order Runge-Kutta integration method. The program logic is contained in the main program, and it calls three subroutines: STNDRD defines the boundary conditions and system of equations, VARS solves the variational equations, and RKM contains the Runge-Kutta integration method.

Uploaded by

Arjit Pandey
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
133 views9 pages

Shooting Method

This document describes a computer program that uses Keller's shooting method to solve the Falkner-Skan equation. The program uses a system of first-order ordinary differential equations and Newton's method to iteratively determine the unknown boundary condition. It employs a fourth-order Runge-Kutta integration method. The program logic is contained in the main program, and it calls three subroutines: STNDRD defines the boundary conditions and system of equations, VARS solves the variational equations, and RKM contains the Runge-Kutta integration method.

Uploaded by

Arjit Pandey
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 9

Program 1

Shooting Method

Description of the Method

Before we present the computer program, we first describe Keller's shooting method
[1], which replaces the traditional trial-and-error searching technique used in a
conventional shooting method by Newton's method; this generally provides quadratic
convergence of the iterations and decreases the computational time. According to this
method, as in the finite-difference method discussed in Section 4.2, Eq. (4.2.5) is
replaced by a system of three first-order ordinary differential equations. Denoting the
unknowns f ′ and f ′′ by u and v , respectively (as in Section 4.5), we write the
Falkner-Skan equation and its boundary conditions as a first-order system,
f′=u (1.1a)
u′ = v (1.1b)
m +1
v′ = − fv − m(1 − u 2 ) (1.1c)
2
f (0) = 0, u (0) = 0 (1.2a)
u (η e ) = 1 (1.2b)
The numerical integration of the above system of equations requires v(0) , a quantity
which is an unknown at the start of the integration process. Its value, denoted by s ,
v(0) = s (1.3)
must be determined such that the solution of the Falkner-Skan equation satisfies all of its
boundary conditions given by Eq. (1.2a). Thus an iteration procedure is needed. If a
solution of the Falkner-Skan equation is denoted by [ f (η , s ), u (η , s ), v(η , s )] , then a value
of s may be found such that
u (η e , s ) − 1 ≡ φ ( s ) = 0 (1.4)
To solve Eq. (1.4), we employ Newton's method and define the successive values of
ν
s by
ν +1 ν φ ( sν ) ν u (η e , sν ) − 1
s =s − ≡s − ν = 0,1, 2,... (1.5)
[dφ ( sν ) / ds ] [∂u (η e , sν ) / ∂s ]

To determine the derivative of u with respect to s , Eqs. (1.1), (1.2a) and (1.3) are
differentiated to obtain the following linear differential equations, known as the
variational equations, for Eq. (1.1):
F′ = U (1.6a)

U =V (1.6b)

6/12/2004 4:34 PM 1
m +1
V′ = − ( fV + vF ) + 2muU (1.6c)
2
and the initial conditions,
F (0) = 0, U (0) = 0, V (0) = 1 (1.7)

Here
∂f ∂u ∂v
F (η , s ) ≡ , U (η , s) ≡ , V (η , s) ≡ (1.8)
∂s ∂s ∂s
Once a solution of the Falkner-Skan equation is obtained subject to Eqs. (1.2a) and
(1.3), and a solution of the variational equations (1.6), subject to Eqs. (1.7), u (η e , sν ) and
U (η e , sν ) is known, then the next approximation to v(0) , namely sν +1 can be computed
from Eq. (1.5). The solution procedure is repeated until convergence when
| sν +1 − sν |< ε (1.9)
where ε is a convergence parameter.

Computer Program
We now describe the computer program for solving the Falkner-Skan equation for a
specified value of m using the shooting method discussed above. While several
integration methods can be used to solve the initial value problem, here, because of its
simplicity, a fourth-order Runge-Kutta method is used.
The computer program consists of a main program containing the logic of the
computations which has three subroutines: STNDRD, VARS and RKM. The following is
a description of the computer program and its subroutines.

MAIN Contains the input data, the boundary-layer grid, the logic of the
numerical scheme, the number of iterations performed, and the output,
which consists of the profiles f , u , v as a function of η and the
dimensionless displacement and momentum thickness parameters δ 1∗
and θ1 , respectively
ηe
δ 1∗ = ∫ (1 − f ′)dη = η e − f e
0
ηe
θ1 = ∫ f ′(1 − f ′)dη
0

The input data are similar to the input data described for the finite-difference
boundary-layer method BLP2 in Program 3, with NXT, ITMAX, ∆ X, S(1), ETAINF,
EPS corresponding to the total number of x -stations, maximum iteration number, ∆η -
increment, v(0) = S (1) , η e and convergence criterion, which is usually taken as 10 −5 or
10 −6 .

6/12/2004 4:34 PM 2
Program Main
C PROGRAM MAIN
COMMON/SHARE/F(101),U(101),V(101),PNX1,NP,DX,NX,ETA(101),P(15),
1 S(15),PHI,ETAINF,DERWRS
C--------------------------------------------------------------------
C INPUT
READ(5,8000) NXT,ITMAX,DX,S(1),ETAINF,EPS
READ(5,8100) (P(I),I=1,NXT)
C TOTAL NUMBER OF GRID POINTS, NP
NP = ETAINF/DX +1.1
NX = 1
C INITIAL VALUE OF INDEPENDENT VARIABLE
60 ETA(1) = 0.0
WRITE(6,9300) NX,P(NX),S(NX)
WRITE(6,9050)
IT = O
PNX1 = -0.5*(P(NX)+1.0)
C
90 IT = IT+1
IF (IT .LE. ITMAX) GO TO 95
WRITE(6,9000)
GO TO 400
C
95 CALL STNDRD
CALL VARS
TERM = PHI/DERWRS
WRITE(6,9060) S(NX),TERM
S(NX) = S(NX)-TERM
C
C CHECK FOR CONVERGENCE
IF (ABS(TERM) .GT. EPS) GO TO 90
CALL STNDRD
S(NX+1) = S(NX)
C OUTPUT
400 WRITE(6,9070)
DO 2 J=1,NP,8
2 WRITE(6,9100) J,ETA(J),F(J),U(J),V(J)
DELST1 = ETA(NP) - F(NP)
THETA1 = (S(NX)-P(NX)*DELST1)/(1.5*P(NX)+0.5)
WRITE(6,9200) DELST1,THETA1
C
NX = NX+1
IF (NX .LE. NXT .AND. IT .LE. ITMAX) GO TO 60
STOP
C----------------------------------------------------------------
8000 FORMAT(2I3,4F10.0)
8100 FORMAT(F10.0)
9000 FORMAT(1H ,25HITERATIONS EXCEED MAXIMUM)
9050 FORMAT(1H ,11X,1HS,13X,3H-DS)
9060 FORMAT(1H ,5X,2E14.6)
9070 FORMAT(1H ,2X,1HJ,4X,3HETA,9X,1HF,13X,1HU,13X,1HV/)
9100 FORMAT(1H ,I3,F10.4,4E14.6)
9200 FORMAT(1H ,7HDELST1=,E14.6,3X,7HTHETA1=,E14.6//)
9300 FORMAT(1H ,3HNX=,I3,5X,2HP=,F10.6,5X,2HS=,F10.6)
END

6/12/2004 4:34 PM 3
Subroutine STNDRD
STDRD Defines the boundary and initial conditions given by Eqs. (1.2a) and
(1.3) at the wall and the system of equations given by Eq. (1.1). Also,
s in Eq. (1.4a) is computed.

SUBROUTINE STNDRD
COMMON/SHARE/F(101),U(101),V(101),PNX1,NP,DX,NX,ETA(101),P(15),
1 S(15),PHI,ETAINF,DERWS
DIMENSION C(3),B(3),Z(3),G(12)
C--------------------------------------------------------------------
C DEFINITION OF FIRST-ORDER SYSTEM
C INITIAL VALUES OF DEPENDENT VARIABLES
N = 3
X = 0.0
IS = 0
B(1) = 0.0
B(2) = 0.0
B(3) = S(NX)
F(1) = B(1)
U(1) = B(2)
V(1) = B(3)
C
DO 100 J=2,NP
DO 110 LL=1,4
C(1) = B(2)
C(2) = B(3)
C(3) = PNX1*B(1)*B(3)-P(NX)*(1.0-B(2)**2)
110 CALL RKM(X,B,C,DX,N,Z,G,IS)
C
C SAVE CURRENT VALUES
F(J) = B(1)
U(J) = B(2)
V(J) = B(3)
100 ETA(J) = X
PHI = U(NP)-1.0
RETURN
END

Subroutine VARS
VARS Defines the variational equations and their initial conditions given by
Eqs. (1.6) and (1.7). U (η e , sν ) in Eq. (1.5) is computed here.

SUBROUTINE VARS
COMMON/SHARE/F(101),U(101),V(101),PNX1,NP,DX,NX,ETA(101),P(15),
1 S(15),PHI,ETAINF,DERWRS
DIMENSION C(3),B(3),Z(3),G(12)
C--------------------------------------------------------------------
C INITIAL VALUES OF DEPENDENT VARIABLES

6/12/2004 4:34 PM 4
N = 3
X = 0.0
IS = 0
B(1) = 0.0
B(2) = 0.0
B(3) = 1.0
FF = F(1)
UU = U(1)
VV = V(1)
C SOLUTION FOR GIVEN F,FP,FPP PROFILES
DO 100 J=2,NP
FJ = F(J)
UJ = U(J)
VJ = V(J)
DO 10 LL=1,4
GO TO (4,2,4,3),LL
2 FF = (FF+FJ)/2.0
UU = (UU+UJ)/2.0
VV = (VV+VJ)/2.0
GO TO 4
3 FF = FJ
UU = UJ
VV = VJ
4 C(1) = B(2)
C(2) = B(3)
C(3) = PNX1*(VV*B(1)+FF*B(3))+2.0*P(NX)*B(2)*UU
10 CALL RKM(X,B,C,DX,N,Z,G,IS)
100 CONTINUE
C
DERWRS = B(2)
RETURN
END

Subroutine RKM

RKM contains the Runge-Kutta method, which is of fourth order in ∆η . It integrates


any system of first-order quasi-linear simultaneous ordinary differential equations and is
not specialized to the Falkner-Skan system. To describe this method, consider a first-
order differential equation of the form
dy
= f ( x, y ) (1.10)
dx
subject to the prescribed initial condition y = y0 when x = x0 . According to the
commonly used fourth-order Runge-Kutta method, the solution of Eq. (4A.10) is given
by
1
yn+1 = yn + (k1 + 2k2 + 2k3 + k4 ) (1.11)
6
where, with h = xn+1 − xn = ∆x ,

6/12/2004 4:34 PM 5
k1 = hf ( x n , y n )
k 2 = hf ( x n + 12 h, y n + 12 k1 )
(1.12)
k 3 = hf ( x n + 12 h, y n + 12 k 2 )
k 4 = hf ( x n + h, y n + k 3 )

Thus, in each step in  (or x ), RKM must be called four times. The arguments X to
IS have the following explanation.
• The independent variable  . The initial value for X must be input.
• A floating point array that is dimensioned N . The B(I ) are the current values of the
dependent variables. For example,
f B (1)
u = B ( 2)
v B (3)
Initial values f (0) , u0 , and v(0) must be input.

DX A floating point array that is dimensioned N . The ( CI ) are the current


values of derivatives. These values are supplied to RKM through the
argument list. For example,
F C (1)
U = C (2)
V C (3)
DX The increment in  . DX must be input
N The number of simultaneous equations to be integrated.
F A floating point array used by the subroutine to store values of the array
B . F is dimensioned N .
G A floating array that contains intermediate values computed by the
subroutine. Four entries of G are used to compute one entry of B . G
is dimensioned 4 ∗ N .
IS A code variable that must be set to zero to initialize the subroutine. IS is
automatically stepped through the values 1, 2, 3 and 4 and is reset to zero
by the subroutine after user variables for X and the array B are
computed. The four entries to RKM are, in effect, four improved
estimates of the required integral over the interval DX .

SUBROUTINE RKM(A,B,C,DX,N,F,G,IS)
DIMENSION C(N),B(N),F(N),G(4*N)
C--------------------------------------------------------------------
IS = IS+1
GO TO (10,30,60,80), IS
C FIRST ENTRY
10 E = A
DO 20 I=1,N

6/12/2004 4:34 PM 6
F(I) = B(I)
G(4*I-3) = C(I)*DX
20 B(I) = F(I)+G(4*I-3)/2.0
GO TO 50
C SECOND ENTRY
30 DO 40 I=1,N
G(4*I-2) = C(I)*DX
40 B(I) = F(I)+G(4*I-2)/2.0
50 A = E+DX/2.0
GO TO 100
C THIRD ENTRY
60 DO 70 I=1,N
G(4*I-1) = C(I)*DX
70 B(I) = F(I)+G(4*I-1)
A = E+DX
GO TO 100
C FOURTH ENTRY
80 DO 90 I=1,N
G(4*I) = C(I)*DX
B(I) = G(4*I-3)+2.0*(G(4*I-2)+G(4*I-1))
90 B(I) = (B(I)+G(4*I))/6.0+F(I)
IS = 0
100 RETURN
END

Applications

To demonstrate the applications of the computer program and its output, we present
results for Blasius similar flow m = 0 , which corresponds to NXT = 1 . We take
ITMAX = 6 , ∆η -increment (DX) 0.1, wall shear (1) at NX = 1 as 0.300, η e as 8 and
convergence parameter as 10 −6 .
The output presented below shows that the profiles f j , u j , v j as functions of η j
and j together with the rate of convergence of the solutions and dimensionless
boundary-layer parameters δ 1∗ and θ1 for each value of m .
The results for m = 0 show that, for an assumed wall shear value of 0.3, the rate of
convergence of the solutions in quadratic, requiring only three iterations. To obtain
solutions for m = 0.5 , we have used increments of ∆m = 0.1 . Again, the convergence
rate is quadratic. Similar results are also obtained for m = 1 . Results are only presented
for m = 0 , 0.5 and 1.0.

NX= 1 P= 0.000000 S= 0.300000


S -DS
0.300000E+00 -0.315214E-01
0.331521E+00 -0.537911E-03
0.332059E+00 -0.296956E-07
J ETA F U V

1 0.0000 0.000000E+00 0.000000E+00 0.332059E+00

6/12/2004 4:34 PM 7
9 0.8000 0.106109E+00 0.264711E+00 0.327391E+00
17 1.6000 0.420323E+00 0.516760E+00 0.296665E+00
25 2.4000 0.922295E+00 0.728986E+00 0.228093E+00
33 3.2000 0.156910E+01 0.876086E+00 0.139128E+00
41 4.0000 0.230576E+01 0.955522E+00 0.642340E-01
49 4.8000 0.308534E+01 0.987794E+00 0.218711E-01
57 5.6000 0.388031E+01 0.997482E+00 0.543197E-02
65 6.4000 0.467938E+01 0.999616E+00 0.980645E-03
73 7.2000 0.547925E+01 0.999960E+00 0.128584E-03
81 8.0000 0.627924E+01 0.100000E+01 0.122445E-04
DELST1= 0.172075E+01 THETA1= 0.664119E+00

NX= 1 P= 0.500000 S= 0.817270


S -DS
0.817270E+00 -0.899329E-01
0.907203E+00 0.746350E-02
0.899739E+00 0.226980E-04
0.899717E+00 -0.125888E-06
J ETA F U V

1 0.0000 0.000000E+00 0.000000E+00 0.899717E+00


9 0.8000 0.245793E+00 0.563205E+00 0.516792E+00
17 1.6000 0.827465E+00 0.852277E+00 0.227309E+00
25 2.4000 0.156199E+01 0.963375E+00 0.716724E-01
33 3.2000 0.234773E+01 0.993629E+00 0.154319E-01
41 4.0000 0.314556E+01 0.999247E+00 0.220024E-02
49 4.8000 0.394534E+01 0.999941E+00 0.203881E-03
57 5.6000 0.474532E+01 0.999997E+00 0.122146E-04
65 6.4000 0.554532E+01 0.100000E+01 0.554850E-06
73 7.2000 0.634532E+01 0.100000E+01 0.910765E-07
81 8.0000 0.714532E+01 0.100000E+01 0.688662E-07
DELST1= 0.854673E+00 THETA1= 0.377904E+00

NX= 1 P= 1.000000 S= 1.173530


S -DS
0.117353E+01 -0.175270E+00
0.134880E+01 0.756893E-01
0.127311E+01 0.327164E-01
0.124039E+01 0.742014E-02
0.123297E+01 0.387354E-03
0.123259E+01 0.581049E-06
J ETA F U V

1 0.0000 0.000000E+00 0.000000E+00 0.123259E+01


9 0.8000 0.312424E+00 0.685937E+00 0.525132E+00
17 1.6000 0.979781E+00 0.932347E+00 0.147353E+00
25 2.4000 0.175525E+01 0.990548E+00 0.260216E-01
33 3.2000 0.255233E+01 0.999185E+00 0.275514E-02
41 4.0000 0.335211E+01 0.999957E+00 0.168261E-03
49 4.8000 0.415210E+01 0.999997E+00 0.519110E-05
57 5.6000 0.495210E+01 0.999998E+00 -0.660768E-06
65 6.4000 0.575210E+01 0.999997E+00 -0.864673E-06
73 7.2000 0.655210E+01 0.999997E+00 -0.934394E-06
81 8.0000 0.735209E+01 0.999996E+00 -0.109396E-05
DELST1= 0.647902E+00 THETA1= 0.292342E+00

6/12/2004 4:34 PM 8
Source Code, input data and test cases

6/12/2004 4:34 PM 9

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy