|
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