Академический Документы
Профессиональный Документы
Культура Документы
-----------------------------------------------------------WIDTH
= WIDTH1
AREA = AREA1
K
= K1
DKDY = DKDY1
Initialize the start index of forward sweep
-----------------------------------------------------ISTART
=2
ELSE
INITIALIZE E(1) & F(1) FROM D/S B.C.
-----------------------------------------Call usbc (iustyp, X(1), Y(1), Q(1), nbcus, bcus, dbcus, e(1), f(1)
Initialize the start index of forward sweep
-----------------------------------------------------Istart = 1
End if
Forward sweep
============
Ibcdone
Do 200 I = start, nox-1
Compute geometry of the cross-section
--------------------------------------------------Call geometry (x(1+1), (y(i+1), area1, width1, k1, dkdy1)
Chek for internal boundary conditions
------------------------------------------------IF (IBCDONE.GE.NIBC) GOTO 185
DO 180 J = 1, NIBC
Chek the location of the structure
-------------------------------------------IF (I.NE. IIBC (J)) GOTO 180
CALL IBCMANAGER (IBCTYP(J),Y(I), Y(I+1), Q(I), Q(I+1), TIMEM,
QINFLOW, SINFLOW, NINFLOW, SURF, NSURF, FLOORELEV, CGATE,
AGATE, CWEIR, BWEIR, YWEIR, CINTAKE, BINTAKE, YINTAKE, A, B,
C, D, G AA, BB, CC, DD, GG)
IBCDONE = IBCDONE +1
GOTO 190
CONTINUE
Compute influence coefficient
--------------------------------------DX = X(I+1) (i)
CALL UNSTEADYCOEFF (DX, WIDTH, WIDTH1, Y(I), Y(I+1), AERA, AERA1, Q(I),
Q(I+1), K, K1,
DKDY, DKDY1, A, B, C, D, G AA, BB, CC, DD, GG)
CALL INFLUENCECOEFF (A, B, C, D, G AA, BB, CC, DD, GG, E(1), F(1),E(i+1), F(I+1),
L(I), M(I), N(I))
Store geometry elements for the section
----------------------------------------------------Width = width1
Area = area1
K
= k1
DKDY = DKDY1
CONTINUE
Initialize DY & DQ from u/s b.c.
---------------------------------------CALL DSBC (IDSTYP, X(NDX), Y(NDX), Q(NDX), NBCDS, BCDS, DBCDS, E(NDX), F(NDX),
DY, DQ)
RETURN SWEEP
=============
SUMDQ = 0.0
DO 300 I = NDX -1, 1, -1
Y(I+1) = Y(I+1) + DY
Q(I+1) = Q(I+1) + DQ
DY
= L(I)*DY + M(I) * DQ+N(I)
DQ
= E(I)*DY+ F(I)
SUMDQ = SUMDQ + DQ*DQ
CONTINUE
IF (IUSTYP.EQ.4) THEN
Y(1)
= Y(1) + USDGMMA
Q(1)
= Q(1) + DY
SUMDQ = SUMDQ + DY * DY
ELSE
Y(1)
= Y(1) + DY
Q(1)
= Q(1) + DQ
SUMDQ = SUMDQ + DQ * DQ
END IF
Dump to screen
==============
IF(.NOT.FIRST)
WRITE(*,(F8.1,20(A, F10.2)))
TIMEM,( ,Y(J), ,Q(J),J=1, NDX, NDX-1)