]>
Commit | Line | Data |
---|---|---|
fe4da5cc | 1 | * |
2 | * $Id$ | |
3 | * | |
4 | * $Log$ | |
5 | * Revision 1.1.1.1 1995/10/24 10:22:02 cernlib | |
6 | * Geant | |
7 | * | |
8 | * | |
9 | #include "geant321/pilot.h" | |
10 | *CMZ : 3.21/02 29/03/94 15.41.46 by S.Giani | |
11 | *-- Author : | |
12 | *$ CREATE PEANUT.FOR | |
13 | *COPY PEANUT | |
14 | * | |
15 | *=== peanut ===========================================================* | |
16 | * | |
17 | SUBROUTINE PEANUT ( KPROJ, EKE, PPROJ, TXX, TYY, TZZ, WEE ) | |
18 | ||
19 | #include "geant321/dblprc.inc" | |
20 | #include "geant321/dimpar.inc" | |
21 | #include "geant321/iounit.inc" | |
22 | * | |
23 | *----------------------------------------------------------------------* | |
24 | *----------------------------------------------------------------------* | |
25 | * | |
26 | * | |
27 | #include "geant321/balanc.inc" | |
28 | #include "geant321/eva0.inc" | |
29 | #include "geant321/fheavy.inc" | |
30 | #include "geant321/finuc.inc" | |
31 | #include "geant321/higfis.inc" | |
32 | #include "geant321/nucdat.inc" | |
33 | #include "geant321/nucgeo.inc" | |
34 | #include "geant321/parevt.inc" | |
35 | #include "geant321/parnuc.inc" | |
36 | #include "geant321/part.inc" | |
37 | #include "geant321/resnuc.inc" | |
38 | * | |
39 | * | |
40 | COMMON / FKCOSP / C1ST (3), C2ND (3), LEMISS | |
41 | LOGICAL LEMISS | |
42 | COMMON / FKCMCY / NPCYCL (20,2), IEVT, LOUT | |
43 | * | |
44 | COMMON / FKPLOC / IABCOU | |
45 | LOGICAL LBCHCK, LBIMPC, LTRPPD, LASSOR, LEXIT, LPRCYC, LEXPLC, | |
46 | & LNWINT | |
47 | DIMENSION IPTYPE (39) | |
48 | REAL RNDM(2) | |
49 | SAVE IPTYPE | |
50 | DATA IPTYPE / 1, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, | |
51 | & 3, 3, 4, 4, 5, 5, 0, 5, 5, 5, 3, 4, | |
52 | & 4, 0, 0, 0, 0, 0, 6, 6, 6, 7, 8, 7, | |
53 | & 8, 9, 10 / | |
54 | * | |
55 | * | |
56 | IEVPRE = IEVPRE + 1 | |
57 | NUSCIN = 0 | |
58 | IABCOU = 0 | |
59 | IF ( EKE .GT. 2.D+00 * GAMMIN ) THEN | |
60 | EOTEST = ETTOT | |
61 | PTORI = PPROJ | |
62 | PXORI = PTORI * TXX | |
63 | PYORI = PTORI * TYY | |
64 | PZORI = PTORI * TZZ | |
65 | ELSE | |
66 | EOTEST = ETTOT - EKE | |
67 | ETTOT = EOTEST | |
68 | PTORI = 0.D+00 | |
69 | PXTTOT = 0.D+00 | |
70 | PYTTOT = 0.D+00 | |
71 | PZTTOT = 0.D+00 | |
72 | PTTOT = 0.D+00 | |
73 | PXORI = 0.D+00 | |
74 | PYORI = 0.D+00 | |
75 | PZORI = 0.D+00 | |
76 | END IF | |
77 | ETEPS = 1.D-10 * ETTOT | |
78 | ICHTOT = ICHTAR + ICH (KPROJ) | |
79 | IBTOT = IBTAR + IBAR (KPROJ) | |
80 | IBNUCL = IBTAR | |
81 | IBORI = IBAR (KPROJ) | |
82 | IPTORI = IPTYPE (KPTOIP(KPROJ)) | |
83 | KPORI = KPROJ | |
84 | EKORI = EKE | |
85 | ZZTAR = ICHTAR | |
86 | BBTAR = IBTAR | |
87 | IF ( ICH (KPROJ) .NE. 0 .AND. EKE .GT. 2.D+00 * GAMMIN ) THEN | |
88 | FLKCOU = DOST ( 1, ZZTAR ) | |
89 | CCOUL = DOST ( 3, ZZTAR ) | |
90 | CLMBBR = ICH (KPROJ) * COULBH * ZZTAR / RMASS (IBTAR) | |
91 | IF ( CLMBBR .GT. 0.9D+00 * EKE ) THEN | |
92 | TMPEKE = 0.98D+00 * EKE | |
93 | CLMHLP = MIN ( CLMBBR * FLKCOU, TMPEKE ) | |
94 | CLMBBR = MIN ( CLMBBR, EKE ) | |
95 | WEIGH1 = 10.0D+00 * ( CLMBBR / EKE - 0.9D+00 ) | |
96 | CLMBBR = WEIGH1 * CLMHLP + ( 1.D+00 - WEIGH1 ) * CLMBBR | |
97 | END IF | |
98 | BFCLMB = SQRT ( 1.D+00 - CLMBBR / EKE ) | |
99 | RDCLMB = ICH (KPROJ) * COULPR * ZZTAR / CLMBBR | |
100 | ELSE | |
101 | CLMBBR = 0.D+00 | |
102 | BFCLMB = 1.D+00 | |
103 | RDCLMB = AINFNT | |
104 | END IF | |
105 | IBRES = IBTOT | |
106 | ICRES = ICHTOT | |
107 | BBRES = IBRES | |
108 | ZZRES = ICRES | |
109 | AMMRES = BBRES * AMUAMU + 0.001D+00 * FKENER ( BBRES, ZZRES ) | |
110 | AMNRES = AMMRES - ZZRES * AMELEC + ELBNDE ( ICRES ) | |
111 | NPROT = 0 | |
112 | NNEUT = 0 | |
113 | NHOLE = 0 | |
114 | AVEBIN = ( ( BBTAR - ZZTAR ) * AMNUCL (2) + ZZTAR * AMNUCL (1) | |
115 | & - AMNTAR ) / BBTAR | |
116 | AMMHLP = ( BBTAR - 1.D+00 ) * AMUAMU + 1.D-03 | |
117 | & * FKENER ( BBTAR - ONEONE, ZZTAR - ONEONE ) | |
118 | AMNHLP = AMMHLP - ( ZZTAR - 1.D+00 ) * AMELEC + ELBNDE (ICHTAR-1) | |
119 | BNENRG (1) = AMNHLP + AMNUCL (1) - AMNTAR | |
120 | AMMHLP = ( BBTAR - 1.D+00 ) * AMUAMU + 1.D-03 | |
121 | & * FKENER ( BBTAR - ONEONE, ZZTAR ) | |
122 | AMNHLP = AMMHLP - ZZTAR * AMELEC + ELBNDE (ICHTAR) | |
123 | BNENRG (2) = AMNHLP + AMNUCL (2) - AMNTAR | |
124 | ||
125 | BNENRG (3) = 0.5D+00 * ( BNENRG (1) + BNENRG (2) ) | |
126 | RHORED = 1.D+00 | |
127 | NPNUC = 0 | |
128 | NNUCTS = 0 | |
129 | NHLEXP = 0 | |
130 | JNUCTS = 0 | |
131 | ACOLL = ANOW | |
132 | ZCOLL = ZNOW | |
133 | IF ( .NOT. LPREEX ) THEN | |
134 | IF ( KPROJ .EQ. 1 .OR. KPROJ .EQ. 8 ) THEN | |
135 | LEXPLC = EKE .GT. 0.250D+00 | |
136 | ELSE IF ( KPROJ .EQ. 14 .AND. PTTOT .LE. 0.D+00 ) THEN | |
137 | LEXPLC = .TRUE. | |
138 | ELSE | |
139 | STOP 'LEXPLC' | |
140 | END IF | |
141 | ELSE | |
142 | LEXPLC = .TRUE. | |
143 | END IF | |
144 | IF ( LEXPLC .AND. EKE .GT. IBAR(KPROJ) * EKEEXP ) THEN | |
145 | ICYCL = 0 | |
146 | IREINT = 0 | |
147 | LPRCYC = .TRUE. | |
148 | LBCHCK = .FALSE. | |
149 | LBIMPC = .TRUE. | |
150 | LELSTC = .FALSE. | |
151 | LABRST = .FALSE. | |
152 | LABSRP = .FALSE. | |
153 | LINELS = .FALSE. | |
154 | LCHEXC = .FALSE. | |
155 | RHOEXP = 0.D+00 | |
156 | EKFEXP = 0.D+00 | |
157 | EKFREI = 0.D+00 | |
158 | RHOREI = 0.D+00 | |
159 | KPRIN = KPROJ | |
160 | KRFLIN = 0 | |
161 | ERECLD = 0.D+00 | |
162 | BNPREV = 0.D+00 | |
163 | EKECON = EKE | |
164 | PNUCCO = PPROJ | |
165 | CALL BIMSEL ( KPROJ, TXX, TYY, TZZ, LBCHCK ) | |
166 | WLLPRO = WLLRED | |
167 | BNPROJ = WLLRED * BNDNUC | |
168 | RHOMEM = 0.5D+00 * ( RHOIMP + RHOIMT ) | |
169 | EKFMEM = 0.5D+00 * ( EKFIMP + EKFPRO ) | |
170 | IAAFT = IBRES - IBAR (KPROJ) | |
171 | IZAFT = ICRES - ICH (KPROJ) | |
172 | CALL EEXLVL ( IAAFT, IZAFT, EEXDEL, EEXMIN, EEXDUM ) | |
173 | EEXANY = EEXDEL | |
174 | IF ( ALPHAL .LE. 0.D+00 ) THEN | |
175 | DEFPRO = 0.D+00 | |
176 | DEFNEU = 0.D+00 | |
177 | ELSE | |
178 | DEFPRO = 0.D+00 | |
179 | DEFNEU = 0.D+00 | |
180 | END IF | |
181 | DEFNUC (1) = DEFPRO | |
182 | DEFNUC (2) = DEFNEU | |
183 | 100 CONTINUE | |
184 | IF ( LELSTC ) THEN | |
185 | CALL NUCNUC ( IKPMX , KRFLIN, WEE , ERECMN, LBIMPC, | |
186 | & LBCHCK, ICYCL , NHOLE , NPROT , NNEUT , | |
187 | & LEXIT , LNWINT ) | |
188 | ELSE IF ( KPRIN .EQ. 14 ) THEN | |
189 | CALL PIOABS ( IKPMX , KRFLIN, WEE , ERECMN, LBIMPC, | |
190 | & LBCHCK, ICYCL , NHOLE , NPROT , NNEUT , | |
191 | & LEXIT , LNWINT ) | |
192 | ELSE | |
193 | STOP 'Int_kind' | |
194 | END IF | |
195 | IF ( LNWINT ) GO TO 100 | |
196 | BBRES = IBRES | |
197 | ZZRES = ICRES | |
198 | IF ( .NOT. LEXIT ) THEN | |
199 | LPRCYC = .FALSE. | |
200 | ELSE | |
201 | BNPREV = BNPREV + BNDUSE | |
202 | END IF | |
203 | 200 CONTINUE | |
204 | LELSTC = .FALSE. | |
205 | LABRST = .FALSE. | |
206 | LABSRP = .FALSE. | |
207 | LINELS = .FALSE. | |
208 | LCHEXC = .FALSE. | |
209 | GAMMAX = 0.D+00 | |
210 | IREFMN = 10000 | |
211 | IKPMX = 0 | |
212 | IBCHCK = 0 | |
213 | ICCHCK = 0 | |
214 | IBNUCL = 0 | |
215 | ICNUCL = 0 | |
216 | ILIVE = 0 | |
217 | LTRPPD = .FALSE. | |
218 | DO 300 KP = 1, NPNUC | |
219 | IF ( KPNUCL (KP) .LE. 0 ) GO TO 300 | |
220 | ILIVE = ILIVE + 1 | |
221 | KPNUC = KPNUCL (KP) | |
222 | IPTNUC = IPTYPE (KPTOIP(KPNUC)) | |
223 | IF ( IPTNUC .EQ. 1 ) THEN | |
224 | BNDNU0 = BNENRG (1+KPNUC/8) | |
225 | WLLRE0 = POTBAR | |
226 | ELSE | |
227 | IF ( IBAR (KPNUC) .NE. 0 ) THEN | |
228 | WLLRE0 = POTBAR | |
229 | BNDNU0 = BNENRG (3) | |
230 | ELSE IF ( KPNUC .LE. 11 ) THEN | |
231 | WLLRE0 = 0.D+00 | |
232 | BNDNU0 = 0.D+00 | |
233 | ELSE | |
234 | WLLRE0 = POTMES | |
235 | BNDNU0 = BNENRG (3) | |
236 | END IF | |
237 | END IF | |
238 | IF ( EKFNUC (KP) .GT. -100.D+00 ) THEN | |
239 | GAMMA = ( ENNUC (KP) - WLLRE0 * ( EKFNUC (KP) + BNDNU0 ) | |
240 | & ) / AM (KPNUC) | |
241 | ELSE | |
242 | IF ( AM (KPNUC) .LE. ANGLGB ) THEN | |
243 | GAMMA = AINFNT | |
244 | ELSE | |
245 | GAMMA = ENNUC (KP) / AM (KPNUC) | |
246 | END IF | |
247 | END IF | |
248 | IF ( IBAR (KPNUC) .GT. 0 ) THEN | |
249 | IBNUCL = IBNUCL + IBAR (KPNUC) | |
250 | ICNUCL = ICNUCL + ICH (KPNUC) | |
251 | END IF | |
252 | IBCHCK = IBCHCK + IBAR (KPNUC) | |
253 | ICCHCK = ICCHCK + ICH (KPNUC) | |
254 | IF ( KRFNUC (KP) .LT. IREFMN ) THEN | |
255 | IREFMN = KRFNUC (KP) | |
256 | GAMMAX = GAMMA | |
257 | IKPMX = KP | |
258 | WLLRED = WLLRE0 | |
259 | BNDNUC = BNDNU0 | |
260 | ELSE IF ( KRFNUC (KP) .EQ. IREFMN ) THEN | |
261 | IF ( GAMMA .GT. GAMMAX ) THEN | |
262 | GAMMAX = GAMMA | |
263 | IKPMX = KP | |
264 | WLLRED = WLLRE0 | |
265 | BNDNUC = BNDNU0 | |
266 | END IF | |
267 | END IF | |
268 | 300 CONTINUE | |
269 | IBNUCL = IBRES - IBNUCL - NPROT - NNEUT | |
270 | ICNUCL = ICRES - ICNUCL - NPROT | |
271 | ACOLL = IBNUCL | |
272 | ZCOLL = ICNUCL | |
273 | RHORED = ACOLL / BBTAR | |
274 | IF ( IKPMX .LE. 0 ) THEN | |
275 | IBCKC = IBTOT - IBINTR - IBNUCR | |
276 | ICCKC = ICHTOT - ICINTR - ICNUCR | |
277 | IF ( IBCKC .NE. IBRES .OR. ICCKC .NE. ICRES ) THEN | |
278 | ICRES = ICCKC | |
279 | IBRES = IBCKC | |
280 | END IF | |
281 | NEXPEM = NP-NP0 | |
282 | DO 450 IJJ = 1,IGREYN | |
283 | NPCYCL (IJJ,1) = 0 | |
284 | 450 CONTINUE | |
285 | DO 460 IJJ = 1,IGREYP | |
286 | NPCYCL (IJJ,2) = 0 | |
287 | 460 CONTINUE | |
288 | BBRES = IBRES | |
289 | ZZRES = ICRES | |
290 | ANOW = BBRES | |
291 | ZNOW = ZZRES | |
292 | AMMRES = BBRES * AMUAMU + 0.001D+00 * FKENER ( BBRES, ZZRES) | |
293 | AMNRES = AMMRES - ZZRES * AMELEC + ELBNDE ( ICRES ) | |
294 | PXRES = PXTTOT - PXNUCR - PXINTR | |
295 | PYRES = PYTTOT - PYNUCR - PYINTR | |
296 | PZRES = PZTTOT - PZNUCR - PZINTR | |
297 | PTRES2= PXRES**2 + PYRES**2 + PZRES**2 | |
298 | PTRES = SQRT ( PTRES2 ) | |
299 | ERES = ETTOT - EINTR - ENUCR | |
300 | UMO2 = ( ERES - PTRES ) * ( ERES + PTRES ) | |
301 | IF ( UMO2 .LT. ONEMNS*AMNRES**2 ) THEN | |
302 | UMO = SQRT (UMO2) | |
303 | WRITE ( LUNOUT,* )' 2:UMO,AMNRES',UMO,AMNRES | |
304 | GO TO 530 | |
305 | ELSE IF ( UMO2 - AMNRES*AMNRES .LT. AMNRES*TVEPSI ) THEN | |
306 | UMO = SQRT (UMO2) | |
307 | GO TO 530 | |
308 | END IF | |
309 | IF ( ICYCL .NE. NHOLE - IABCOU ) THEN | |
310 | WRITE (LUNOUT,*)' *** KPORI, ICYCL, NHOLE, IABCOU', | |
311 | & KPORI, ICYCL, NHOLE, IABCOU | |
312 | ICYCL = NHOLE - IABCOU | |
313 | END IF | |
314 | NPTOT = NPROT + NNEUT | |
315 | NHLEXP = NHOLE | |
316 | IF ( .NOT. LPRCYC .OR. NPTOT .LE. 0 .OR. NNUCTS .GT. 0 ) | |
317 | & THEN | |
318 | LEMISS = .FALSE. | |
319 | NHOLE = NHOLE + 1 | |
320 | IF ( EKFREI .GT. ANGLGB ) THEN | |
321 | RHOIMP = ( RHOEXP + RHOREI ) / NHOLE | |
322 | EKFIMP = ( EKFEXP + EKFREI ) / NHOLE | |
323 | ELSE | |
324 | RHOIMP = ( RHOEXP + RHOAVE ) / NHOLE | |
325 | EKFIMP = ( EKFEXP + EKFAVE ) / NHOLE | |
326 | END IF | |
327 | ANPROT = NPROT | |
328 | ANNEUT = NNEUT | |
329 | ACOLL = ACOLL - 1.D+00 | |
330 | IF ( NPTOT .GT. 0 ) THEN | |
331 | PNPROT = ( ZNOW - ANPROT ) * ( 3.D+00 * ANNEUT | |
332 | & + ANPROT ) / ( ANPROT * ( ZNOW - ANPROT | |
333 | & + 3.D+00 * ( ANOW - ANNEUT - ZNOW ) ) + ANNEUT | |
334 | & * ( 3.D+00 * ( ZNOW | |
335 | & - ANPROT ) + ANOW - ANNEUT - ZNOW ) ) | |
336 | ELSE | |
337 | PNPROT = ZNOW / ANOW | |
338 | END IF | |
339 | CALL GRNDM(RNDM,1) | |
340 | IF ( RNDM (1) .LT. PNPROT ) THEN | |
341 | NPROT = NPROT + 1 | |
342 | ZCOLL = ZCOLL - 1.D+00 | |
343 | ELSE | |
344 | NNEUT = NNEUT + 1 | |
345 | END IF | |
346 | ELSE | |
347 | RHOIMP = RHOEXP / NHLEXP | |
348 | EKFIMP = EKFEXP / NHLEXP | |
349 | IF ( ICYCL .EQ. 1 ) THEN | |
350 | IF ( NP .LE. NP0 ) THEN | |
351 | LEMISS = .FALSE. | |
352 | ICYCL = ICYCL - 1 | |
353 | ELSE | |
354 | LEMISS = .TRUE. | |
355 | END IF | |
356 | ELSE | |
357 | LEMISS = .FALSE. | |
358 | ICYCL = ICYCL - 1 | |
359 | END IF | |
360 | END IF | |
361 | GO TO 500 | |
362 | END IF | |
363 | KPNUC = KPNUCL (IKPMX) | |
364 | IPTNUC = IPTYPE (KPTOIP(KPNUC)) | |
365 | ERECMN = MAX ( ERECLD, ERECMN ) | |
366 | ERECLD = ERECMN | |
367 | ERECMN = ERECMN / ( ICYCL + IGREYP + IGREYN ) | |
368 | IAAFT = IBRES - IBAR (KPNUC) | |
369 | IZAFT = ICRES - ICH (KPNUC) | |
370 | CALL EEXLVL ( IAAFT, IZAFT, EEXDEL, EEXMIN, EEXDUM ) | |
371 | IF ( NP .EQ. NP0 .AND. KPNUC .EQ. KPROJ ) THEN | |
372 | EEXANY = EEXDEL | |
373 | ELSE | |
374 | EEXANY = 0.D+00 | |
375 | END IF | |
376 | AAFT = BBRES - IBAR (KPNUC) | |
377 | ZAFT = ZZRES - ICH (KPNUC) | |
378 | AMMAFT = AAFT * AMUAMU + 0.001D+00 * FKENER ( AAFT, ZAFT ) | |
379 | AMNAFT = AMMAFT - ZAFT * AMELEC + ELBNDE ( NINT (ZAFT) ) | |
380 | IF ( WLLRED .GT. ANGLGB ) THEN | |
381 | IF ( EKFNUC (IKPMX) .GT. -100.D+00 ) THEN | |
382 | BNDGEN = IBAR (KPNUC) * AM (KPNUC) + AMNAFT - AMNRES | |
383 | IF ( NP .EQ. NP0 .AND. IPTNUC .EQ. IPTORI ) THEN | |
384 | BNDUSE = BNPROJ + AMNAFT - AMNTAR + AM (KPNUC) | |
385 | & - AM (KPROJ) | |
386 | ELSE IF ( NP .EQ. NP0 ) THEN | |
387 | IF ( IPTNUC .EQ. 1 ) THEN | |
388 | BNDUSE = AMNAFT - AMNTAR + AM (KPNUC) | |
389 | BNDUSE = MAX ( BNDUSE, ZERZER ) | |
390 | ELSE | |
391 | BNDUSE = WLLRED * BNDNUC | |
392 | END IF | |
393 | ELSE IF ( NUSCIN .EQ. 1 ) THEN | |
394 | AMEMIT = 0.D+00 | |
395 | DO 430 KP = NP0+1, NP | |
396 | IPTPAR = IPTYPE (KPTOIP(KPART(KP))) | |
397 | IF ( IPTPAR .EQ. 1 .OR. IPTPAR .EQ. IPTORI ) | |
398 | & AMEMIT = AMEMIT + AM (KPTOIP(KPART(KP))) | |
399 | 430 CONTINUE | |
400 | IF ( IPTNUC .EQ. IPTORI ) THEN | |
401 | BNTRUE = AMNAFT + AMEMIT + AM (KPNUC) - AMNTAR | |
402 | & - AM (KPROJ) | |
403 | BNDUSE = BNPROJ + BNTRUE - BNPREV | |
404 | BNDUSE = MAX ( BNDUSE, ZERZER ) | |
405 | ELSE IF ( IPTNUC .EQ. 1 ) THEN | |
406 | BNDUSE = AMNAFT + AMEMIT + AM (KPNUC) - AMNTAR | |
407 | & - BNPREV | |
408 | BNDUSE = MAX ( BNDUSE, ZERZER ) | |
409 | ELSE | |
410 | BNDUSE = WLLRED * BNDNUC | |
411 | END IF | |
412 | ELSE | |
413 | BNDUSE = WLLRED * MAX ( BNDGEN, ZERZER ) | |
414 | END IF | |
415 | EKFPRE = EKFNUC (IKPMX) | |
416 | VWELL0 = WLLRED * EKFNUC (IKPMX) + BNDUSE + ERECMN | |
417 | ENNUC (IKPMX) = ENNUC (IKPMX) - VWELL0 | |
418 | EKFNUC (IKPMX) = WLLRED * BNDNUC - BNDUSE - ERECMN | |
419 | ELSE | |
420 | BNDGEN = IBAR (KPNUC) * AM (KPNUC) + AMNAFT - AMNRES | |
421 | IF ( NP .EQ. NP0 .AND. KPNUC .EQ. KPORI ) THEN | |
422 | BNDUSE = BNPROJ | |
423 | ELSE | |
424 | BNDUSE = WLLRED * MAX ( BNDGEN, ZERZER ) | |
425 | END IF | |
426 | EKFPRE = EKFAVE | |
427 | RHNUCL (IKPMX) = RHOAVE | |
428 | VWELL0 = BNDUSE - WLLRED * BNDNUC + ERECMN | |
429 | ENNUC (IKPMX) = ENNUC (IKPMX) - VWELL0 | |
430 | EKFNUC (IKPMX) = - VWELL0 | |
431 | END IF | |
432 | ELSE | |
433 | VWELL0 = 0.D+00 | |
434 | EKFNUC (IKPMX) = 0.D+00 | |
435 | EKFPRE = 0.D+00 | |
436 | BNDUSE = 0.D+00 | |
437 | END IF | |
438 | EKNNUC = ENNUC (IKPMX) - AM (KPNUC) | |
439 | EKECON = EKNNUC - EKFNUC (IKPMX) | |
440 | IF ( ICH (KPNUC) .GT. 0 ) THEN | |
441 | FLKCOU = DOST ( 1, ZAFT ) | |
442 | ETHRES = FLKCOU * ICH (KPNUC) * COULBH * ZAFT | |
443 | & / RMASS ( NINT (AAFT) ) | |
444 | IF ( EKNNUC .GT. ETHRES ) THEN | |
445 | LASSOR = .FALSE. | |
446 | FREJE = 1.D+00 - ( ETHRES / EKNNUC )**3 | |
447 | CALL GRNDM(RNDM,1) | |
448 | IF ( RNDM (1) .GE. FREJE ) LTRPPD = .TRUE. | |
449 | ELSE | |
450 | LASSOR = .TRUE. | |
451 | END IF | |
452 | ELSE | |
453 | ETHRES = 0.D+00 | |
454 | IF ( EKNNUC .GT. ETHRES ) THEN | |
455 | LASSOR = .FALSE. | |
456 | ELSE | |
457 | LASSOR = .TRUE. | |
458 | END IF | |
459 | END IF | |
460 | IF ( LASSOR .OR. LTRPPD ) THEN | |
461 | IF ( KPNUC .EQ. 1 .OR. KPNUC .EQ. 8 ) THEN | |
462 | KPNUCL (IKPMX) = - KPNUCL (IKPMX) | |
463 | ENNUC (IKPMX) = ENNUC (IKPMX) - EKFNUC (IKPMX) | |
464 | EKFNUC (IKPMX) = -AINFNT | |
465 | NPROT = NPROT + ICH (KPNUC) | |
466 | NNEUT = NNEUT + 1 - ICH (KPNUC) | |
467 | IREINT = IREINT + 1 | |
468 | LPRCYC = .FALSE. | |
469 | GO TO 200 | |
470 | ELSE | |
471 | LTRPPD = .TRUE. | |
472 | STOP 'KPNUCL_TRAPPED' | |
473 | END IF | |
474 | ELSE | |
475 | LTRPPD = .FALSE. | |
476 | END IF | |
477 | IKPNWI = IKPMX | |
478 | IF ( KPNUC .EQ. 1 .OR. KPNUC .EQ. 8 ) THEN | |
479 | ETHMNM = ETHRES + EKEMNM | |
480 | ETHREI = MAX ( EKREXP, ETHMNM ) | |
481 | IF ( EKECON .LT. ETHMNM ) THEN | |
482 | NPROT = NPROT + ICH (KPNUC) | |
483 | NNEUT = NNEUT + 1 - ICH (KPNUC) | |
484 | ENNUC (IKPMX) = EKECON + AM (KPNUC) | |
485 | KPNUCL (IKPMX) = - KPNUCL (IKPMX) | |
486 | NNUCTS = NNUCTS + 1 | |
487 | INUCTS (NNUCTS) = IKPMX | |
488 | JNUCTS = NUSCIN | |
489 | EKFNUC (IKPMX) = EKFPRE | |
490 | ENNUC (IKPMX) = ENNUC (IKPMX) - BNDUSE + BNDGEN | |
491 | RSTNUC (IKPMX) = BNDGEN | |
492 | LPRCYC = .TRUE. | |
493 | GO TO 200 | |
494 | ELSE IF ( EKECON .LT. ETHREI ) THEN | |
495 | LBCHCK = .FALSE. | |
496 | IKPNWI = - IKPMX | |
497 | ELSE | |
498 | LBCHCK = .FALSE. | |
499 | END IF | |
500 | ELSE | |
501 | LBCHCK = .FALSE. | |
502 | END IF | |
503 | PNUCCO = SQRT ( EKECON * ( EKECON + 2.D+00 * AM (KPNUC) ) ) | |
504 | CALL NWISEL ( IKPNWI, LBCHCK ) | |
505 | 350 CONTINUE | |
506 | IF ( BIMPCT .GT. RADTOT .AND. .NOT. LTRPPD ) THEN | |
507 | KPRIN = KPNUC | |
508 | IF ( EKNNUC .NE. EKECON ) PNUCCO = SQRT ( EKNNUC * ( EKNNUC | |
509 | & + 2.D+00 * AM (KPNUC) ) ) | |
510 | IF ( ABS ( PNUCL (IKPMX) - PNUCCO ) .GT. ANGLGB * PNUCCO ) | |
511 | & CALL PHDSET ( IKPMX ) | |
512 | IBRES = IBRES - IBAR (KPNUC) | |
513 | ICRES = ICRES - ICH (KPNUC) | |
514 | BBRES = IBRES | |
515 | ZZRES = ICRES | |
516 | AMMRES = AMMAFT | |
517 | AMNRES = AMNAFT | |
518 | CALL UMOFIN ( IKPMX, BBRES, ZZRES, LTRPPD ) | |
519 | EKNNUC = ENNUC (IKPMX) - AM (KPNUC) | |
520 | IF ( LTRPPD ) GO TO 350 | |
521 | NP = NP + 1 | |
522 | TKI (NP) = ENNUC (IKPMX) - AM (KPNUC) | |
523 | KPART (NP) = KPNUC | |
524 | PLR (NP) = PNUCL (IKPMX) | |
525 | CXR (NP) = PXNUCL (IKPMX) / PLR (NP) | |
526 | CYR (NP) = PYNUCL (IKPMX) / PLR (NP) | |
527 | CZR (NP) = PZNUCL (IKPMX) / PLR (NP) | |
528 | WEI (NP) = WEE | |
529 | KPNUCL (IKPMX) = 0 | |
530 | IF ( KPNUC .EQ. 1 .OR. KPNUC .EQ. 8 ) THEN | |
531 | IGREYP = IGREYP + ICH (KPNUC) | |
532 | IGREYN = IGREYN + 1 - ICH (KPNUC) | |
533 | PXINTR = PXINTR + PXNUCL (IKPMX) | |
534 | PYINTR = PYINTR + PYNUCL (IKPMX) | |
535 | PZINTR = PZINTR + PZNUCL (IKPMX) | |
536 | EINTR = EINTR + ENNUC (IKPMX) | |
537 | IBINTR = IBINTR + IBAR (KPNUC) | |
538 | ICINTR = ICINTR + ICH (KPNUC) | |
539 | ELSE | |
540 | IOTHER = IOTHER + 1 | |
541 | PXNUCR = PXNUCR + PXNUCL (IKPMX) | |
542 | PYNUCR = PYNUCR + PYNUCL (IKPMX) | |
543 | PZNUCR = PZNUCR + PZNUCL (IKPMX) | |
544 | ENUCR = ENUCR + ENNUC (IKPMX) | |
545 | IBNUCR = IBNUCR + IBAR (KPNUC) | |
546 | ICNUCR = ICNUCR + ICH (KPNUC) | |
547 | END IF | |
548 | BNPREV = BNPREV + BNDUSE | |
549 | IF ( IREINT .LE. 0 ) THEN | |
550 | LPRCYC = .TRUE. | |
551 | ELSE | |
552 | LPRCYC = .FALSE. | |
553 | END IF | |
554 | GO TO 200 | |
555 | ELSE IF ( BIMPCT .GT. RADTOT ) THEN | |
556 | KRFNUC (IKPMX) = KRFNUC (IKPMX) + 1 | |
557 | CALL GRNDM(RNDM,1) | |
558 | SINTHE = RNDM ( 1 ) | |
559 | COSTHE = SQRT ( 1.D+00 - SINTHE ) | |
560 | SINTHE = SQRT ( SINTHE ) | |
561 | 400 CONTINUE | |
562 | CALL GRNDM(RNDM,2) | |
563 | RPHI1 = 2.D+00 * RNDM (1) - 1.D+00 | |
564 | RPHI2 = 2.D+00 * RNDM (2) - 1.D+00 | |
565 | RPHI12 = RPHI1 * RPHI1 | |
566 | RPHI22 = RPHI2 * RPHI2 | |
567 | RSQ = RPHI12 + RPHI22 | |
568 | IF ( RSQ .GT. 1.D+00 ) GO TO 400 | |
569 | SINPHI = 2.D+00 * RPHI1 * RPHI2 / RSQ | |
570 | COSPHI = ( RPHI12 - RPHI22 ) / RSQ | |
571 | SINT02 = CXIMPC**2 + CYIMPC**2 | |
572 | IF ( SINT02 .LT. ANGLSQ ) THEN | |
573 | PXNUCL (IKPMX) = COSPHI * SINTHE * PNUCCO | |
574 | PYNUCL (IKPMX) = SINPHI * SINTHE * PNUCCO | |
575 | PZNUCL (IKPMX) = CZIMPC * COSTHE * PNUCCO | |
576 | ELSE | |
577 | SINTH0 = SQRT ( SINT02 ) | |
578 | UPRIME = SINTHE * COSPHI | |
579 | VPRIME = SINTHE * SINPHI | |
580 | COSPH0 = CXIMPC / SINTH0 | |
581 | SINPH0 = CYIMPC / SINTH0 | |
582 | PXNUCL (IKPMX) = ( UPRIME * COSPH0 * CZIMPC - VPRIME | |
583 | & * SINPH0 + COSTHE * CXIMPC ) * PNUCCO | |
584 | PYNUCL (IKPMX) = ( UPRIME * SINPH0 * CZIMPC + VPRIME | |
585 | & * COSPH0 + COSTHE * CYIMPC ) * PNUCCO | |
586 | PZNUCL (IKPMX) = ( - UPRIME * SINTH0 + COSTHE * CZIMPC ) | |
587 | & * PNUCCO | |
588 | END IF | |
589 | PNUCL (IKPMX) = PNUCCO | |
590 | XSTNUC (IKPMX) = XIMPTR | |
591 | YSTNUC (IKPMX) = YIMPTR | |
592 | ZSTNUC (IKPMX) = ZIMPTR | |
593 | RSTNUC (IKPMX) = ABS (RIMPTR) | |
594 | ENNUC (IKPMX) = EKECON + AM (KPNUC) | |
595 | EKFNUC (IKPMX) = -AINFNT | |
596 | GO TO 200 | |
597 | ELSE | |
598 | IF ( ( KPNUC .EQ. 1 .OR. KPNUC .EQ. 8 ) .AND. EKECON .LE. | |
599 | & ETHREI ) THEN | |
600 | KPNUCL (IKPMX) = - KPNUCL (IKPMX) | |
601 | ENNUC (IKPMX) = EKECON + AM (KPNUC) | |
602 | NPROT = NPROT + ICH (KPNUC) | |
603 | NNEUT = NNEUT + 1 - ICH (KPNUC) | |
604 | IF ( .NOT. LBCHCK .AND. IKPNWI .GT. 0 ) THEN | |
605 | LPRCYC = .TRUE. | |
606 | NNUCTS = NNUCTS + 1 | |
607 | INUCTS (NNUCTS) = IKPMX | |
608 | JNUCTS = NUSCIN | |
609 | EKFNUC (IKPMX) = EKFPRE | |
610 | ENNUC (IKPMX) = ENNUC (IKPMX) - BNDUSE + BNDGEN | |
611 | RSTNUC (IKPMX) = BNDGEN | |
612 | LPRCYC = .TRUE. | |
613 | ELSE | |
614 | EKFNUC (IKPMX) = -AINFNT | |
615 | IREINT = IREINT + 1 | |
616 | IF ( EKFREI .LT. ANGLGB ) THEN | |
617 | EKFREI = 0.5D+00 * ( EKFIMP + EKFPRO ) | |
618 | RHOREI = 0.5D+00 * ( RHOIMP + RHOIMT ) | |
619 | END IF | |
620 | LPRCYC = .FALSE. | |
621 | END IF | |
622 | GO TO 200 | |
623 | END IF | |
624 | LBIMPC = .FALSE. | |
625 | KPRIN = KPNUC | |
626 | KPNUCL (IKPMX) = 0 | |
627 | KRFLIN = KRFNUC (IKPMX) | |
628 | IF ( EKNNUC .NE. EKECON ) PNUCCO = SQRT ( EKNNUC * ( EKNNUC | |
629 | & + 2.D+00 * AM (KPRIN) ) ) | |
630 | CXIMPC = PXNUCL (IKPMX) / PNUCL (IKPMX) | |
631 | CYIMPC = PYNUCL (IKPMX) / PNUCL (IKPMX) | |
632 | CZIMPC = PZNUCL (IKPMX) / PNUCL (IKPMX) | |
633 | XSTNUC (IKPMX) = XIMPTR | |
634 | YSTNUC (IKPMX) = YIMPTR | |
635 | ZSTNUC (IKPMX) = ZIMPTR | |
636 | RSTNUC (IKPMX) = ABS (RIMPTR) | |
637 | GO TO 100 | |
638 | END IF | |
639 | END IF | |
640 | NEXPEM = 0 | |
641 | IF ( LGDHPR ) THEN | |
642 | LBCHCK = .TRUE. | |
643 | EKECON = EKE | |
644 | PNUCCO = PPROJ | |
645 | CALL BIMSEL ( KPROJ, TXX, TYY, TZZ, LBCHCK ) | |
646 | LELSTC = .FALSE. | |
647 | RHOIMP = 0.5D+00 * ( RHOIMP + RHOIMT ) | |
648 | EKFIMP = 0.5D+00 * ( EKFIMP + EKFPRO ) | |
649 | RHOMEM = RHOIMP | |
650 | EKFMEM = EKFIMP | |
651 | END IF | |
652 | * | |
653 | ANOW = BBRES | |
654 | ZNOW = ZZRES | |
655 | PXRES = PXORI | |
656 | PYRES = PYORI | |
657 | PZRES = PZORI | |
658 | PTRES = PTORI | |
659 | ERES = EKE + AM (KPROJ) + AMNTAR | |
660 | IF ( LGDHPR ) THEN | |
661 | IF ( KPROJ .EQ. 1 ) THEN | |
662 | NPROT = NPROT + 1 | |
663 | ELSE IF ( KPROJ .EQ. 8 ) THEN | |
664 | NNEUT = NNEUT + 1 | |
665 | END IF | |
666 | ACOLL = BBTAR - 1.D+00 | |
667 | IF ( KNUCIM .EQ. 1 ) THEN | |
668 | NPROT = NPROT + 1 | |
669 | ZCOLL = ZZTAR - 1.D+00 | |
670 | ELSE | |
671 | NNEUT = NNEUT + 1 | |
672 | ZCOLL = ZZTAR | |
673 | END IF | |
674 | NHOLE = NHOLE + 1 | |
675 | ELSE | |
676 | ACOLL = BBTAR - 1.D+00 | |
677 | IF ( KPROJ .EQ. 1 ) THEN | |
678 | NPROT = NPROT + 1 | |
679 | PRPONP = ZNOW / ( 3.D+00 * ANOW - 2.D+00 * ZNOW ) | |
680 | CALL GRNDM(RNDM,1) | |
681 | IF ( RNDM (1) .LT. PRPONP ) THEN | |
682 | NPROT = NPROT + 1 | |
683 | ZCOLL = ZZTAR - 1.D+00 | |
684 | IPRTYP = KPROJ * 10 + 1 | |
685 | ELSE | |
686 | NNEUT = NNEUT + 1 | |
687 | ZCOLL = ZZTAR | |
688 | IPRTYP = KPROJ * 10 + 8 | |
689 | END IF | |
690 | NHOLE = NHOLE + 1 | |
691 | ELSE IF ( KPROJ .EQ. 8 ) THEN | |
692 | NNEUT = NNEUT + 1 | |
693 | PRNONP = 3.D+00 * ZNOW / ( 2.D+00 * ZNOW + ANOW ) | |
694 | CALL GRNDM(RNDM,1) | |
695 | IF ( RNDM (1) .LT. PRNONP ) THEN | |
696 | NPROT = NPROT + 1 | |
697 | ZCOLL = ZZTAR - 1.D+00 | |
698 | IPRTYP = KPROJ * 10 + 1 | |
699 | ELSE | |
700 | NNEUT = NNEUT + 1 | |
701 | ZCOLL = ZZTAR | |
702 | IPRTYP = KPROJ * 10 + 8 | |
703 | END IF | |
704 | NHOLE = NHOLE + 1 | |
705 | ELSE | |
706 | STOP 'KPROJ' | |
707 | END IF | |
708 | END IF | |
709 | ICYCL = 0 | |
710 | LEMISS = .FALSE. | |
711 | 500 CONTINUE | |
712 | CALL PREPRE ( WEE, NNEUT, NPROT, NHOLE, ICYCL ) | |
713 | 530 CONTINUE | |
714 | IF ( IBRES .GT. 0 ) THEN | |
715 | EKR0 = ERES - AMNRES | |
716 | ATTNUM = ELBNDE (ICHTAR) - ELBNDE (ICRES) - EKR0 * ( AMMRES | |
717 | & - AMNRES ) / AMMRES | |
718 | ERES = ERES + AMMTAR - AMNTAR - ( ZZTAR - ZNOW ) * AMELEC | |
719 | & + ATTNUM | |
720 | EKRES = ERES - AMMRES | |
721 | ELSE | |
722 | AMMRES = 0.D+00 | |
723 | AMNRES = 0.D+00 | |
724 | ERES = 0.D+00 | |
725 | EKR0 = 0.D+00 | |
726 | EKRES = 0.D+00 | |
727 | TVTENT = 0.D+00 | |
728 | GO TO 600 | |
729 | END IF | |
730 | IF ( EKRES .LE. 0.D+00 ) THEN | |
731 | WRITE ( LUNERR,* )' Peanut: negative kinetic energy for', | |
732 | & ' the residual nucleus!!',ICRES,IBRES, | |
733 | & REAL (EKRES) | |
734 | IF ( EKRES .LT. -3.D-3 ) THEN | |
735 | LRESMP = .TRUE. | |
736 | RETURN | |
737 | END IF | |
738 | EKRES = 0.D+00 | |
739 | TVRECL = 0.D+00 | |
740 | AMSTAR = AMMRES | |
741 | TVCMS = 0.D+00 | |
742 | PTRES2 = 0.D+00 | |
743 | PXRES = 0.D+00 | |
744 | PYRES = 0.D+00 | |
745 | PZRES = 0.D+00 | |
746 | PTRES = 0.D+00 | |
747 | ELSE | |
748 | PTRES2 = PTRES * PTRES | |
749 | AMSTAR = ( ERES - PTRES ) * ( ERES + PTRES ) | |
750 | IF ( AMSTAR .GE. AMMRES**2 ) THEN | |
751 | AMSTAR = SQRT ( AMSTAR ) | |
752 | TVCMS = AMSTAR - AMMRES | |
753 | ELSE IF ( AMMRES**2 - AMSTAR .LT. 2.D+00 * AMSTAR * TVEPSI | |
754 | & ) THEN | |
755 | AMSTAR = AMMRES | |
756 | ERES = SQRT ( AMSTAR**2 + PTRES**2 ) | |
757 | TVCMS = 0.D+00 | |
758 | ELSE IF ( AMSTAR .LE. 0.D+00 ) THEN | |
759 | WRITE ( LUNERR,* )' Peanut: immaginary mass for', | |
760 | & ' the residual nucleus!!',ICRES,IBRES, | |
761 | & REAL (AMSTAR) | |
762 | LRESMP = .TRUE. | |
763 | RETURN | |
764 | ELSE | |
765 | AMSTAR = SQRT ( AMSTAR ) | |
766 | IF ( AMMRES - AMSTAR .LT. TVEPSI ) THEN | |
767 | AMSTAR = AMMRES | |
768 | TVCMS = 0.D+00 | |
769 | TVRECL = ERES - AMSTAR | |
770 | GO TO 550 | |
771 | END IF | |
772 | WRITE ( LUNERR,* )' Peanut: negative excitation energy for', | |
773 | & ' the residual nucleus!!',ICRES,IBRES, | |
774 | & REAL ( AMSTAR - AMMRES ) | |
775 | IF ( AMSTAR - AMMRES .LT. -3.D-3 ) THEN | |
776 | LRESMP = .TRUE. | |
777 | RETURN | |
778 | END IF | |
779 | AMSTAR = AMMRES | |
780 | TVCMS = 0.D+00 | |
781 | HELP = SQRT ( ( ERES - AMMRES ) * ( ERES + AMMRES ) ) | |
782 | & / PTRES | |
783 | PXRES = PXRES * HELP | |
784 | PYRES = PYRES * HELP | |
785 | PZRES = PZRES * HELP | |
786 | PTRES = PTRES * HELP | |
787 | END IF | |
788 | TVRECL = ERES - AMSTAR | |
789 | END IF | |
790 | 550 CONTINUE | |
791 | IF ( TVRECL .LT. 0.D+00 ) THEN | |
792 | TVRECL = 0.D+00 | |
793 | END IF | |
794 | TV = 0.D+00 | |
795 | EKRES = TVRECL | |
796 | 600 CONTINUE | |
797 | EOTEST = EOTEST - EINTR - ENUCR - EKR0 - AMNRES | |
798 | IF ( ABS (EOTEST) .GT. ETEPS ) THEN | |
799 | WRITE (LUNERR,*)' Peanut: eotest failure',EOTEST | |
800 | LRESMP = .TRUE. | |
801 | RETURN | |
802 | END IF | |
803 | IF ( IBRES .EQ. 0 ) RETURN | |
804 | EOTEST = ETTOT + AMMTAR - AMNTAR + ATTNUM | |
805 | IF ( KPROJ .EQ. 1 ) THEN | |
806 | EOTEST = EOTEST + AMHEAV (2) - AM (1) | |
807 | ELSE IF ( KPROJ .EQ. 8 ) THEN | |
808 | EOTEST = EOTEST + AMHEAV (1) - AM (8) | |
809 | ELSE | |
810 | EOTEST = EOTEST + ICH(KPROJ) * AMELEC | |
811 | END IF | |
812 | IF ( LEVPRT ) THEN | |
813 | CALL EVEVAP ( WEE ) | |
814 | IF ( LRESMP ) RETURN | |
815 | ELSE | |
816 | TVHEAV = 0.D+00 | |
817 | END IF | |
818 | DO 1000 KP = NP0+1,NP | |
819 | IF ( KPART (KP) .EQ. 1 ) THEN | |
820 | EOTEST = EOTEST - TKI (KP) - AMHEAV (2) | |
821 | IBTOT = IBTOT - 1 | |
822 | ICHTOT = ICHTOT - 1 | |
823 | ELSE IF ( KPART (KP) .EQ. 8 ) THEN | |
824 | EOTEST = EOTEST - TKI (KP) - AMHEAV (1) | |
825 | IBTOT = IBTOT - 1 | |
826 | ELSE | |
827 | EOTEST = EOTEST - TKI (KP) - AM (KPART(KP)) | |
828 | IBTOT = IBTOT - IBAR (KPART(KP)) | |
829 | ICHTOT = ICHTOT - ICH (KPART(KP)) | |
830 | END IF | |
831 | 1000 CONTINUE | |
832 | EOTEST = EOTEST - TVHEAV - IEVDEU * AMHEAV (3) | |
833 | & - IEVTRI * AMHEAV (4) | |
834 | & - IEV3HE * AMHEAV (5) | |
835 | & - IEV4HE * AMHEAV (6) | |
836 | & - AMMRES - TVRECL | |
837 | IBTOT = IBTOT - IEVDEU * 2 - IEVTRI * 3 - IEV3HE * 3 | |
838 | & - IEV4HE * 4 | |
839 | ICHTOT = ICHTOT - IEVDEU - IEVTRI - IEV3HE * 2 | |
840 | & - IEV4HE * 2 | |
841 | IF ( LRNFSS ) THEN | |
842 | IF ( LHEAVY ) THEN | |
843 | DO 2000 JP = 1, NPHEAV | |
844 | IF ( KHEAVY (JP) .GT. 6 ) THEN | |
845 | EOTEST = EOTEST - AMHEAV (JP) | |
846 | IBTOT = IBTOT - IBHEAV (KHEAVY(JP)) | |
847 | ICHTOT = ICHTOT - ICHEAV (KHEAVY(JP)) | |
848 | END IF | |
849 | 2000 CONTINUE | |
850 | ELSE | |
851 | DO 2100 JFISS = 1, NFISS | |
852 | IBHLP = NINT (ATFIS(JFISS)) | |
853 | IF ( IBHLP .GT. 0 ) THEN | |
854 | ICHLP = NINT (ZTFIS(JFISS)) | |
855 | EOTEST = EOTEST - 1.D-03 * AMTFIS (JFISS) | |
856 | IBTOT = IBTOT - IBHLP | |
857 | ICHTOT = ICHTOT - ICHLP | |
858 | END IF | |
859 | 2100 CONTINUE | |
860 | END IF | |
861 | END IF | |
862 | IF ( ABS (EOTEST) .GT. 1.D+3 * ETEPS ) THEN | |
863 | WRITE (LUNERR,*) | |
864 | & ' Peanut failure!!, Eotest,Ammres,Tvrecl,Ibres,Icres', | |
865 | & EOTEST,AMMRES,TVRECL,IBRES,ICRES | |
866 | END IF | |
867 | IF ( IBTOT .NE. IBRES .OR. ICHTOT .NE. ICRES ) THEN | |
868 | WRITE (LUNERR,*) | |
869 | & ' Peanut failure!!, Ichtot, Icres, Ibtot, Ibres', | |
870 | & ICHTOT, ICRES, IBTOT, IBRES | |
871 | END IF | |
872 | *=== End of subroutine peanut =========================================* | |
873 | RETURN | |
874 | END |