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