|
|
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: 7076 (0x1ba4)
Types: TextFile
Names: »S00020.f«
└─⟦db229ac7e⟧ Bits:30007240 EUUGD20: SSBA 1.2 / AFW Benchmarks
└─⟦this⟧ »EUUGD20/AFUU-ssba1.21/ssba1.21E/doduc/S00020.f«
└─⟦this⟧ »EUUGD20/AFUU-ssba1.21/ssba1.21F/doduc/S00020.f«
SUBROUTINE S00020
IMPLICITDOUBLEPRECISION(A-H,O-Z)
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/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/AAA88/FLUP(22,2),FLUV(22,2),FLUL(22,2),FLUIV(22,2),
2DEBIL(22,2),FLUIL(22,2),DEBI(22),DEBHI(22),DEBIV(22,2)
COMMON/AAA13/TEM,P,DT,HNIV(22),VITESS
1 ,ZNIV,RI(2),ISS,NITERA,NIV,ISLNI,IBTR,IHTR,ITYP(22)
COMMON/AAA33/VCO,XL0055,D876,DINT,DEXT,VOL002,VOL005,LCO,NCRAY
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/AAA22/DH(22,2),DM(22,2),DPDT,DUU(22,2),DV(22,2),DNU(22,2)
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)
DOUBLEPRECISION M,X(5),Y(5),XY(5),DER(2)
DOUBLEPRECISION XG(132),TG(132),XF(132),DTG(132)
DOUBLEPRECISION XG1(132),XG2(132),TG1(132),TG2(132)
PI=3.14159
EPS=1.D-3
TERC(1)=0.
TERC(2)=0.
DTMI(1)=0.
DTMI(2)=0.
SEC=PI/4.*(DEXT*DEXT-DINT*DINT)
SEC=SEC*NCRAY
CALL S00934(TPUI,QPUI,QPUI,TEM,RPUI,X,6)
QTOTAL=QINIT*RPUI
PLMOY=QTOTAL/XL0055/NCRAY
IF(ICAT(2).LE.2)GOTO 800
TGAI(NIV,ISLNI)=TMI(1)*RI(1)+TMI(2)*RI(2)
T876(NIV,ISLNI)=TMU(1)*RI(1)+TMU(2)*RI(2)
800 CONTINUE
IF(KCON.EQ.0)GOTO 60
XF(1)=0.
K=1
DO 10 I=2,NC1
N1=NASL(I)
DO 10 J=1,N1
TERCO(I,J)=0.
K=K+1
XF(K)=XF(K-1)+XL(I)/N1
XG(K-1)=XF(K-1)+(XF(K)-XF(K-1))/2.
TG(K-1)=TGAI(I,J)
XG1(K-1)=XG(K-1)
XG2(K-1)=XG(K-1)
TG1(K-1)=TG(K-1)
TG2(K-1)=TG(K-1)
IF(I.NE.NIV.OR.J.NE.ISLNI)GOTO 10
XG1(K-1)=XF(K-1)+(XF(K)-XF(K-1))/2.*RI(1)
XG2(K-1)=XF(K)-(XF(K)-XF(K-1))/2.*RI(2)
TG1(K-1)=TMI(1)
TG2(K-1)=TMI(2)
KNIV=K-1
10 CONTINUE
KMAX=K
KMAX1=KMAX-1
DO 20 K=2,KMAX1
DTG(K)=(TG1(K)-TG2(K-1))/(XG1(K)-XG2(K-1))
20 CONTINUE
DTG(1)=0.
DTG(KMAX)=0.
K=0
DO 50 I=2,NC1
N1=NASL(I)
DO 50 J=1,N1
K=K+1
IF(K.NE.1)GOTO 42
X(1)=XG(1)
X(2)=XG1(2)
Y(1)=TG(1)
Y(2)=TG1(2)
XO=0.
GOTO 44
42 IF(K.NE.KMAX1)GOTO 46
X(1)=XG(KMAX1)
X(2)=XG2(KMAX1-1)
Y(1)=TG(KMAX1)
Y(2)=TG2(KMAX1-1)
XO=XF(KMAX)
44 XY(1)=(Y(2)-Y(1))/ (X(2)-X(1)) *(X(1)+X(2)-2*XO)
GOTO 48
46 X(1)=XG2(K-1)
X(2)=XG(K)
X(3)=XG1(K+1)
Y(1)=TG2(K-1)
Y(2)=TG(K)
Y(3)=TG1(K+1)
CALL S00099(3,X,Y,XY)
48 QCON(I,J)=2.*XY(1)*XLGAI*SEC*XL(I)/N1
50 CONTINUE
X(3)=XL(2)/(2.*NASL(2))
X(2)=-X(3)
X(1)=-3.*X(3)
Y(3)=TGAI(2,1)
Y(2)=T(1,1)
Y(1)=2.*Y(2)-TS+20.
CALL S00099(3,X,Y,XY)
QCON(1,1)=2.*XY(1)*XLGAI*SEC*XL(2)/NASL(2)
60 CONTINUE
DO 100 I=2,NC1
N1=NASL(I)
HCGG=HCG(I)
DO 100 J=1,N1
QFOU(I,J)=QREPA(I,J)*QTOTAL
QUGA(I,J)=(T876(I,J)-TGAI(I,J))*HCGG*XL(I)*NCRAY/N1
DT876(I,J)=(QFOU(I,J)-QUGA(I,J))/XMCUO(I,J)
DTGAI(I,J)=(QUGA(I,J)-QCED(I,J)+QCON(I,J))/XMCGA(I,J)
100 CONTINUE
IF(ICAT(2).LE.2)GOTO 200
IF(NIV.LE.IHCH.AND.NIV.GE.IBCH)GOTO 180
DO 170 IJ=1,3
QUGII(IJ)=0.
QCONI(IJ)=0.
170 CONTINUE
GOTO 210
180 CONTINUE
I=NIV
J=ISLNI
N1=NASL(I)
CCC=XL(I)*NCRAY*HCG(I)/N1
QUGII(1)=(TMU(1)-TMI(1))*CCC*RI(1)
QUGII(2)=(TMU(2)-TMI(2))*CCC*RI(2)
IF(KNIV.NE.1)GOTO 182
X(1)=XG1(1)
X(2)=XG2(1)
X(3)=XG(2)
Y(1)=TG1(1)
Y(2)=TG2(1)
Y(3)=TG(2)
XO=0.
IND1=1
IND2=2
GOTO 186
182 IF(KNIV.NE.KMAX1)GOTO 184
X(1)=XG2(KMAX1)
X(2)=XG1(KMAX1)
X(3)=XG(KMAX1-1)
Y(1)=TG2(KMAX1)
Y(2)=TG1(KMAX1)
Y(3)=TG(KMAX1-1)
XO=XF(KMAX)
IND1=2
IND2=1
GOTO 186
184 X(1)=XG(KNIV-1)
X(2)=XG1(KNIV)
X(3)=XG2(KNIV)
X(4)=XG(KNIV+1)
Y(1)=TG(KNIV-1)
Y(2)=TG1(KNIV)
Y(3)=TG2(KNIV)
Y(4)=TG(KNIV+1)
CALL S00099(4,X,Y,XY)
DER(1)=6.*XY(1)*X(2)+2.*XY(2)
DER(2)=6.*XY(1)*X(3)+2.*XY(2)
GOTO 188
186 DER(IND1)=2.*(Y(2)-Y(1))/((X(2)-X(1))*(X(2)+X(1)-2.*XO))
CALL S00099(3,X,Y,XY)
DER(IND2)=2.*XY(1)
188 COEF=XLGAI*SEC*XL(I)/N1
QCONI(1)=COEF*RI(1)*DER(1)
QCONI(2)=COEF*RI(2)*DER(2)
DO 190 IJ=1,2
IF(RI(IJ).LT.EPS)GOTO 190
DTMI(IJ)=(QUGII(IJ)-QCEI(IJ)+QCONI(IJ))/(XMCGA(I,J)*RI(IJ))
DTMU(IJ)= (QFOU(I,J)-QUGII(IJ)/RI(IJ))/XMCUO(I,J)
190 CONTINUE
ZLIM=.05
ZS=XL(I)/N1
Z1=RI(1)*ZS
Z2=RI(2)*ZS
ZZ=VITESS*(TMI(1)-TMI(2))/SCAPA(I)
ZZU=VITESS*(TMU(1)-TMU(2))/SCAPA(I)
IF(ISS.EQ.2)GOTO 195
IF(Z1.LT.ZLIM)GOTO 191
TERC(1)=ZZ/Z1
DTMI(1)=DTMI(1)-TERC(1)
TERCU=ZZU/Z1
DTMU(1)=DTMU(1)-TERCU
GOTO 210
191 TERC(1)=ZZ/ZLIM
TERCU=ZZU/ZLIM
IF(RI(1).LT.EPS)GOTO 192
DTMI(1)=DTMI(1)-TERC(1)
DTMU(1)=DTMU(1)-TERCU
192 IF(ISLNI.EQ.1)GOTO 193
I1=I
J1=ISLNI-1
GOTO 194
193 I1=I-1
J1=NASL(I-1)
194 IF(I1.LT.IBCH.OR.I1.GT.IHCH)GOTO 210
TERCO(I1,J1)=ZZ*XMCGA(I,J)*(1.-Z1/ZLIM)/(ZS*XMCGA(I1,J1))
DTGAI(I1,J1)=DTGAI(I1,J1)-TERCO(I1,J1)
TERCU=ZZU*XMCUO(I,J)*(1.-Z1/ZLIM)/(ZS*XMCUO(I1,J1))
DT876(I1,J1)=DT876(I1,J1)-TERCU
GOTO 210
195 IF(Z2.LT.ZLIM)GOTO 196
TERC(1)=ZZ/Z2
DTMI(2)=DTMI(2)-TERC(1)
TERCU=ZZU/Z2
DTMU(2)=DTMU(2)-TERCU
GOTO 210
196 TERC(1)=ZZ/ZLIM
TERCU=ZZU/ZLIM
IF(RI(2).LT.EPS)GOTO 197
DTMI(2)=DTMI(2)-TERC(1)
DTMU(2)=DTMU(2)-TERCU
197 IF(ISLNI.EQ.N1)GOTO 198
I1=I
J1=ISLNI+1
GOTO 199
198 I1=I+1
J1=1
199 IF(I1.LT.IBCH.OR.I1.GT.IHCH)GOTO 210
TERCO(I1,J1)=ZZ*XMCGA(I,J)*(1.-Z2/ZLIM)/(ZS*XMCGA(I1,J1))
DTGAI(I1,J1)=DTGAI(I1,J1)-TERCO(I1,J1)
TERCU=ZZU*XMCUO(I,J)*(1.-Z2/ZLIM)/(ZS*XMCUO(I1,J1))
DT876(I1,J1)=DT876(I1,J1)-TERCU
210 CONTINUE
200 CONTINUE
RETURN
END