|
|
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