340
Appendix B
C********************************************************************
C
C
Subroutine FDW forms data of wells for each time step
C
C********************************************************************
C
C
C
C
C
C
SUBROUTINE FDW (TSUM,X,Y, IJM,WRAT,WCON,WLX,WLY, LEW, DWR,DWC,
*
STEPW,NP,NE,NW,NTW,IHC)
IMPLICIT REAL*8 (A-H, O-Z)
DIMENSION X(NP),Y(NP) ,IJM(3,NE),WRAT(NW,NTW) ,WCON(NW,NTW),
1
WLX(NW),WLY(NW) ,LEW(NW),DWR(NP) ,DWC(NP),STEPW(NTW)
DO 1=1, NP
DWR(I)=O.
DWC(I)=O.
END DO
IF (NW .GT. 0) THEN
DO K=l, NTW
IF (STEPW(K) .GT. TSUM) THEN
DO J=l, NW
MI=IJM(l, LEW(J))
MJ=IJM(2, LEW(J))
MK=IJM(3, LEW(J))
AI=X(MJ)*Y(MK)-X(MK)*Y(MJ)
AJ=X(MK)*Y(MI)-X(MI)*Y(MK)
AK=X(MI)*Y(MJ)-X(MJ)*Y(MI)
BI=Y (MJ) -Y (MK)
BJ=Y(MK) -Y(MI)
BK=Y(MI)-Y(MJ)
CI=X(MK)-X(MJ)
CJ=X(MI)-X(MK)
CK=X(MJ) -X(MI)
TRS=ABS(CJ*BI-BJ*CI)
WI=(AI+BI*WLX(J)+CI*WLY(J))/TRS
WJ=(AJ+BJ*WLX(J)+CJ*WLY(J))/TRS
WK=(AK+BK*WLX(J)+CK*WLY(J))/TRS
WI=ABS (WI)
WJ=ABS(WJ)
WK=ABS(WK)
WW=WI+WJ+WK
WI=WI/WW
WJ=WJ/WW
WK=WK/WW
R=WRAT(J, K)
RI=R*WI
RJ=R*WJ
RK=R*WK
DWR(MI)=DWR(MI) + RI
DWR(MJ) =DWR(MJ) + RJ
DWR(MK)=DWR(MK) + RK
IF (IHC .EQ. 2 ) THEN
C=WCON(J, K)
DWC(MI)=DWC(MI) + C*RI
DWC(MJ)=DWC(MJ) + C*RJ
DWC(MK)=DWC(MK) + C*RK
END IF
END DO
Appendix B
C********************************************************************
C
C
Subroutine FDW forms data of wells for each time step
C
C********************************************************************
C
C
C
C
C
C
SUBROUTINE FDW (TSUM,X,Y, IJM,WRAT,WCON,WLX,WLY, LEW, DWR,DWC,
*
STEPW,NP,NE,NW,NTW,IHC)
IMPLICIT REAL*8 (A-H, O-Z)
DIMENSION X(NP),Y(NP) ,IJM(3,NE),WRAT(NW,NTW) ,WCON(NW,NTW),
1
WLX(NW),WLY(NW) ,LEW(NW),DWR(NP) ,DWC(NP),STEPW(NTW)
DO 1=1, NP
DWR(I)=O.
DWC(I)=O.
END DO
IF (NW .GT. 0) THEN
DO K=l, NTW
IF (STEPW(K) .GT. TSUM) THEN
DO J=l, NW
MI=IJM(l, LEW(J))
MJ=IJM(2, LEW(J))
MK=IJM(3, LEW(J))
AI=X(MJ)*Y(MK)-X(MK)*Y(MJ)
AJ=X(MK)*Y(MI)-X(MI)*Y(MK)
AK=X(MI)*Y(MJ)-X(MJ)*Y(MI)
BI=Y (MJ) -Y (MK)
BJ=Y(MK) -Y(MI)
BK=Y(MI)-Y(MJ)
CI=X(MK)-X(MJ)
CJ=X(MI)-X(MK)
CK=X(MJ) -X(MI)
TRS=ABS(CJ*BI-BJ*CI)
WI=(AI+BI*WLX(J)+CI*WLY(J))/TRS
WJ=(AJ+BJ*WLX(J)+CJ*WLY(J))/TRS
WK=(AK+BK*WLX(J)+CK*WLY(J))/TRS
WI=ABS (WI)
WJ=ABS(WJ)
WK=ABS(WK)
WW=WI+WJ+WK
WI=WI/WW
WJ=WJ/WW
WK=WK/WW
R=WRAT(J, K)
RI=R*WI
RJ=R*WJ
RK=R*WK
DWR(MI)=DWR(MI) + RI
DWR(MJ) =DWR(MJ) + RJ
DWR(MK)=DWR(MK) + RK
IF (IHC .EQ. 2 ) THEN
C=WCON(J, K)
DWC(MI)=DWC(MI) + C*RI
DWC(MJ)=DWC(MJ) + C*RJ
DWC(MK)=DWC(MK) + C*RK
END IF
END DO
