ncrystal icon indicating copy to clipboard operation
ncrystal copied to clipboard

Write ENDF format

Open dddijulio opened this issue 2 years ago • 12 comments

Add feature to output ENDF format.

dddijulio avatar May 25 '23 14:05 dddijulio

From the discussion in the school, it might be useful to use FUDGE to generate data. FUDGE provides an API to write nuclear data in the Generalized Nuclear Data format, and tools to export to ENDF-6. This is the definition of the format, although it was recently updated to version 2.0.

marquezj avatar May 26 '23 13:05 marquezj

There were significant changes from GNDS-1.9 to GNDS-2.0. I strongly encourage to go straight to the 2.0 version. The documentation and definitions are in a NEA document that is currently in press. As soon as it's out I can post here. In the meantime, if you want to have a sneak peek, please contact me and I can share it privately.

gpanobre avatar May 26 '23 13:05 gpanobre

Just for my information, how large is the number of people using ENDF6 versus GNDS currently?

tkittel avatar May 29 '23 09:05 tkittel

I'm looking at the documentation for v1.9. In addition to generating ENDF files, it has a MonteCarlo_cdf style type. Anyone is using it directly in a transport code for fast neutrons?

xxcai1 avatar May 29 '23 09:05 xxcai1

@tkittel : as far as I know: ENDF-6 is the current established format, and GNDS is being proposed. GNDS has the advantage of including new physics (ENDF-6 is quite limited).

If we want to go directly to ENDF-6 now, an alternative package is ENDFtk. Pyne and openmc.data read but do not write ENDF-6 files.

marquezj avatar May 29 '23 09:05 marquezj

Thanks @marquezj that is what I thought. So I imagine if we are providing the "ncmat2x" feature as a short-term service to an existing community not able to directly use NCrystal, it makes most sense if x==ENDF6. Of course, if it is easy to support GNDS as well, I don't have any problem with also supporting that.

In any case, I'll be happy to help with the "get data out of ncrystal" part, and will be 100% relying on volunteers for the "to x" part :-)

tkittel avatar May 29 '23 09:05 tkittel

Yes, we have all the information there already. Most of it explicitly, and then NCrystal.vdos.analyseVDOS() gives the Teff. We also have the algorithm from NJOY+NCrystal to decide what we put in the ENDF-6 file (how to separate the components, how to fit the constrains of the format). So the only missing piece is a reliable converter.

marquezj avatar May 29 '23 11:05 marquezj

Slightly off-topic, but @marquezj there is even a method directly on the dyninfo object, so you don't have to worry about transferring the correct parameters to NCrystal.vdos.analyseVDOS():

image

tkittel avatar May 30 '23 06:05 tkittel

Great, that is handy!

marquezj avatar May 30 '23 07:05 marquezj

Hi Thomas and all,

Just complementing a bit Ignacio's comment: Yes, ENDF-6 is the established format and if you want to reach a broader range of users you can't avoid generating ENDF-6 formatted files. Just keep in mind that, for the uninitiated, the ENDF-6 format can be quite daunting. So you will have to decide what makes more sense to you, understanding the ENDF-6 format so you can directly output in that format, or starting with a more modern format, GNDS, and use things like FUDGE to do one-to-one translations to ENDF. ENDF-6 is still supported and will still be fully supported for quite a while, but the next release of ENDF/B, version VIII.1, will be officially released in both ENDF-6 and GNDS, and more and more evaluation and processing codes are building now interfaces to operate directly in GNDS. For more detailed questions feel free to reach out to Caleb Mattoon (LLNL) and Dave Brown (BNL)

gpanobre avatar May 31 '23 15:05 gpanobre

Xiao Xiao, I know the Livermore folks use MCGIDI and GIDI+ as event generators and they "speak" ENDF-6 and GNDS. You should probably contact Caleb Mattoon and Bret Beck (LLNL) on that.

gpanobre avatar May 31 '23 15:05 gpanobre

Related to #183

tkittel avatar Sep 25 '24 07:09 tkittel