|
|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: S T
Length: 5064 (0x13c8)
Types: TextFile
Names: »S33018.f«
└─⟦db229ac7e⟧ Bits:30007240 EUUGD20: SSBA 1.2 / AFW Benchmarks
└─⟦this⟧ »EUUGD20/AFUU-ssba1.21/ssba1.21E/doduc/S33018.f«
└─⟦this⟧ »EUUGD20/AFUU-ssba1.21/ssba1.21F/doduc/S33018.f«
SUBROUTINE S33018(I,DALF ,AL,DALJB,DALJT)
IMPLICITDOUBLEPRECISION(A-H,O-Z)
COMMON/AAA22/DH(22,2),DM(22,2),DPDT,DUU(22,2),DV(22,2),DNU(22,2)
COMMON/AAA44/SC(21),SCAPA(22),SHTC(22),VC(22),XL(22)
1,VFIX,ZCOT(21),I6FT,J6FT,I8FT,J8FT,NC,NC1,NC2,IBCH,IHCH
COMMON/AAA77/QINIT,TPUI(20),QPUI(20),RPUI,PLMOY,
1 XHTC(22,12),PL(22,12),QREPA(22,12),
2 XMCGA(22,12),XMCUO(22,12),QCED(22,12),QCON(22,12)
3 ,QUGA(22,12),QFOU(22,12),QCEI(2),QCONI(2),QUGII(2)
4 ,TMI(2),DTMI(2),QTOTAL,QTUG,QTGF,TERC(2)
4 ,TGAI(22,12),TGAII(22,12),T876(22,12),TUMAX(22,12)
5 ,TUMIN(22,12),DTGAI(22,12),DT876(22,12)
6 ,TERCO(22,12),TMU(2),DTMU(2),NPUI,NASL(22),NSL(22)
COMMON/AAA13/TEM,P,DT,HNIV(22),VITESS
1 ,ZNIV,RI(2),ISS,NITERA,NIV,ISLNI,IBTR,IHTR,ITYP(22)
COMMON/AAA55/KPRESS,KDEB,KCON,KTGAI,KT876,ICAT(3),KIMP,KGLISS
COMMON/AAA10/V(22,2),VV(22,2),H(22,2),HF(22,2),HG(22,2),
1 DNUHP(22,2),U(22,2),XM(22,2),XT(22,2),ALFA(22,2),
2 T(22,2),DVVH(22,2),DELH(22,2),DVVP(22,2),DELP(22,2)
3 ,AA(22,2),BB(22,2),DTDH(22,2),DTDP(22,2),DTSAT,
4 DNUPP(22,2),A(22),B(22),C(22),TVID(22,12),M(22,2),IST(22,2)
DOUBLEPRECISION M,DALF(22,2),AX(3),AY(3),AL(12)
NI=NASL(I)
ALEC=.01
ALIN=ALEC
ALSU=1.-ALEC
XLM=XL(I)/2.
DXLM=0.
IF(ITYP(I).LE.2)GOTO 900
XLM=HNIV(I)/2.
DXLM=DV(I,1)/SCAPA(I)
900 AX(2)=ZCOT(I-1)+XLM
ALM=ALFA(I,1)
DALM=DALF(I,1)
IF(ITYP(I).NE.2)GOTO 1001
ALM=V(I,2)/VC(I)
DALM=DV(I,2)/VC(I)
1001 DER=DALM/ALEC
FM=0.
DFM=0.
GM=0.
DGM=0.
HM=1.
DHM=0.
AY(2)=DALM
IF(ALM.GE.ALIN)GOTO 1002
HM=ALM/ALEC
FM=1.-HM
DHM=DER
DFM=-DER
GOTO 1003
1002 IF(ALM.LE.ALSU)GOTO 1003
GM=(ALM-ALSU)/ALEC
HM=1.-GM
DGM=DER
DHM=-DER
1003 CONTINUE
J=I-1
AX(1)=ZCOT(I-1)
IDODUC=ITYP(J)
GOTO (1004,1005,1006),IDODUC
1004 XLB=-XL(J)/2.
IF(J.EQ.1)XLB=-XL(I)/2.
DALB=DALF(J,1)
ALB=ALFA(J,1)
DXLB=0.
GOTO 1010
1005 XLB=-XL(J)/2.
DXLB=0.
ALB=V(J,2)/VC(J)
DALB=DV(J,2)/VC(J)
GOTO 1010
1006 XLB=(HNIV(J)-XL(J))/2.
DXLB=DV(J,1)/SCAPA(J)
ALB=ALFA(J,2)
DALB=DALF(J,2)
1010 DER=DALB/ALEC
FB=0.
DFB=0.
GB=0.
DGB=0.
HB=1.
DHB=0.
IF(ALB.GE.ALIN)GOTO 1015
HB=ALB/ALEC
FB=1.-HB
DHB=DER
DFB=-DER
GOTO 1020
1015 IF(ALB.LE.ALSU)GOTO 1020
GB=(ALB-ALSU)/ALEC
HB=1.-GB
DGB=DER
DHB=-DER
1020 XLHB=XLM-XLB
ALJO=(ALB*XLM-ALM*XLB)/XLHB
TDD=HB+FM*FB+GM*GB
DTDD=DHB+FM*DFB+DFM*FB+GM*DGB+DGM*GB
TCC=HM*TDD
DTCC=HM*DTDD+DHM*TDD
DALJO=(DALB*XLM-DALM*XLB+DXLM*(ALB-ALJO)-DXLB*(ALM-ALJO))/XLHB
AY(1)=DALM+(DALJO-DALM)*TCC+(ALJO-ALM)*DTCC
DALJB=AY(1)
P1=(AY(2)-AY(1))/(AX(2)-AX(1))
Q1=AY(1)-AX(1)*P1
DAX2=0.
IF(ITYP(I).LE.2)GOTO 1029
AX(2)=ZCOT(I-1)+(XL(I)+HNIV(I))/2.
ALM=ALFA(I,2)
DALM=DALF(I,2)
DAX2=DV(I,1)/SCAPA(I)
DER=DALM/ALEC
FM=0.
DFM=0.
GM=0.
DGM=0.
HM=1.
DHM=0.
IF(ALM.GE.ALIN)GOTO 1026
HM=ALM/ALEC
FM=1.-HM
DHM=DER
DFM=-DER
GOTO 1027
1026 IF(ALM.LE.ALSU)GOTO 1027
GM=(ALM-ALSU)/ALEC
HM=1.-GM
DGM=DER
DHM=-DER
1027 CONTINUE
1029 CONTINUE
J=I+1
AX(3)=ZCOT(I-1)+XL(I)
XLM=AX(2)-AX(3)
DXLM=DAX2
IDODUC=ITYP(J)
GOTO (1031,1032,1033),IDODUC
1031 XLH=XL(J)/2.
DXLH=0.
IF(J.EQ.NC2)XLH=XL(I)/2.
ALH=ALFA(J,1)
DALH=DALF(J,1)
GOTO 1034
1032 XLH=XL(J)/2.
DXLH=0.
ALH=V(J,2)/VC(J)
DALH=DV(J,2)/VC(J)
GOTO 1034
1033 XLH=HNIV(J)/2.
DXLH=DV(J,1)/SCAPA(J)
ALH=ALFA(J,1)
DALH=DALF(J,1)
1034 DER=DALH/ALEC
FH=0.
DFH=0.
GH=0.
DGH=0.
HH=1.
DHH=0.
IF(ALH.GE.ALIN)GOTO 1035
HH=ALH/ALEC
FH=1.-HH
DHH=DER
DFH=-DER
GOTO 1040
1035 IF(ALH.LE.ALSU)GOTO 1040
GH=(ALH-ALSU)/ALEC
HH=1.-GH
DGH=DER
DHH=-DER
1040 XLHB=XLH-XLM
ALJO=(ALM*XLH-ALH*XLM)/XLHB
DALJO=(DALM*XLH-DALH*XLM+DXLH*(ALM-ALJO)-DXLM*(ALH-ALJO))/XLHB
TDD=HH+FM*FH+GM*GH
DTDD=DHH+FM*DFH+DFM*FH+GM*DGH+DGM*GH
TCC=HM*TDD
DTCC=HM*DTDD+DHM*TDD
AY(3)=DALM+(DALJO-DALM)*TCC+(ALJO-ALM)*DTCC
DALJT=AY(3)
P2=(AY(3)-AY(2))/(AX(3)-AX(2))
Q2=AY(2)-AX(2)*P2
IF(ICAT(2).GE.3)GOTO 1300
DALJB=DALM
DALJT=DALM
DO 1200 J=1,NI
XP=ZCOT(I-1)+(J-.5)*XL(I)/NI
IF(XP.GE.AX(2))GOTO 1100
AL(J)=P1*XP+Q1
GOTO 1200
1100 AL(J)=P2*XP+Q2
1200 CONTINUE
RETURN
1300 IF(ITYP(I).GE.3)GOTO 1400
DO 1350 J=1,NI
1350 AL(J)=DALM
RETURN
1400 AL(1)=DALF(I,1)
AL(2)=DALF(I,2)
RETURN
END