제3장 상수 배수관망 설계



   Hardy cross법에 의한 상수 배수관망 설계를 fortran으로 전산화 한 내용을 소개하면 다음과 같다.


C	THIS IS WATERSUPPLY THE NETWORK PROGRAMED
C
C	THE SYMBOL IS FOLLOWING
C	N:NUMBER OF PIPE LINE, KK:NUMBER OF LOOP,
C	ACCFS:ACCURACY OFRESULTS, C:COEFFICIENT OF VELOCITY,
C	ND:PIPE NO, AL:LENGTH OF PIPE, D:DIAMETER OF PIPE,
C	Q:QUALITY, NP:PRIMARY LOOP, NS:SECON LOOP
C
C
	DIMENSION AK(400), AL(400), D(400), DEL(400), F(400),
     *	HL(400), ND(400),
     *		  NP(400), NS(400), Q(400), SD(400), SN(400),
     *	       V(400)


	READ(15,193)N
193	 FORMAT(I5)


	READ(15,193)KK


	READ(15,196)ACCFS
196	 FORMAT(F10.4)


	READ(15,196)C

	DO 1 I=1,N
	READ(15,91) (ND(I), AL(I), D(I), Q(I), NP(I), NS(I),
     *	    I=1,N)
91	   FORMAT(I5, 3F10.4, 2I5)
1	CONTINUE
	DO 2 I=1, N
2	AK(I)=10.66601679*AL(I)/C**1.851851852/D(I)**4.870377037
	WRITE(5,92)
92	FORMAT(21X,  '***PIPE NETWORK IS COMPUTED OF THE FOLLOWING***',
     *	 //, 2X, 'PIPE NO.      DIAM.(M)     LENTH(M)       Q(CMS) ',
     *	  '   PRIMARY LOOP  SECOND LOOP', //)
	DO 3 I=1,N
	   WRITE(5,93) ND(I), D(I), AL(I), Q(I), NP(I), NS(I)
93	 FORMAT(2X, I5, 4X, 2(F10.4, 6X), F7.4, I10, 5X, I10)
3	CONTINUE
	IT=0
4	DO 5 I =1, N
	   QA=ABS(Q(I))
	   AD=D(I)
5	F(I)=128.9549737*AD**0.129622629/QA**0.148148148/C**1.851851852
	DO 6 I=1,KK
	   SN(I)=0
6	SD(I)=0
	DO 8 I=1,N
	   QA=ABS(Q(I))
	   ANUM=-AK(I)*Q(I)*QA**0.851851852
	   DENOM=1.851851852*AK(I)*QA**0.851851852
	   J=NP(I)
	   K=NS(I)
	   SN(J)=SN(J)+ANUM
	   SD(J)=SD(J)+DENOM
	   IF(K) 8,8,7
7	SN(K)=SN(K)-ANUM
	SD(K)=SD(K)+DENOM
8	CONTINUE
	 DO 10 I=1,KK
	    IF(SD(I))9,10,9
9	    DEL(I)=SN(I)/SD(I)
10	CONTINUE
	DO 13 I=1,N
	   J=NP(I)
	   K=NS(I)
	   IF(K) 12,12,11
11	   Q(I)=Q(I)+DEL(J)-DEL(K)
	   GO TO 13
12	   Q(I)=Q(I)+DEL(J)
13	CONTINUE
	IT=IT+1
	DO 14 I=1,N
	   QA=ABS(Q(I))
	   V(I)=4*Q(I)/3.141592654/D(I)/D(I)
14	HL(I)=AK(I)*Q(I)*QA**0.851851852
	IF(IT-100)15,15,17
15	DO 16 I=1,KK
	   IF(ABS(DEL(I)-ACCFS)) 16,16,4
16	CONTINUE
	GO TO 100
17	WRITE(5,97)
97	FORMAT(5X, 'AFTER 20 ITERATION ,  ACCURACY IS STILL BELOW
     * STANDARD')
100	WRITE(5,94) IT,ACCFS
	WRITE(5,95)
	write(5,96)(nd(i),F(I),Q(I),HL(I),V(I),I=1,N)
94	FORMAT(//, 10X, '*** THE RESULTS OF THE NETWORK
     *	ANALYSIS ARE ***',
     *	  //, 2X, 'NO.OF ITERATION IS', I4, 6X, /, 2X, 'FLOW RATE',
     *	  ' ACCURACY TO', F12.6, 1X, 'CMS')
95	FORMAT(/,2X, 'PIPE NO.    FRICTION       Q(CMS)', 5X,
     *		'HEAD LOSS(M)    VELOCITY',/)
96	FORMAT(2X, I5, 4F14.5)
       STOP
       END


   상기의 프로그램을 fortran program에서 실행파일을 만든후 다음의 예제를 가지고 실행해 보기로 한다.

   (예제) 다음의 그림과 같은 배수관망을 설계하시오.
(설명) 입력자료는 fortran program에서 다음과 같이 하고 file명을 sung3.dat로 저장한다. (1) 00007 (2) 00002 (3) 00000.0001 (4) 00100.0000 0000100500.000000000.100000000.00300000100000 0000200400.000000000.075000000.00050000100002 0000300500.000000000.1000-0000.00300000100000 0000400400.000000000.1000-0000.00300000100000 0000500500.000000000.1000-0000.00300000200000 0000600500.000000000.075000000.00150000200000 0000700400.000000000.075000000.00150000200000 (5) (6) (7) (8) (9) (10) (1) : 관로의 수(5자리수 : I5) (2) : loop의 수로 예제 그림의 경우 2개이다.(5자리수 : I5) (3) : 정밀도(소숫점 포함 10자리수 : F10.4) (4) : 유속계수 C=100(소숫점 포함 10자리수 : F10.4) (5) : 관로의 번호로 예제의 그림에서 관로의 번호는 1-7번 까지(5자리수 : I5) (6) : 관로의 길이(소숫점 포함 10자리수 : F10.4) (7) : 관경(소숫점 포함 10자리수 : F10.4) (8) : 가정 유량(소숫점 포함 10자리수 : F10.4) (9),(10) : 관로의 번호에 해당하는 loop 번호(5자리수 : I5) 결과를 구하기 위하여 다음과 같이 실행한다. C:\FORTRAN>sung3 File name missing or blank - Please enter name UNIT 15? sung3.dat UNIT 5? sung3.out Stop - Program terminated. 결과치는 다음과 같다. C:\FOORTRAN>type sung3.out>prn ***PIPE NETWORK IS COMPUTED OF THE FOLLOWING*** PIPE NO. DIAM.(M) LENTH(M) Q(CMS) PRIMARY LOOP SECOND LOOP 1 .1000 500.0000 .0030 1 0 2 .0750 400.0000 .0005 1 2 3 .1000 500.0000 -.0030 1 0 4 .1000 400.0000 -.0030 1 0 5 .1000 500.0000 -.0030 2 0 6 .0750 500.0000 .0015 2 0 7 .0750 400.0000 .0015 2 0 AFTER 20 ITERATION , ACCURACY IS STILL BELOW STANDARD *** THE RESULTS OF THE NETWORK ANALYSIS ARE *** NO.OF ITERATION IS 101 FLOW RATE ACCURACY TO .000100 CMS PIPE NO. FRICTION Q(CMS) HEAD LOSS(M) VELOCITY 1 .04425 .00324 1.92141 .41257 2 .05110 .00095 .64762 .21581 3 .04532 -.00276 -1.42724 -.35137 4 .04532 -.00276 -1.14179 -.35137 5 .04431 -.00321 -1.89166 -.40911 6 .04888 .00129 1.41071 .29129 7 .04888 .00129 1.12857 .29129