| 1 | SUBROUTINE HATCH
|
|---|
| 2 | C VERSION 4.00 -- 26 JAN 1986/1900
|
|---|
| 3 | C******************************************************************
|
|---|
| 4 | C SETUP WHICH THE USER IS EXPECTED TO DO BEFORE CALLING HATCH IS:
|
|---|
| 5 | C 1. SET 'NMED' TO THE NUMBER OF MEDIA TO BE USED.
|
|---|
| 6 | C 2. SET THE ARRAY 'MEDIA', WHICH CONTAINS THE NAMES OF THE
|
|---|
| 7 | C MEDIA THAT ARE DESIRED. THE CHARACTER FORMAT IS A1, SO
|
|---|
| 8 | C THAT MEDIA(IB,IM) CONTAINS THE IB'TH BYTE OF THE NAME OF
|
|---|
| 9 | C THE IM'TH MEDIUM IN A1 FORMAT.
|
|---|
| 10 | C 3. SET 'DUNIT', THE DISTANCE UNIT TO BE USED.
|
|---|
| 11 | C DUNIT.GT.0 MEANS VALUE OF DUNIT IS LENGTH OF DISTANCE UNIT
|
|---|
| 12 | C CENTIMETERS. DUNIT.LT.0 MEANS USE THE RADIATION LENGTH OF
|
|---|
| 13 | C THE ABS(DUNIT)'TH MEDIUM FOR THE DISTANCE UNIT.
|
|---|
| 14 | C 4. FILL THE ARRAY 'MED' WITH THE MEDIUM INDICES FOR THE
|
|---|
| 15 | C REGIONS.
|
|---|
| 16 | C 5. FILL ARRAYS 'ECUT' AND 'PCUT' WITH THE ELECTRON AND PHOTON
|
|---|
| 17 | C CUT-OFF ENERGIES FOR EACH REGION RESPECTIVELY. SETUP WILL
|
|---|
| 18 | C RAISE THESE IF NECESSARY TO MAKE THEM AT LEAST AS LARGE AS
|
|---|
| 19 | C THE REGION'S MEDIUM'S AE AND AP RESPECTIVELY.
|
|---|
| 20 | C 6. FILL 'MED' ARRAY. MED(IR) IS THE MEDIUM INDEX FOR REGION
|
|---|
| 21 | C IR. A ZERO MEDIUM INDEX MEANS THE REGION IS IN A VACUUM.
|
|---|
| 22 | C 7. FILL THE ARRAY 'IRAYLR' WITH 1 FOR EACH REGION IN WHICH
|
|---|
| 23 | C RAYLEIGH (COHERENT) SCATTERING IS TO BE INCLUDED.
|
|---|
| 24 | C******************************************************************
|
|---|
| 25 | CHARACTER MBUF*72,MDLABL*8
|
|---|
| 26 | DIMENSION ZEROS(3)
|
|---|
| 27 | CNOTE: ABOVE IS ZEROS OF SINE, 0,PI,TWOPI
|
|---|
| 28 | COMMON/BOUNDS/ECUT(6),PCUT(6),VACDST
|
|---|
| 29 | COMMON/BREMPR/DL1(6),DL2(6),DL3(6),DL4(6),DL5(6),DL6(6),DELCM, ALP
|
|---|
| 30 | *HI(2),BPAR(2),DELPOS(2),PWR2I(50)
|
|---|
| 31 | COMMON/ELECIN/EKELIM,ICOMP,EKE0,EKE1,CMFP0,CMFP1,RANGE0,RANGE1, XR
|
|---|
| 32 | *0,TEFF0,BLCC,XCC,PICMP0(1),PICMP1(1),EICMP0(1),EICMP1(1),MPEEM(1),
|
|---|
| 33 | * ESIG0(500),ESIG1(500),PSIG0(500),PSIG1(500),EDEDX0(500),EDEDX1(50
|
|---|
| 34 | *0),PDEDX0(500),PDEDX1(500),EBR10(500),EBR11(500),PBR10(500),PBR11(
|
|---|
| 35 | *500),PBR20(500),PBR21(500),TMXS0(500),TMXS1(500),CMFPE0(1),CMFPE1(
|
|---|
| 36 | *1),CMFPP0(1),CMFPP1(1),ERANG0(1),ERANG1(1),PRANG0(1),PRANG1(1),CXC
|
|---|
| 37 | *2E0(1),CXC2E1(1),CXC2P0(1),CXC2P1(1),CLXAE0(1),CLXAE1(1),CLXAP0(1)
|
|---|
| 38 | *,CLXAP1(1), THR0(1,1),THR1(1,1),THR2(1,1),THRI0(1,1),THRI1(1,1),TH
|
|---|
| 39 | *RI2(1,1),FSTEP(16),FSQR(16),MSMAP(200), VERT1(1000),VERT2(100,16),
|
|---|
| 40 | *MSTEPS,JRMAX,MXV1, MXV2,NBLC,NRNTH,NRNTHI,BLC0,BLC1,RTHR0,RTHR1,RT
|
|---|
| 41 | *HRI0,RTHRI1
|
|---|
| 42 | COMMON /MEDIA/ NMED, RLC,RLDU,RLDUI,RHO,MSGE,MGE,MSEKE,MEKE,MLEKE,
|
|---|
| 43 | *MCMFP,MRANGE,IRAYLM,HBARO(6),HBAROI(6)
|
|---|
| 44 | CHARACTER MEDIA*24
|
|---|
| 45 | COMMON/MEDIAC/MEDIA
|
|---|
| 46 | COMMON/MISC/KMPI,KMPO,DUNIT,NOSCAT,MED(6),RHOR(6),IRAYLR(6)
|
|---|
| 47 | COMMON/PHOTIN/EBINDA,GE0,GE1, MPGEM(1),GMFP0(500),GMFP1(500),GBR10
|
|---|
| 48 | *(500),GBR11(500),GBR20(500),GBR21(500),GBR30(500),GBR31(500),GBR40
|
|---|
| 49 | *(500),GBR41(500),NGR,RCO0,RCO1, RSCT0(100),RSCT1(100), COHE0(500),
|
|---|
| 50 | *COHE1(500)
|
|---|
| 51 | *KEEP,RANDPA.
|
|---|
| 52 | COMMON /RANDPA/ FAC,U1,U2,RD,NSEQ,ISEED,KNOR
|
|---|
| 53 | DOUBLE PRECISION FAC,U1,U2
|
|---|
| 54 | REAL RD(3000)
|
|---|
| 55 | INTEGER ISEED(103,10),NSEQ
|
|---|
| 56 | LOGICAL KNOR
|
|---|
| 57 | *KEEP,RUNPAR.
|
|---|
| 58 | COMMON /RUNPAR/ FIXHEI,THICK0,HILOECM,HILOELB,
|
|---|
| 59 | * STEPFC,NRRUN,NSHOW,PATAPE,MONIIN,
|
|---|
| 60 | * MONIOU,MDEBUG,NUCNUC,
|
|---|
| 61 | * CETAPE,
|
|---|
| 62 | * SHOWNO,ISHW,NOPART,NRECS,NBLKS,MAXPRT,NDEBDL,
|
|---|
| 63 | * N1STTR,MDBASE,
|
|---|
| 64 | * DEBDEL,DEBUG,FDECAY,FEGS,FIRSTI,FIXINC,FIXTAR,
|
|---|
| 65 | * FIX1I,FMUADD,FNKG,FPRINT,FDBASE
|
|---|
| 66 | * ,GHEISH,GHESIG
|
|---|
| 67 | COMMON /RUNPAC/ DSN,HOST,USER
|
|---|
| 68 | DOUBLE PRECISION FIXHEI,THICK0,HILOECM,HILOELB
|
|---|
| 69 | REAL STEPFC
|
|---|
| 70 | INTEGER NRRUN,NSHOW,PATAPE,MONIIN,MONIOU,MDEBUG,NUCNUC,
|
|---|
| 71 | * SHOWNO,ISHW,NOPART,NRECS,NBLKS,MAXPRT,NDEBDL,
|
|---|
| 72 | * N1STTR,MDBASE
|
|---|
| 73 | INTEGER CETAPE
|
|---|
| 74 | CHARACTER*79 DSN
|
|---|
| 75 | CHARACTER*20 HOST,USER
|
|---|
| 76 |
|
|---|
| 77 | LOGICAL DEBDEL,DEBUG,FDECAY,FEGS,FIRSTI,FIXINC,FIXTAR,
|
|---|
| 78 | * FIX1I,FMUADD,FNKG,FPRINT,FDBASE
|
|---|
| 79 | * ,GHEISH,GHESIG
|
|---|
| 80 | *KEEP,STACKE.
|
|---|
| 81 | COMMON/STACKE/ E,TIME,X,Y,Z,U,V,W,DNEAR,IQ,IGEN,IR,IOBS,LPCTE,NP
|
|---|
| 82 | DOUBLE PRECISION E(60),TIME(60)
|
|---|
| 83 | REAL X(60),Y(60),Z(60),U(60),V(60),W(60),DNEAR(60)
|
|---|
| 84 | INTEGER IQ(60),IGEN(60),IR(60),IOBS(60),LPCTE(60),NP
|
|---|
| 85 | *KEND.
|
|---|
| 86 | COMMON/THRESH/RMT2,RMSQ,ESCD2,AP,API,AE,UP,UE,TE,THMOLL
|
|---|
| 87 | COMMON/UPHIIN/SINC0,SINC1,SIN0(20002),SIN1(20002)
|
|---|
| 88 | COMMON/UPHIOT/THETA,SINTHE,COSTHE,SINPHI, COSPHI,PI,TWOPI,PI5D2
|
|---|
| 89 | DOUBLE PRECISION PZERO,PRM,PRMT2,RMI,VC
|
|---|
| 90 | COMMON/USEFUL/PZERO,PRM,PRMT2,RMI,VC,RM,MEDIUM,MEDOLD,IBLOBE,ICALL
|
|---|
| 91 | DATA MDLABL/' MEDIUM='/,LMDL/8/,LMDN/24/,DUNITO/1./
|
|---|
| 92 | DATA I1ST/1/,NSINSS/37/,MXSINC/20002/,ISTEST/0/,NRNA/1000/
|
|---|
| 93 | 510 FORMAT(1X,14I5)
|
|---|
| 94 | 520 FORMAT(1X,1P,5E14.5)
|
|---|
| 95 | 530 FORMAT(A72)
|
|---|
| 96 | IF (I1ST.NE.0) THEN
|
|---|
| 97 | I1ST=0
|
|---|
| 98 | PRM=RM
|
|---|
| 99 | RMI=1./PRM
|
|---|
| 100 | PRMT2=2.D0*PRM
|
|---|
| 101 | PZERO=0.0D0
|
|---|
| 102 | NISUB=MXSINC-2
|
|---|
| 103 | FNSSS=NSINSS
|
|---|
| 104 | WID=PI5D2/REAL(NISUB)
|
|---|
| 105 | WSS=WID/(FNSSS-1.0)
|
|---|
| 106 | ZEROS(1)=0.
|
|---|
| 107 | ZEROS(2)=PI
|
|---|
| 108 | ZEROS(3)=TWOPI
|
|---|
| 109 | DO 541 ISUB=1,MXSINC
|
|---|
| 110 | SX=0.
|
|---|
| 111 | SY=0.
|
|---|
| 112 | SXX=0.
|
|---|
| 113 | SXY=0.
|
|---|
| 114 | XS0=WID*REAL(ISUB-2)
|
|---|
| 115 | XS1=XS0+WID
|
|---|
| 116 | IZ=0
|
|---|
| 117 | DO 551 IZZ=1,3
|
|---|
| 118 | IF ((XS0.LE.ZEROS(IZZ)).AND.(ZEROS(IZZ).LE.XS1)) THEN
|
|---|
| 119 | IZ=IZZ
|
|---|
| 120 | GO TO552
|
|---|
| 121 | END IF
|
|---|
| 122 | 551 CONTINUE
|
|---|
| 123 | 552 CONTINUE
|
|---|
| 124 | IF (IZ.EQ.0) THEN
|
|---|
| 125 | XSI=XS0
|
|---|
| 126 | ELSE
|
|---|
| 127 | XSI=ZEROS(IZ)
|
|---|
| 128 | END IF
|
|---|
| 129 | DO 561 ISS=1,NSINSS
|
|---|
| 130 | XS=WID*REAL(ISUB-2)+WSS*REAL(ISS-1)-XSI
|
|---|
| 131 | YS=SIN(XS+XSI)
|
|---|
| 132 | SX=SX+XS
|
|---|
| 133 | SY=SY+YS
|
|---|
| 134 | SXX=SXX+XS*XS
|
|---|
| 135 | SXY=SXY+XS*YS
|
|---|
| 136 | 561 CONTINUE
|
|---|
| 137 | 562 CONTINUE
|
|---|
| 138 | IF (IZ.NE.0) THEN
|
|---|
| 139 | SIN1(ISUB)=SXY/SXX
|
|---|
| 140 | SIN0(ISUB)=-SIN1(ISUB)*XSI
|
|---|
| 141 | ELSE
|
|---|
| 142 | DEL=FNSSS*SXX-SX*SX
|
|---|
| 143 | SIN1(ISUB)=(FNSSS*SXY-SY*SX)/DEL
|
|---|
| 144 | SIN0(ISUB)=(SY*SXX-SX*SXY)/DEL - SIN1(ISUB)*XSI
|
|---|
| 145 | END IF
|
|---|
| 146 | 541 CONTINUE
|
|---|
| 147 | 542 CONTINUE
|
|---|
| 148 | SINC0=2.0
|
|---|
| 149 | SINC1=1.0/WID
|
|---|
| 150 | IF (ISTEST.NE.0) THEN
|
|---|
| 151 | ADEV=0.
|
|---|
| 152 | RDEV=0.
|
|---|
| 153 | S2C2MN=10.
|
|---|
| 154 | S2C2MX=0.
|
|---|
| 155 | DO 571 ISUB=1,NISUB
|
|---|
| 156 | DO 581 ISS=1,NSINSS
|
|---|
| 157 | THETA=WID*REAL(ISUB-1)+WSS*REAL(ISS-1)
|
|---|
| 158 | CTHET=PI5D2-THETA
|
|---|
| 159 | LTHETA=SINC1*THETA+SINC0
|
|---|
| 160 | LCTHET=SINC1*CTHET+SINC0
|
|---|
| 161 | SINTHE=SIN1(LTHETA)*THETA+SIN0(LTHETA)
|
|---|
| 162 | COSTHE=SIN1(LCTHET)*CTHET+SIN0(LCTHET)
|
|---|
| 163 | SINT=SIN(THETA)
|
|---|
| 164 | COST=COS(THETA)
|
|---|
| 165 | ASD=ABS(SINTHE-SINT)
|
|---|
| 166 | ACD=ABS(COSTHE-COST)
|
|---|
| 167 | ADEV=MAX(ADEV,ASD,ACD)
|
|---|
| 168 | IF((SINT.NE.0.0))RDEV=MAX(RDEV,ASD/ABS(SINT))
|
|---|
| 169 | IF((COST.NE.0.0))RDEV=MAX(RDEV,ACD/ABS(COST))
|
|---|
| 170 | S2C2=SINTHE**2+COSTHE**2
|
|---|
| 171 | S2C2MN=MIN(S2C2MN,S2C2)
|
|---|
| 172 | S2C2MX=MAX(S2C2MX,S2C2)
|
|---|
| 173 | IF (ISUB.LT.11) THEN
|
|---|
| 174 | WRITE(KMPO,590)THETA,SINTHE,SINT,COSTHE,COST
|
|---|
| 175 | 590 FORMAT(1P,5E20.7)
|
|---|
| 176 | END IF
|
|---|
| 177 | 581 CONTINUE
|
|---|
| 178 | 582 CONTINUE
|
|---|
| 179 | 571 CONTINUE
|
|---|
| 180 | 572 CONTINUE
|
|---|
| 181 | WRITE(KMPO,600)MXSINC,NSINSS
|
|---|
| 182 | 600 FORMAT(' SINE TESTS,MXSINC,NSINSS=',2I5)
|
|---|
| 183 | WRITE(KMPO,610)ADEV,RDEV,S2C2MN,S2C2MX
|
|---|
| 184 | 610 FORMAT(' ADEV,RDEV,S2C2(MN,MX) =',1P,4E16.8)
|
|---|
| 185 | ADEV=0.
|
|---|
| 186 | RDEV=0.
|
|---|
| 187 | S2C2MN=10.
|
|---|
| 188 | S2C2MX=0.
|
|---|
| 189 | DO 621 IRN=1,NRNA
|
|---|
| 190 | CALL RMMAR(THETA,1,2)
|
|---|
| 191 | THETA=THETA*PI5D2
|
|---|
| 192 | CTHET=PI5D2-THETA
|
|---|
| 193 | LTHETA=SINC1*THETA+SINC0
|
|---|
| 194 | LCTHET=SINC1*CTHET+SINC0
|
|---|
| 195 | SINTHE=SIN1(LTHETA)*THETA+SIN0(LTHETA)
|
|---|
| 196 | COSTHE=SIN1(LCTHET)*CTHET+SIN0(LCTHET)
|
|---|
| 197 | SINT=SIN(THETA)
|
|---|
| 198 | COST=COS(THETA)
|
|---|
| 199 | ASD=ABS(SINTHE-SINT)
|
|---|
| 200 | ACD=ABS(COSTHE-COST)
|
|---|
| 201 | ADEV=MAX(ADEV,ASD,ACD)
|
|---|
| 202 | IF((SINT.NE.0.0))RDEV=MAX(RDEV,ASD/ABS(SINT))
|
|---|
| 203 | IF((COST.NE.0.0))RDEV=MAX(RDEV,ACD/ABS(COST))
|
|---|
| 204 | S2C2=SINTHE**2+COSTHE**2
|
|---|
| 205 | S2C2MN=MIN(S2C2MN,S2C2)
|
|---|
| 206 | S2C2MX=MAX(S2C2MX,S2C2)
|
|---|
| 207 | 621 CONTINUE
|
|---|
| 208 | 622 CONTINUE
|
|---|
| 209 | WRITE(KMPO,630)NRNA
|
|---|
| 210 | 630 FORMAT(' TEST AT ',I7,' RANDOM ANGLES IN (0,5*PI/2)')
|
|---|
| 211 | WRITE(KMPO,640)ADEV,RDEV,S2C2MN,S2C2MX
|
|---|
| 212 | 640 FORMAT(' ADEV,RDEV,S2C2(MN,MX) =',1P,4E16.8)
|
|---|
| 213 | END IF
|
|---|
| 214 | P=1.
|
|---|
| 215 | DO 651 I=1,50
|
|---|
| 216 | PWR2I(I)=P
|
|---|
| 217 | P=P*.5
|
|---|
| 218 | 651 CONTINUE
|
|---|
| 219 | 652 CONTINUE
|
|---|
| 220 | END IF
|
|---|
| 221 | DO 661 IM=1,NMED
|
|---|
| 222 | 670 CONTINUE
|
|---|
| 223 | DO 671 I=1,6
|
|---|
| 224 | IF (IRAYLR(I).EQ.1.AND.MED(I).EQ.IM) THEN
|
|---|
| 225 | IRAYLM=1
|
|---|
| 226 | GO TO 672
|
|---|
| 227 | END IF
|
|---|
| 228 | 671 CONTINUE
|
|---|
| 229 | 672 CONTINUE
|
|---|
| 230 | 661 CONTINUE
|
|---|
| 231 | 662 CONTINUE
|
|---|
| 232 | REWIND KMPI
|
|---|
| 233 | NM=0
|
|---|
| 234 | DO 681 IM=1,NMED
|
|---|
| 235 | LOK=0
|
|---|
| 236 | IF (IRAYLM.EQ.1) THEN
|
|---|
| 237 | WRITE(KMPO,690)IM
|
|---|
| 238 | 690 FORMAT(' RAYLEIGH OPTION REQUESTED FOR MEDIUM NUMBER',I3,/)
|
|---|
| 239 | END IF
|
|---|
| 240 | 681 CONTINUE
|
|---|
| 241 | 682 CONTINUE
|
|---|
| 242 | 700 CONTINUE
|
|---|
| 243 | 701 CONTINUE
|
|---|
| 244 | 710 CONTINUE
|
|---|
| 245 | 711 CONTINUE
|
|---|
| 246 | READ(KMPI,530,END=720)MBUF
|
|---|
| 247 | DO 731 IB=1,LMDL
|
|---|
| 248 | IF((MBUF(IB:IB).NE.MDLABL(IB:IB)))GO TO 711
|
|---|
| 249 | 731 CONTINUE
|
|---|
| 250 | 732 CONTINUE
|
|---|
| 251 | 740 CONTINUE
|
|---|
| 252 | DO 741 IM=1,NMED
|
|---|
| 253 | DO 751 IB=1,LMDN
|
|---|
| 254 | IL=LMDL+IB
|
|---|
| 255 | IF((MBUF(IL:IL).NE.MEDIA(IB:IB)))GO TO 741
|
|---|
| 256 | IF((IB.EQ.LMDN))GO TO 712
|
|---|
| 257 | 751 CONTINUE
|
|---|
| 258 | 752 CONTINUE
|
|---|
| 259 | 741 CONTINUE
|
|---|
| 260 | 742 CONTINUE
|
|---|
| 261 | GO TO 711
|
|---|
| 262 | 712 CONTINUE
|
|---|
| 263 | IF((LOK.NE.0))GO TO 710
|
|---|
| 264 | LOK=1
|
|---|
| 265 | NM=NM+1
|
|---|
| 266 | WRITE(KMPO,760)IM,MBUF
|
|---|
| 267 | 760 FORMAT(' DATA FOR MEDIUM #',I3,', WHICH IS:',A72)
|
|---|
| 268 | READ(KMPI,770)(MBUF(I:I),I=1,5),RHO,NE
|
|---|
| 269 | 770 FORMAT(5A1,5X,F11.0,4X,I2)
|
|---|
| 270 | WRITE(KMPO,780)(MBUF(I:I),I=1,5),RHO,NE
|
|---|
| 271 | 780 FORMAT(5A1,',RHO=',1P,G11.4, ',NE=',I2,',COMPOSITION IS :')
|
|---|
| 272 | DO 791 IE=1,NE
|
|---|
| 273 | READ(KMPI,530)MBUF
|
|---|
| 274 | WRITE(KMPO,530)MBUF
|
|---|
| 275 | 791 CONTINUE
|
|---|
| 276 | 792 CONTINUE
|
|---|
| 277 | READ(KMPI,520)RLC,AE,AP,UE,UP
|
|---|
| 278 | TE=AE-RM
|
|---|
| 279 | THMOLL=TE*2. + RM
|
|---|
| 280 | READ(KMPI,510)MSGE,MGE,MSEKE,MEKE,MLEKE,MCMFP,MRANGE,IRAYL
|
|---|
| 281 | NSGE=MSGE
|
|---|
| 282 | NGE=MGE
|
|---|
| 283 | NSEKE=MSEKE
|
|---|
| 284 | NEKE=MEKE
|
|---|
| 285 | NLEKE=MLEKE
|
|---|
| 286 | NCMFP=MCMFP
|
|---|
| 287 | NRANGE=MRANGE
|
|---|
| 288 | READ(KMPI,520)(DL1(I),DL2(I),DL3(I),DL4(I),DL5(I),DL6(I),I=1,6)
|
|---|
| 289 | READ(KMPI,520)DELCM,(ALPHI(I),BPAR(I),DELPOS(I),I=1,2)
|
|---|
| 290 | READ(KMPI,520)XR0,TEFF0,BLCC,XCC
|
|---|
| 291 | READ(KMPI,520)EKE0,EKE1
|
|---|
| 292 | READ(KMPI,520)(ESIG0(I),ESIG1(I),PSIG0(I),PSIG1(I),EDEDX0(I),EDED
|
|---|
| 293 | * X1(I),PDEDX0(I),PDEDX1(I),EBR10(I),EBR11(I),PBR10(I),PBR11(I),PBR
|
|---|
| 294 | * 20(I),PBR21(I),TMXS0(I),TMXS1(I),I=1,NEKE)
|
|---|
| 295 | READ(KMPI,520)EBINDA,GE0,GE1
|
|---|
| 296 | READ(KMPI,520)(GMFP0(I),GMFP1(I),GBR10(I),GBR11(I),GBR20(I),GBR21
|
|---|
| 297 | * (I),GBR30(I),GBR31(I),GBR40(I),GBR41(I),I=1,NGE)
|
|---|
| 298 | IF (IRAYLM.EQ.1.AND.IRAYL.NE.1) THEN
|
|---|
| 299 | WRITE(KMPO,800)IM
|
|---|
| 300 | 800 FORMAT(' STOPPED IN HATCH: REQUESTED RAYLEIGH OPTION FOR MEDIUM'
|
|---|
| 301 | * ,I3/ ' BUT RAYLEIGH DATA NOT INCLUDED IN DATA CREATED BY PEGS.')
|
|---|
| 302 | STOP
|
|---|
| 303 | END IF
|
|---|
| 304 | IF (IRAYL.EQ.1) THEN
|
|---|
| 305 | READ(KMPI,510)NGR
|
|---|
| 306 | NGRIM=NGR
|
|---|
| 307 | READ(KMPI,520)RCO0,RCO1
|
|---|
| 308 | READ(KMPI,520)(RSCT0(I),RSCT1(I),I=1,NGRIM)
|
|---|
| 309 | READ(KMPI,520)(COHE0(I),COHE1(I),I=1,NGE)
|
|---|
| 310 | IF (IRAYLM.NE.1) THEN
|
|---|
| 311 | WRITE(KMPO,810)IM
|
|---|
| 312 | 810 FORMAT(' RAYLEIGH DATA AVAILABLE FOR MEDIUM',I3,' BUT OPTION ',
|
|---|
| 313 | * 'NOT REQUESTED.',/)
|
|---|
| 314 | END IF
|
|---|
| 315 | END IF
|
|---|
| 316 | IF((NM.GE.NMED))GO TO702
|
|---|
| 317 | GO TO 701
|
|---|
| 318 | 702 CONTINUE
|
|---|
| 319 | DUNITR=DUNIT
|
|---|
| 320 | IF (DUNIT.LT.0.0) THEN
|
|---|
| 321 | MD=MAX(1,MIN(1,IFIX(-DUNIT)))
|
|---|
| 322 | DUNIT=RLC
|
|---|
| 323 | END IF
|
|---|
| 324 | IF (DUNIT.NE.1.0) THEN
|
|---|
| 325 | WRITE(KMPO,820)DUNITR,DUNIT
|
|---|
| 326 | 820 FORMAT(' DUNIT REQUESTED&USED ARE:',1P,2E14.5,'(CM.)')
|
|---|
| 327 | END IF
|
|---|
| 328 | DO 831 IM=1,NMED
|
|---|
| 329 | DFACT=RLC/DUNIT
|
|---|
| 330 | DFACTI=1.0/DFACT
|
|---|
| 331 | I=1
|
|---|
| 332 | GO TO 843
|
|---|
| 333 | 841 I=I+1
|
|---|
| 334 | 843 IF(I-(MEKE).GT.0)GO TO 842
|
|---|
| 335 | ESIG0(I)=ESIG0(I)*DFACTI
|
|---|
| 336 | ESIG1(I)=ESIG1(I)*DFACTI
|
|---|
| 337 | PSIG0(I)=PSIG0(I)*DFACTI
|
|---|
| 338 | PSIG1(I)=PSIG1(I)*DFACTI
|
|---|
| 339 | EDEDX0(I)=EDEDX0(I)*DFACTI
|
|---|
| 340 | EDEDX1(I)=EDEDX1(I)*DFACTI
|
|---|
| 341 | PDEDX0(I)=PDEDX0(I)*DFACTI
|
|---|
| 342 | PDEDX1(I)=PDEDX1(I)*DFACTI
|
|---|
| 343 | TMXS0(I)=TMXS0(I)*DFACT
|
|---|
| 344 | TMXS1(I)=TMXS1(I)*DFACT
|
|---|
| 345 | GO TO 841
|
|---|
| 346 | 842 CONTINUE
|
|---|
| 347 | I=1
|
|---|
| 348 | GO TO 853
|
|---|
| 349 | 851 I=I+1
|
|---|
| 350 | 853 IF(I-(MLEKE).GT.0)GO TO 852
|
|---|
| 351 | ERANG0(I)=ERANG0(I)*DFACT
|
|---|
| 352 | ERANG1(I)=ERANG1(I)*DFACT
|
|---|
| 353 | PRANG0(I)=PRANG0(I)*DFACT
|
|---|
| 354 | PRANG1(I)=PRANG1(I)*DFACT
|
|---|
| 355 | GO TO 851
|
|---|
| 356 | 852 CONTINUE
|
|---|
| 357 | TEFF0=TEFF0*DFACT
|
|---|
| 358 | BLCC=BLCC*DFACTI
|
|---|
| 359 | XCC=XCC*SQRT(DFACTI)
|
|---|
| 360 | RLDU=RLC/DUNIT
|
|---|
| 361 | RLDUI=1./RLDU
|
|---|
| 362 | I=1
|
|---|
| 363 | GO TO 863
|
|---|
| 364 | 861 I=I+1
|
|---|
| 365 | 863 IF(I-(MGE).GT.0)GO TO 862
|
|---|
| 366 | GMFP0(I)=GMFP0(I)*DFACT
|
|---|
| 367 | GMFP1(I)=GMFP1(I)*DFACT
|
|---|
| 368 | GO TO 861
|
|---|
| 369 | 862 CONTINUE
|
|---|
| 370 | 831 CONTINUE
|
|---|
| 371 | 832 CONTINUE
|
|---|
| 372 | VACDST=VACDST*DUNITO/DUNIT
|
|---|
| 373 | DUNITO=DUNIT
|
|---|
| 374 | DO 871 JR=1,6
|
|---|
| 375 | MD=MED(JR)
|
|---|
| 376 | IF ((MD.GE.1).AND.(MD.LE.NMED)) THEN
|
|---|
| 377 | ECUT(JR)=MAX(ECUT(JR),AE,AP+1.1*RM)
|
|---|
| 378 | PCUT(JR)=MAX(PCUT(JR),AP)
|
|---|
| 379 | IF((RHOR(JR).EQ.0.0))RHOR(JR)=RHO
|
|---|
| 380 | END IF
|
|---|
| 381 | 871 CONTINUE
|
|---|
| 382 | 872 CONTINUE
|
|---|
| 383 | IF (NMED.EQ.1) THEN
|
|---|
| 384 | WRITE(KMPO,880)
|
|---|
| 385 | 880 FORMAT(' EGS SUCCESSFULLY ''HATCHED'' FOR ONE MEDIUM.')
|
|---|
| 386 | ELSE
|
|---|
| 387 | WRITE(KMPO,890)NMED
|
|---|
| 388 | 890 FORMAT(' EGS SUCCESSFULLY ''HATCHED'' FOR ',I5,' MEDIA.')
|
|---|
| 389 | END IF
|
|---|
| 390 | RETURN
|
|---|
| 391 | 720 WRITE(KMPO,900)KMPI
|
|---|
| 392 | 900 FORMAT(' END OF FILE ON UNIT ',I2,//, ' PROGRAM STOPPED IN HATCH '
|
|---|
| 393 | *, 'BECAUSE THE'/ ' FOLLOWING NAMES WERE NOT RECOGNIZED:',/)
|
|---|
| 394 | DO 911 IM=1,NMED
|
|---|
| 395 | IF (LOK.NE.1) THEN
|
|---|
| 396 | WRITE(KMPO,920)(MEDIA(I:I),I=1,LMDN)
|
|---|
| 397 | 920 FORMAT(40X,'''',24A1,'''')
|
|---|
| 398 | END IF
|
|---|
| 399 | 911 CONTINUE
|
|---|
| 400 | 912 CONTINUE
|
|---|
| 401 | STOP
|
|---|
| 402 | END
|
|---|