svalinn / ALARA

Simulation of transmutation and decay in nuclear systems
Other
27 stars 20 forks source link

Using convert_lib to convert Vitamin-J+ (211) group data shows error #34

Open YuanHu-PKU-KIT opened 4 years ago

YuanHu-PKU-KIT commented 4 years ago

I'm tring to use convert_lib to convert Vitamin-J+ (211) group data, but it shows error as follow:

*** stack smashing detected ***: <unknown> terminated Aborted (core dumped)

I have located that this error occurs between binLib->close() function and gammaLib->close() function in ASCIILib.c, but I don't know how this error occurs and how to fix it. Please enlighten me if you have a clue about this.

gonuke commented 4 years ago

Thanks for reporting this. While I'm not sure exactly what is causing this problem, it is probably a good idea to check the format of the original file to ensure that it's still compatible with ALARA's parsers.

What is the format of this file?

YuanHu-PKU-KIT commented 4 years ago

The file is an eaf format data file of EAF2010 database. I also tried to convert the 175 group data (also eaf format), and it worked. But with the 211 group data, it will show error.

Here are the first 20 line of the file I used:

image

The input of converting data is: convert_lib eaflib alaralib EAF2010/eaf_n_gxs_211_flt_20100 EAF2010/eaf_dec_20100 EAF2010/eaf_2010_211

YuanHu-PKU-KIT commented 4 years ago

I changed the array length of follows: char emission[64]; -> char emission[128]; in ALARALib::appendIdx() function of ALARALib.c file char buffer[64]; -> char buffer[128]; in ALARALib::LibIdx::LibIdx() function of LibIdx.c file and it could convert the 211 group data and run activation calculations now.

gonuke commented 4 years ago

ALARA has not been tested with more recent versions of the EAF format libraries. I am interested in your experience with these results and encourage you to compare some sample results with this library and older libraries. @moatazharb had some experience with this here a few years ago

YuanHu-PKU-KIT commented 4 years ago

I try to calculate natural Iron @1g/cc activation under DONES neutron spectrum with ALARA and fispact2 based on EAF 2010 database. The ALARA results are around 10~20% lower than fispact2, and some isotopes are also missing in ALARA results. And I also found that the results of dose from ALARA are generally 1000 times lower than fispact. Is this normal?

gonuke commented 4 years ago

This may be due to the fact that the format of EAF 2010 libraries is not the same as the previous format and may not be compatible with ALARA. If you have information about the changes between these two libraries, we could consider updates to ALARA to support the newer EAF libraries.

YuanHu-PKU-KIT commented 4 years ago

The format of _fendlg-2.0175 and _eaf_n_gxs_211_flt20100 seems the same, expect the energy group change from 175 to 211. That's why I thought EAF 2010 library could be used directly.

This is the (n,γ) cross section for H1 in _fendlg-2.0175: image

This is the (n,γ) cross section for H1 in _eaf_n_gxs_211_flt20100: image

YuanHu-PKU-KIT commented 4 years ago

I have modified the code so that the cross section read from EAF format file will show in the output file, and the cross sections are the same as the cross sections in the file. So the cross section extraction should be no problem.

The output: image The first 12 cross section: image

gonuke commented 4 years ago

Do you get better results, matching your FISPACT calculations now? Please submit the code change as a PR if so.

gonuke commented 4 years ago

If not, then the problem may occur in some specific cross-sections in the file, and perhaps related to different reaction pathways that are available in newer versions of the cross-sections. I wish we had made an issue at the time. Do @moatazharb or @makeclean remember this better than me?

YuanHu-PKU-KIT commented 4 years ago

I checked again and I found I made a mistake about FISPACT calculation, I used wrong spectrum. I recalculated natural Iron @1g/cc activation based on the right spectrum with FISPACT, and the results show that ALARA results (both total activaty and total decay heat) are around 5~10% higher than FISPACT, which depends on the cooling time. I'm not sure if this result is acceptable. And still, some isotopes are missing in ALARA results. And I also found that the results of dose from ALARA are generally 1000 times lower than fispact. If the ALARA dose results time 1000, the results will also be around 5% higher than FISPACT. So is this mean that the ALARA dose results have a different unit instead of Sv/hr (the shown dose unit are Sv/h in both ALARA and FISPACT output) ? I changed a few about the code, but I don't know how to submit the code change as PR, I am new to github. I want to do more calculations to benchmark ALARA and FISPACT, maybe you expert could give me some advice?