Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature: Cross section library for inegration tests and examples #88

Closed
yardasol opened this issue Dec 10, 2021 · 2 comments · Fixed by #90
Closed

Feature: Cross section library for inegration tests and examples #88

yardasol opened this issue Dec 10, 2021 · 2 comments · Fixed by #90

Comments

@yardasol
Copy link
Contributor

Background

SaltProc requires the fuel material file to have all burnable materials present in order to simulate online reprocessing and refueling. This means that any differences in notation to refer to a specific nuclide between cross section libraries would force the fuel material file to only be usable with a particular cross section library.

I encountered this exact behavior during investigation into #72. In short, the integration tests and examples use material files hardcoded specifically for a non-public version JEFF 3.1.2 cross section library. This version denotes metastable nuclides as xx3xx.xxc. For example, Ag-47at 900K is 47310.09c in the material file for the integration tests. This differs from the publicly available JEFF 3.1.2 library, which does not change the first digit in the mass number (Ag-47 at 900K would be denoted 47110.09c). My attempt to convert the material files used by the integration tests did not succeed, and required a nontrivial amount of processing on my end to get all the files in a form that Serpent could use.

Since the JEFF 3.1.2 library on our group Box folder uses the correct notation for the integration tests, I discussed with @munkm the possibility of allowing users to download it in #76, but we both ended up agreeing that this could get us into trouble.

Description of idea

We need to do something that enables our users to run the integration tests and examples with a cross section library that they can download themselves. Ideally, they won't have to do any processing either.

Modifying the material files for the integration tests to work with a publicly available cross section library that doesn't require processing by the user may be the best way to do this.

Additionally, we would need to add any nuclides present in the publicly available cross section library that are not present in our private version of JEFF 3.1.2 to the material files for the integration tests and examples.

We would also need to remove any nuclides present in our private version of JEFF 3.1.2 that are not present in the publicly available cross section library from the material files for the integration tests and examples.

Potential snags

Changing the notation of the metastable nuclides in the material files may also require changing the strings used to reference these nuclides in assert or similar statements in the source code for the integration tests.

Adding and removing nuclides from the material files could completely break the integration tests. If this is the case, we would need to use the publicly available version of JEFF 3.1.2 (linked above), and write a guide on how to process the .dir files and organize the .ACE files. Most likely this would require the user running scripts we provide to them (I wrote some when I was working on #72, so that part is mostly solved).

Honestly, the quickest and easiest thing do do would be to provide our version of JEFF 3.1.2 file directly to users, but again we could get in trouble for doing that.

If anyone has any bright ideas, they'd be much appreciated. @munkm @LukeSeifert @smpark7 @ZoeRichter @gwenchee @lkissin2 @abachma2

@yardasol
Copy link
Contributor Author

Update

It seems that denoting the first digit of A for metastable isotopes is assumed by Serpent 2:

The script assumes that nuclides in isomeric states are identified by setting the third digit in the ZA to 3 (e.g. 61348 for Pm-148m or 95342 for Am-242m). If other convention is used, the isomeric state number (5. entry) must be set manually.

I know that @andrewryh did processing on the publicly available JEFF 3.1.2 library in order to get it working in Serpent. If we cannot host this library, I think what we should write a guide on the necessary steps to process the publicly available library and provide scripts that automate this task.

@yardasol
Copy link
Contributor Author

I have written a script that will download the JEFF library, collect all the .dir files, and change the ZAI notation of metastable isotopes to the Serpent2 format. I just ran the integration tests with it and they both passed! I will be including this script, along with a brief guide on its purpose and usage, in PR #90

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant