|
|
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: 8296 (0x2068)
Types: TextFile
Names: »S00018.f«
└─⟦db229ac7e⟧ Bits:30007240 EUUGD20: SSBA 1.2 / AFW Benchmarks
└─⟦this⟧ »EUUGD20/AFUU-ssba1.21/ssba1.21E/doduc/S00018.f«
└─⟦this⟧ »EUUGD20/AFUU-ssba1.21/ssba1.21F/doduc/S00018.f«
SUBROUTINE S00018(I12,I21,IORG)
IMPLICITDOUBLEPRECISION(A-H,O-Z)
COMMON/AAA11/V0011N(20),V0012X(20),V0011,V0012,
1TLIM,ZLIMIN,ZLIMAX,DTVOI,TIMIMP(20),DIFREF(20),DIFMIC(20),
3V00001,V22202,TEMIMP,TEMMIC,DELM,DELV,DELVI,DELVS,
6V22201,V22203,DTPRE,DTPHY,DTTEMP,DTCHAN,DTDIS,DTBEF,DTORG
7,NIMIC,NMULTR,IZONE,N00011(20),ISORT,NECRIT,NSTAR,IPLOT,NZONE
+,IFRE(20),ICO,IIMP,NPAS1(20),NPAS2(20)
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/AAA55/KPRESS,KDEB,KCON,KTGAI,KT876,ICAT(3),KIMP,KGLISS
COMMON/AAA66/TS,HFS,HGS,HFGS,DHFPS,DHGPS,VVFS,VVGS,DVVFPS,DVVGPS
1 ,DHFGS,VV1,VV2,DVV1P,DVV2P,T1,T2
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)
COMMON/AAA13/TEM,P,DT,HNIV(22),VITESS
1 ,ZNIV,RI(2),ISS,NITERA,NIV,ISLNI,IBTR,IHTR,ITYP(22)
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/AAA26/DEB(21),DEBV(21),DEBL(21),ALFAD(21),ALFB(21),
2ALFT(21),HA(21),HB(21),HE(21,2),HEM(21),VE(21,2),
3 XA(21),XB(21),XD(21),XEM(21),SDSC
4 ,TJONC(21),HJONB(21,2),HJONT(21,2),DEBAV(21)
5 ,GLINF(21),GLSUP(21),PP1,PP2,ALNIV
6 ,VGJO(21),GLINFP(21),V55198(21),ICAS(21),ICZW(21)
COMMON/AAA99/HLCF,HVCFO,HVAP,HCON,HVIN,HLIN,R876,RGAI
1 ,XM876,XMGAI,XL876,XLGAI,CP876,CPGAI,XMC876,XMCGAI
2 ,DIAHY,HGAPP(22),HCG(22),HTC(22,12),HVCFF(22)
COMMON/AAA17/DDPDT,DDH(22,2),DDV(22,2),DDM(22,2),DDU(22,2)
COMMON/AAA16/DBENT(20),TENT(20),HENT(20),DEBE,ENTE,
2 DBSOR(20),TSOR(20),DEBS,DPDTT(20),TDPDT(20)
3 ,HSOR(20),THSOR(20),ENTS,NDBENT,NDPDT,NDBSOR,NHSOR
COMMON/AAA18/DDEB(21),DDDEB(21),DXAT(21),DXAG(21),DXBT(21),
1 DXBG(21),DNUG(21),DNUF(21),DHE(22,2),DDEBO(21)
DOUBLEPRECISION M
DTBEF=1.25*DT
IS=ISS
I12=0
I21=0
EPS=1.D-8
IORG=0
DODUC=.8
DDC=10.*V0012/NC1
COEDH=DMIN1(DODUC,DDC)
DT=V0012
DTTEMP=V0012
DTDIS=V0012
DTCHAN=V0012
DTTEMP=V0012
DTPHY=V0012
DTORG=V0012
DTVOI=V0012
SENS=V00001
DTP=V0012
IF(DABS(DPDT).LE.EPS)GOTO 200
DTP=SENS*P/DABS(DPDT)
200 DO 1000 I=2,NC1
J1=2-(1/ITYP(I))
DTH=V0012
DTVOL=V0012
SENS=V00001
DO 1010 J=1,J1
X=V0012
Y=DABS(DH(I,J))
IF(Y.LE.1.D-3)Y=1.D-3
YY=DABS(DDH(I,J))
IF(YY.LE.1.D-2)YY=1.D-2
DT2=DSQRT(SENS*H(I,J)/YY)
DT3=SENS*H(I,J)/Y
DTH=DMIN1(X,DT2,DT3)
1010 CONTINUE
IF(ITYP(I).NE.2)GOTO 800
Y=DABS(DV(I,1))
YO=VC(I)*1.D-3
IF(Y.LE.YO)Y=YO
YY=DABS(DDV(I,1))
YO=YO*10.
IF(YY.LE.YO)YY=YO
XLA=.5
YMAX=VC(I)
IF(Y.LT.YMAX)XLA=.5*YMAX/Y
DT1=XLA*Y/YY
DT2=DSQRT(SENS*VC(I)/(10 .*YY))
DT3=SENS*VC(I)/Y
DTVOL=DMIN1(X,DT1,DT2,DT3)
800 CONTINUE
DTPHY=DMIN1(DTH,DTVOL,DTPHY)
SENS=V22202
N1=NASL(I)
DO 890 J=1,N1
DTPAR=V0012
IF(I.EQ.NIV.AND.J.EQ.ISLNI)GOTO 850
IF(DABS(DTGAI(I,J)).LE.EPS)GOTO 890
DTPAR=SENS*DABS(TGAI(I,J)/DTGAI(I,J))
GOTO 890
850 K1=2
DO 855 K=1,K1
DTPA=V0012
IF(DABS(DTMI(K)).LE.EPS)GOTO 855
DTPA=2.*SENS*DABS(TMI(K)/DTMI(K))
855 DTPAR=DMIN1(DTPAR,DTPA)
890 DTTEMP=DMIN1(DTTEMP,DTPAR)
IF(ITYP(I).EQ.2)GOTO 950
J1=2-(1/ITYP(I))
DO 910 J=1,J1
IF(DABS(DH(I,J)).LT.1.D-6)GOTO 910
DTCH1=.6*(HFS-H(I,J))/DH(I,J)
DTCH2=.6*(HGS-H(I,J))/DH(I,J)
IF(DTCH1.LT.EPS)DTCH1=V0012
IF(DTCH2.LT.EPS)DTCH2=V0012
DTCHAN=DMIN1(DTCH1,DTCH2,DTCHAN)
910 CONTINUE
950 CONTINUE
IF(ICAT(2).LE.2)GOTO 1000
DTCH1=V0012
DTCH2=V0012
IF(ITYP(I).EQ.3)GOTO 951
XH1=F00111(I)
XH2=F00111(I)
DXH1=DH(I,1)
DXH2=DH(I,2)
IF(ITYP(I).EQ.1)GOTO 952
XMT=M(I,1)+M(I,2)
DXH1=(DM(I,1)*(H(I,1)-XH1)+DM(I,2)*(H(I,2)-XH1)+M(I,1)*DH(I,1)+
1M(I,2)*DH(I,2))/(XMT*XMT)
DXH2=DXH1
GOTO 952
951 XH1=H(I,1)
XH2=H(I,2)
DXH1=DH(I,1)
DXH2=DH(I,2)
952 J=I-1
GOTO (955,956,957),IDODUC
955 HINF=H(J,1)
DHINF=DH(J,1)
GOTO 958
956 HINF=F00111(J)
XMT=M(J,1)+M(J,2)
DHINF=(DM(J,1)*(H(J,1)-HINF)+DM(J,2)*(H(J,2)-HINF)+M(J,1)*DH(J,1)
1 +M(J,2)*DH(J,2))/(XMT*XMT)
GOTO 958
957 HINF=H(J,2)
DHINF=DH(J,2)
958 J=I+1
IF(ITYP(J).EQ.2)GOTO 959
HSUP=H(J,1)
DHSUP=DH(J,1)
GOTO 960
959 HSUP=F00111(J)
XMT=M(J,1)+M(J,2)
DHSUP=(DM(J,1)*(H(J,1)-HSUP)+DM(J,2)*(H(J,2)-HSUP)+M(J,1)*DH(J,1)+
1 M(J,2)*DH(J,2))/(XMT*XMT)
960 CONTINUE
IF(I.EQ.2)GOTO 953
ECT=XH1-HINF
DECT=DXH1-DHINF
IF(DABS(DECT).LT.1.D-4)GOTO 953
DTCH1=COEDH*ECT/DECT
IF(DTCH1.LT.EPS)DTCH1=V0012
953 IF(I.EQ.NC1)GOTO 954
ECT=XH2-HSUP
DECT=DXH2-DHSUP
IF(DABS(DECT).LT.1.D-4)GOTO 954
DTCH2=COEDH*ECT/DECT
IF(DTCH2.LT.EPS)DTCH2=V0012
954 DTVOI=DMIN1(DTVOI,DTCH1,DTCH2)
1000 CONTINUE
IF(ICAT(2).LE.2)GOTO 990
SENS=V22201
ROO=1.
VITE=DABS(VITESS)
DTDIS=V0012
VNIV=VITE/SCAPA(NIV)
VINJ=DEB(1)
VINJ=VINJ*VVFS/SCAPA(NIV)
IF(VNIV.LT..01)GOTO 985
IF(VINJ.LT..01)GOTO 980
ROO=VINJ/VNIV
980 DTDIS=SENS*XL(NIV)/VNIV*DMIN1(1.D0,ROO)
985 CONTINUE
990 CONTINUE
DTPRE=DTP
DT=DMIN1(DTP,DTPHY,DTTEMP,DTCHAN,DTDIS,DTBEF,DTVOI)
DTO=V0012
DO 1601 I=2,NC1
IF(ITYP(I).EQ.1)GOTO 1601
DO 1600 J=1,2
YC=V(I,J)
IF(YC.LE.1.D-7)GOTO 1600
YA=DDV(I,J)
YB=DV(I,J)
VF=YC+(YB+YA*DT)*DT
IF(VF.GE.0.)GOTO 1600
IF(DABS(YA).LT.1.D-6)GOTO 1550
DELT=YB*YB-4.*YA*YC
IF(DELT .LE.1.D-8)GOTO 1600
TC=DSQRT(DELT)
DT1=(-YB-TC)/(2.*YA)
DT2=(-YB+TC)/(2.*YA)
DT3=DMIN1(DT1,DT2)
DT4=DMAX1(DT1,DT2)
DT1=DT3
IF(DT3.LE.0.)DT1=DT4
DT1=.9*DT1
DTO=DMIN1(DT1,DTO)
GOTO 1600
1550 IF(DABS(YB).LT.1.D-6)GOTO 1600
DT1=-YC/YB
DT1=.9*DT1
DTO=DMIN1(DT1,DTO)
1600 CONTINUE
1601 CONTINUE
DTORG=DTO
DT=DMIN1(DT,DTORG)
DT=DMAX1(V0011,DT)
IF(ICAT(2).LE.2)GOTO 1699
I=NIV
ECV=DT*(DDV(I,1)*DT+DV(I,1))
VL1=V(I,1)+ECV
VL2=V(I,2)-ECV
IF(VL1.LT.0.)IORG=1
IF(VL2.LT.0.)IORG=1
1699 CONTINUE
DT3=V0012
DO 1650 I=1,NDBENT
TBUT=TENT(I)+1.D-4
DT2=TBUT-TEM
IF(DT2.LE.0.)GOTO 1650
IF(DT2.GE.DT)GOTO 1650
DT3=DMIN1(DT3,DT2)
1650 CONTINUE
DTORG=DMIN1(DTORG,DT3)
DT=DMIN1(DT,DTORG)
DT=DMAX1(V0011,DT)
DO 1700 I=2,NC1
IF(DABS(DEBL(I-1)).GE.1.D-6)GOTO 1700
VMIN=1.D-7*VC(I)
IF(V(I,1).GE.VMIN)GOTO 1700
H(I,1)=HF(I-1,1)
GOTO 1750
1700 CONTINUE
1750 CONTINUE
DO 1800 I=1,NC1
ALBT=DABS(ALFB(I)-ALFT(I))
IF(ALBT.LT.1.D-2)GOTO 1800
SEC=SC(I)
G=DEB(I)/SEC
DG=DDEB(I)/SEC
DTGSU=V0012
DENOM=V55198(I)-DG
IF(DABS(DENOM).LE.1.D-3)GOTO 1798
DTGSU=(G-GLSUP(I))/DENOM
IF(DTGSU.LE.1.D-4)DTGSU=V0012
1798 DTGIN=V0012
DENOM=GLINFP(I)-DG
IF(DABS(DENOM).LE.1.D-3)GOTO 1799
DTGIN=(G-GLINF(I))/DENOM
IF(DTGIN.LE.1.D-4)DTGIN=V0012
1799 DTVOI=DMIN1(DTVOI,DTGSU,DTGIN)
1800 CONTINUE
DT=DMIN1(DTVOI,DT)
DT=DMAX1(DT,V0011)
RETURN
END