|
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: 3384 (0xd38) Types: TextFile Names: »S33022.f«
└─⟦db229ac7e⟧ Bits:30007240 EUUGD20: SSBA 1.2 / AFW Benchmarks └─⟦this⟧ »EUUGD20/AFUU-ssba1.21/ssba1.21E/doduc/S33022.f« └─⟦this⟧ »EUUGD20/AFUU-ssba1.21/ssba1.21F/doduc/S33022.f«
SUBROUTINE S33022(I,SEC,IK,DALB,DALT,X1,X2,X3,X4) IMPLICITDOUBLEPRECISION(A-H,O-Z) 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/AAA18/DDEB(21),DDDEB(21),DXAT(21),DXAG(21),DXBT(21), 1 DXBG(21),DNUG(21),DNUF(21),DHE(22,2),DDEBO(21) IF(IK.GE.1)GOTO 1000 900 CONTINUE X1=0. X2=0. X3=0. X4=0. RETURN 1000 CONTINUE AL=ALFAD(I) EPS=1.D-7 ALSU=1.-EPS IF(AL.LT.EPS.OR.AL.GT.ALSU)GOTO 900 VF=VE(I,1) VG=VE(I,2) TEMP=TJONC(I) SIG=SIGMA(TEMP) RG=1./VG RF=1./VF TCC=SIG*(RF-RG) TCC=VF*32.174*DSQRT(TCC) VBCR=1.53*DSQRT(TCC) R=RG/RF DVF=DNUF(I) DVG=DNUG(I) DRF=-DVF*RF*RF DRG=-DVG*RG*RG RP=R*(DVF/VF-DVG/VG) ALO=.925*(VF/VG)**.239 A=.67 IF(AL.GE.ALO)A=.47 VGJ=VGJO(I) ALOP=ALO*RP*.239/R VBCRP=.25*VBCR*(DVF/VF-RP/(1.-R)) ALB=ALFB(I) ALT=ALFT(I) TAO=ALOP/(A*ALO) TCR=VBCRP/VBCR TL1=0. TL2=0. IF(ALB.LE.EPS)GOTO 1100 TL1=DALB/(A*ALB)-TAO+DRG/RG+TCR 1100 IF(ALT.LE.EPS.OR.ALT.GE.ALSU)GOTO 1200 TL2=((1./A-1.)/ALT-1./(1.-ALT))*DALT+DRF/RF-TAO+TCR 1200 CONTINUE GLINFP(I)=TL2*GLINF(I) V55198(I)=GLSUP(I)*TL1 TC=.25*DVF/VF-RP*(.25/(1.-R)+.239/(A*R)) TD=-1./(1.-AL)+(1.-A)/(A*AL) VGJT=VGJ*TC VGJA=VGJ*TD VGJAA=VGJ*(1.-A)*(-2./(1.-AL)+1./A)/(A*AL*AL) VGJAT=VGJ*TC*TD IF(IK.EQ.3)GOTO 3000 ZZ=1.-AL*(1.-R) DAL=DALB IF(IK.EQ.2)DAL=DALT IF(IK.EQ.4)DAL=(DALB+DALT)/2. DPT=(RP*AL *(1.-AL)+R*DAL)/(ZZ*ZZ) DPG=0. VGJP=VGJT+VGJA*DAL DQT=(VGJ*(DAL/ZZ-AL *(DVG/VG+RP*AL/ZZ))+AL*VGJP)/(VG*ZZ) DQG=0. GOTO 9000 3000 CONTINUE ALST=(RG*ALT+RF*ALB)/(RG+RF) Z1=(1.-AL)*(ALT-AL)+AL*(AL-ALB) Z2=(RG+RF)*AL*(ALST-AL) Z1T=DALT*(1.-AL)-AL*DALB Z1A=4.*AL-1.-ALB-ALT Z2T=AL*(DRG*(ALT-AL)+DRF*(ALB-AL)+RG*DALT+RF*DALB) Z2A=RG*ALT+RF*ALB-2.*AL*(RG+RF) G=DEBAV(I)/SEC DALDT=(Z2*VGJT+VGJ*Z2T-G*Z1T)/(G*Z1A-Z2*VGJA-VGJ*Z2A) SD=Z2A*VGJ+Z2*VGJA-G*Z1A S=Z1/SD RM=AL*RG+(1.-AL)*RF T=AL/RM U=RF*(AL*VGJA*RM+G+RF*VGJ)/(RM*RM) Z1AA=4. Z2AA=-2.*(RG+RF) TA=RF/(RM*RM) SDA=Z2AA*VGJ+2.*Z2A*VGJA+Z2*VGJAA-G*Z1AA SA=(Z1A-S*SDA)/SD UA=RF*(2.*VGJA+AL*VGJAA+2.*U*(1.-R))/RM DPAL=RG*(TA+U*SA+UA*S) DPG=RG*S*(U*(Z1A/SD+SA)+S*UA+TA+RF/(RM*RM)) RMP=AL*DRG+(1.-AL)*DRF UT=(DRF/RF-2.*RMP/RM)*U+RF*(AL*(RMP*VGJA+RM*VGJAT)+DRF*VGJ 1 +RF*VGJT)/(RM*RM) TT=-T*RMP/RM Z1AT=-DALB-DALT Z2AT=DRG*(ALT-2.*AL)+DRF*(ALB-2.*AL)+RG*DALT+RF*DALB SDT=Z2AT*VGJ+Z2A*VGJT+Z2T*VGJA+Z2*VGJAT-G*Z1AT ST=(Z1T-S*SDT)/SD DPT=DPAL*DALDT+DRG*(T+U*S)+RG*(TT+U*ST+UT*S) DJGT=U*DALDT+AL*(VGJ*(RM*DRF-RF*RMP)+RM*RF*VGJT-G*RMP)/(RM*RM) DQG=-DPG*G DQT=DRG*AL*(G+RF*VGJ)/RM+RG*DJGT-G*DPT 9000 X1=DPT X2=DPG/SEC X3=SEC*DQT X4=DQG RETURN END