DataMuseum.dk

Presents historical artifacts from the history of:

DKUUG/EUUG Conference tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about DKUUG/EUUG Conference tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download
Index: S T

⟦b8624823f⟧ TextFile

    Length: 3384 (0xd38)
    Types: TextFile
    Names: »S33022.f«

Derivation

└─⟦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« 

TextFile

      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