
250
CHG=
c
The
programming
of
the
wave
equations
2.4, RTJSP
=
100-0- THESE
VALUES
ARE FOR I.IATER.
I t t t
r
t
t t t ltttlt *
I
tl
tt r
t
t
t
*
r r t rrtt
trt I
r
tr
r
f I t
r
t *
t t
r
r
r r
ri
x
r
l r
r r r
r
t
)t
SUBROUTINE
I.TASP( T, J, K.C)
coltMoN,t AA
lN,Et
(
50
),
D
(
-c0
),
EK
(
50
l,
G, H, HNU, H1
(
50,
21
),
H2
(
SCt, 2t
l,
oP(50)
,v1(50
,21) ,v2t50,21) ,
Z(50,2)
,DX.,
TROUTE(50,2)
,NETNO(50) ,'
JUNCT
(
50, 5
),
HRES
(
50, 2
),
Pr,
HA, HG, E1, E2. Rttsp, rp,
VK
(
50,
21
),
QV
(
50
),
FK, FE
(
50
),
TK
(50
),
T,AP
(
5C
),
Bp(
50
),
Cp(50
),
pN
(
50
),
pNS
(
50
),
EFF
(
50
),
TP
(
50
)
.
PO
{
50
),
PINER
(
50
),
JP
(
50
),
HV, TNKL
(
-s0
r,
DTF
(
50
),
POLY.
DTf
(
50
},
AC
(
50
),
AE
(
50
),
TVs(50
)
.
TVF
{
50), KSR
(
50
},
pArRr
(
50
),
AT
i
50
),
HB
(
5
),
TCHO,TSIM,DT,TT,KK
T.TRITE(
1,
1OO) I,
EL(T
)
FORMAT(
'
ENTRY
OF I.TASP'
,15,
F12.41
P=
(H1
(
r,
J)
-
(Z{1,1
)
+
(
3
(
r, 2
)
-Z{r,1
)
)
.
(
J-1
)
rD}:/EL
(
r
; ) )
r
9t
E=E1
IF
(P.
LE.
HIHG)
E=81+E2
IF{
P.
LT . HVrI.l
)
P=HVr}l
E=Erl.lrHA,/P
IF(E.cT.0.8)E=0.8
c=1 -
O/soRT(Hr
(1.0-E)
/cx
(1.0/FK+E/p+D(
r
) /
(TK(r)
tFE(r
)
) ) )
IF
(C.
LT . RI|SP)
C=RllSP
c
wRrTE(1,101
)C
101
FORMAT('
EXIT OF
HASP'
,Ft2.4I
RETURN
END
12.4.4 The interpolating and fric{ion
subroutine FRINT
\ilhen
calculating the
values
at the
base
of
a
characteristic three numbers
are
required. These are the
velocity
u1,
the total head
hland the friction value
Zfullol
Ltl
gd
where the
subscript I denotes an interpolated
value.
All three values
are needed in
the calculation of the
velocity
and head
at the
node
point
a Ar
later; so it
seems
sensible
to
use one subroutine to calculate
all three.
c
lltl ttl t t tttttltrtt lttr
ttrr t
rr
t a I t
rlr
lI S
r r r r.t
I t t lrr t
rr l r r artrt
I
r
C
SUBROUTINE FRINT
CALCULATES
INTEP.POLATED VALUES OF HEAD(TOTAL),
C VELOCITY AND Ff
{
=2IFIVIaABS{VI)'DT/D).
RE IS
CATCULATED
AND IF
C RE IS IESS TIIATI 2300, F IS ICADE
EOUAL TO 15/RE AND JF IT
IS GREATER
C THAN
2300
IT IS OBTAINED FROI'I
THg COLEBROOK-IIIHITE EOUATION
USING THE }'OODY FOR}'UIA AS
AN
INITIAL
APPROXIMATION.
c
t r
t: *
tt
rtttlrt ltttl tr rt
ta t *t trt t lttr I tl
t
I r
r
t
tr
t t I r I
t
t * t a t x t tr I
I
*
suBRouTrNE
FRrNT( r, J,Hr,Vr,
Fr, L,K,C)
COHMON
/
AA/N,EL{50
),
D
(50
),
EK
(
50
),
G, H, [.lNU, H1
{
50, 21
),
H2
(
50,
21
},
oP( 50),
vl
(50,
21
),
V2
(50,2!),2
(50,
2
),
DX, TROUTE
(
50, 2
),
NETNO( 50
),
JIINCT(-c0,5)
,HRE-q(50,2l,PI,HA,HG,E1,
E2,RI.ISP,
fP,VK(50,21)
,QV(50)
,
FK,FE(50)
,Tl{(50) ,T,AP(50},BP(5rl) ,cP(50)
,
PN(-=.C)
.
PNS(50)
,
EFF(50)
,
TP
(
50
),
PO
(50
),
PII{ER
(
-c0
},
DP
(
5C
)
.
HV, TNKL
(
50
)
.
STF
(
50
),
POLY, DTr
(
_c0
),
AC(50)
,AE(50),TVS(50)
,TVF(50)
,KSR(50)
,PAIRI
(-s0)
,AT(50) ,HB(50) ,
ICHO, TSIM, DT, TT,KK
t.rRrTE.(1,100)I
FORMAT(
'ENTRY
OF
FRIIIIT'
,
T5)
IC=0
CALL WASF(T,J,K,C)
DDX=
(C+J'V1 (f,
J)
)
rDT
JA=K-J
VI=V1
(I,
J)
-(Vl
(I,
J)-Vl
(f
,.TA)
)
IDDX,/DX
lll=Hl
(
I, J)-(H1
(f
,
J)-H1
(I,
JAI
)
1DDX,/DX
RE=ABS(VI)rD(I)/HNU
'
1cn.
rz
1
a
3
4
5
6
c
100
1
2
3
4
5
6
c
100
Sec.
12.4]
Subroutines
IF(RE-LT.0'1)RE=O'1
3
c
101
25L
IF(RE.
LT.2300
- 0
)F=16'
O/RE
F1=F
IF(RE.
tT.2300.
0
)coTo
3
F1=0.
001375r
t
r. 6iiioooo.
0rEK
(
Tl
lD
tI
)
+
1000000'
o/RE)
r t0'
3333)
F=!
.0/
(-4.0'Al,o6i07i.stt
(
2.0tsoRT(F1)
rRE)
+EK(
r
)
/D(
r
| /3
-7,l't2
rF(ABS(F1
/F-t
-0)
-LT.
0'
0001
)Goro
3
IC=fC+1
F1=F
GOTO
2
F=F1
FI=Z.0*FrvIrABS(VI
)
lDTID(
I
)
WRITE(1,101)
FORMAT('
EXIT
OF
FRINT')
RETURN
END
12.4.5
The
air
vessel
subroutine
AIRV
In
this
subroutine
the
technique
used
is
that
given in
the
preyious
relevant
chapter.
This
subroutine
can
be
called
at
the
downstreim
end
of any
pipe
!n
the
network'
If an
air
vessel
is
present
at
a
distance
r
down
any
pipe' this
procedure
can
be
used
by
introducing
an
additional
node
into
the
netw;rkit
*hich
the
air
vessel
is
located.
SUBROUTINE
AIRV(I)
coMMoN /M/N.EL(50)
,
D(50)
'
EI
1
oP(50),v1(50,2L),V2(5O'2t\,Z',
2
JUNCT(50,5),HRES(50,2),Pr,HA
3 FK,
FE
(50),TK(50),T,AF(50)'
BP
4 TP(50
),
PO(50).,
PrNER(50
),DP(51
5
AC(50),AE(50),TVS(50),TVF(50
5 ICHO,
TSII.',DT,II
,KK
c
IIRTTE(1,100)
1OO
FORI'AT('
ENTRY
OF
AIRV')
NET=NETNO(
I
)
CALL
I.IASP(
I,
NET,K,C)
CALL
FRINT{I'NET,HX,VX,FX,
1,K,
C)
CALI
FRINT(
I+1,
1,HY,vY,
FY,
-1'K'C)
AL=PI/A.OxD(I)'D(I)
AZ=P]
/4.0*D(
I+1
)
rD(
I+1
)
DH=
(A1rV1
(
I,NET)
-A2*V1 (
f+1'
1
) )'DTr/AT(
I
)
IF(T.GT.DT/2.0)GOTO
1
pAIRI
(I)=(Hl
(I,NET)-HB(I
J
-2G,2)-DTI
(I
)
)
rn
DTF(I)=DTI(I)
1
DTF(i)=DTF(l)+DH
HAIR=
t
tillxi
(
I
)
-DTF
(
I')
t
/
(TNKL(
I
)
--DTI
(
I
) )
)
r'PoLYTPAIRI
(
I
)
/t'l
HP=HAIR+HS1
1
)
+Z{
I, 2
)
+DTF
(
I
)
v2(
I
,NET)=VX-FN-G/Cx
(HP-HX)
V2
(
I+1,
t
)
=VY-FY+G
/Ct
(HP-HY)
Hz(I,NET)=HP
H2(I+1,1)=HP
DTI{I)=DTF(I)
c
ttRrrE(1,101)