njoy / NJOY2016

Nuclear data processing with legacy NJOY
https://www.njoy21.io/NJOY2016
Other
95 stars 82 forks source link

Problem processing H2 from JEF 2.2 #125

Open paulromano opened 5 years ago

paulromano commented 5 years ago

I ran into a problem trying to process H2 from the JEF 2.2 library. Here's my input file:

reconr /
20 21
'JEFF-22.0 PENDF for   1-H -  2 '/
128 2/
0.001/ err
'JEFF-22.0:   1-H -  2 '/
'Processed by NJOY'/
0/
broadr /
20 21 22
128 1 0 0 0. /
0.001/ errthn
293.6
0/
heatr /
20 22 23 /
128 3 /
302 402 444 /
gaspr /
20 23 24 /
acer /
20 24 0 25 26
1 0 1 .01 /
'JEFF-22.0:   1-H -  2  at 293.6'/
128 293.6
1 1/
/
stop

And the ENDF tape is from here. Running NJOY2016 master branch gives:

 njoy 2016.49  25Jan19                                       03/11/19 12:58:44
 *****************************************************************************

 reconr...                                                                0.0s

 broadr...                                                                0.1s

 heatr...                                                                 0.2s

 ---message from hinit---mf6, mt 16 does not give recoil za=  1001
                          one-particle recoil approx. used.

 gaspr...                                                                 0.3s

 acer...                                                                  0.3s

 ***error in findf*** mat 128 mf 3 mt 16 not on tape  24

The error is strange because when I look at tape 24, lo and behold MF3 MT16 is there. If I remove GASPR from the run, it completes successfully. Getting a backtrace at the point of error gives:

#0  0x1512885ca2da in ???
#1  0x151288b8e173 in __endf_MOD_findf
    at /home/romano/codes/NJOY2016/src/endf.f90:1585
#2  0x151288abf74c in first
    at /home/romano/codes/NJOY2016/src/acefc.f90:616
#3  0x151288ac2245 in __acefc_MOD_acetop
    at /home/romano/codes/NJOY2016/src/acefc.f90:155
#4  0x151288b09032 in __acem_MOD_acer
    at /home/romano/codes/NJOY2016/src/acer.f90:424
#5  0x55991268a129 in njoy
    at /home/romano/codes/NJOY2016/src/main.f90:238
#6  0x55991268a326 in main
    at /home/romano/codes/NJOY2016/src/main.f90:112
paulromano commented 5 years ago

I'm seeing similar problems with other files from JEF2.2 as well. For example, for Na22, I get an error about not being about to find MF=3, MT=22 when running HEATR.

jlconlin commented 5 years ago

@paulromano Thanks for reporting this issue. We will hopefully get a chance to look at this later this week or early next week.

whaeck commented 5 years ago

@paulromano This looks like another interesting case. When I cut MAT128 from the JEF 2.2 tape, it processes without a problem: h2-jeff2.endf.txt

When I use tape1.asc I get the error you describe.

More fun with findf I presume ...

whaeck commented 5 years ago

Looks like a GASPR problem. When I run using the tape1.asc file, tape24 only contains MT204 while using the single material tape, tape 24 has only 203 and 205.

whaeck commented 5 years ago

@paulromano GASPR appears to read the ZA and AWR from the first material in the ENDF file. As a result, the ZA is set to 1001 from the start instead of 1002 if you use the tape1.asc file. However, if you use a single material tape, you get ZA=1002.

Unfortunately, this is not the only thing that GASPR reads from the first material. It also checks the incident particle but also whether or not there is an MF5. I'll have to change the code so that GASPR first read the MAT number from the PENDF file and then use findf on the ENDF tape to find the proper material before doing anything else.

whaeck commented 5 years ago

And it also uses the MAT number from the first material on the tape. Sigh ...

jchsublet commented 4 years ago

First use moder to extract, select a single evaluation from a tape, tape1.asc unit 20, then whatever

moder/ 1 21 'H2 jef22' 20 128 0/

Those old tape have not been assembled properly.