Two new methods for choosing inventory nuclides

This category replaces the missing input manual
Post Reply
User avatar
Tuomas Viitanen
Posts: 65
Joined: Thu Mar 25, 2010 1:50 pm
Security question 2: 0
Location: VTT Technical Research Centre of Finland, Espoo

Two new methods for choosing inventory nuclides

Post by Tuomas Viitanen » Tue Sep 11, 2012 9:51 am

Hello,

As many of you know, the depletion output includes many useful quantities such as spontaneous fission rate, decay heat production and radiotoxicity in the system being examined. The results are printed for material and system totals together with nuclide-wise values for nuclides in the inventory list (set inventory -option in Serpent input). In many cases the nuclides of interest can be easily chosen and manually written in Serpent input. However, problems emerge if the list of nuclides is either large or not known beforehand.

To increase the usability of Serpent, two new features for choosing the inventory nuclides have been implemented in Serpent 2.1.8. The top-N contributor property makes it possible to automatically include the most significant contributors of an output quantity to the list of inventory nuclides. The second new property involves a couple of hard-coded nuclide lists that were hand-picked from a few references. The lists can be used to include a large number of important nuclides in the list using only one keyword.

The top-N contributor property can be activated by typing

Code: Select all

set inventory top <N> <quantity> 
meaning that <N> most important contributor nuclides to the total value of <quantity> at all burnup steps will be included in the inventory. Supported values for <quantity> are
  • activity
    mass
    decheat (decay heat production)
    sf (spontaneous fission rate)
    ingtox (ingestion radiotoxicity)
    inhtox (inhalation radiotoxicity) and
    all (all of the above)
The hard-coded nuclide lists are simply keywords that are converted to a list of nuclides in the preprocessing phase. Thus, they are used just as if entering individual nuclides in the inventory list:

Code: Select all

set inventory <keyword>
Currently supported values for <keyword> are
  • accident (Nuclides with significant health impact and high migration probability in accident conditions [1])
    actinides (All actinides for which cross sections are available in the JEFF-3.1.1 library)
    all (All ~1500 nuclides)
    burnupcredit (Nuclides commonly considered in burnup credit criticality analyses for PWR fuels [2])
    cosi6 (Nuclides tracked by the COSI6 fuel scenario code [3])
    lanthanides (All lanthanides for which cross sections are available in the JEFF-3.1.1 library)
    longterm (Relevant radionuclides in long-term waste analyses [4])
    minoractinides (All minor actinides for which cross sections are available in the JEFF-3.1.1 library)
It should be noted that the different ways of defining the inventory can be mixed. For example, definition

Code: Select all

set inventory
922380
lanthanides
top 10 decheat
would include U-238, lanthanides and top-10 decay heat producers at each burnup step in the list of inventory nuclides.

-Tuomas

References

[1] OECD/NEA, “Chernobyl: Assessment of Radiological and Health Impact.“, http://www.oecd-nea.org/rp/chernobyl/c02.html
[2] “Spent Nuclear Fuel Assay Data for Isotopic Validation”, NEA/NSC/WPNCS/DOC(2011)5, OECD/NEA http://www.oecd-nea.org/science/wpncs/A ... _final.pdf
[3] Boucher, L., Meyer, M., “Manual utilisateur de COSI6 v.6.0.0 en anglais”, CEA, (2009)
[4] “The Identification of Radionuclides Relevant to Long-Term Waste Management in the United Kingdom”, Nirex Report no. N/105, (2004).

Alex
Posts: 1
Joined: Wed Oct 10, 2012 12:48 am
Security question 1: No
Security question 2: 92

Re: Two new methods for choosing inventory nuclides

Post by Alex » Wed Oct 10, 2012 1:21 am

Hi Tuomas,

As a goal of a full core PWR calculation with consecutive operating cycles, I need to extract the data of all available nuclides from the depletion files. For this reason, I used "set inventory all".
After analyzing the depletion files of the different operating cycles, I noticed that the numbers of nuclides included in the depletion files vary. In the first lifecycle the file lists 1168 nuclides and the file of the fifth lifecycle includes 1239 nuclides. For example, elements such as Na, Mg, Al, Si, Ti are missing.
Is there a reason for this? I thought that by usage of "all" the list would be everytime the same.

Thanks!

Alex

User avatar
Jaakko Leppänen
Site Admin
Posts: 2202
Joined: Thu Mar 18, 2010 10:43 pm
Security question 2: 0
Location: Espoo, Finland
Contact:

Re: Two new methods for choosing inventory nuclides

Post by Jaakko Leppänen » Wed Oct 10, 2012 9:46 am

Alex,

The data libraries include cross sections for about 400 nuclides and decay data for over 4000 (JEFF-3.1), and Serpent uses several cut-offs to decide which nuclides are included in the burnup calculation. If you start two calculations with different initial compositions, the set of nuclides will also be different because the cut-offs are applied differently. So the "set inventory all" option does include all available nuclides, the list of available nuclides is just different each time you run the calculation.

If you want to get the exact same nuclides in the output, you should have the same nuclides in the input. Try adding nuclides with zero concentration in the material cards. That should do the trick, because the code doesn't look at concentrations while applying the cut-offs on the transmutation and decay paths.
- Jaakko

jan.frybort
Posts: 69
Joined: Sun May 27, 2012 6:03 pm
Security question 1: No
Security question 2: 92

Re: Two new methods for choosing inventory nuclides

Post by jan.frybort » Tue Jul 29, 2014 4:27 pm

Hello,
I have trouble with keyword "actinides" in Serpent2.1.21. Serpent calculation fails with output:

Fatal error in function GetText:

Invalid pointer

Simulation aborted.

Best regards
Jan Frybort

User avatar
Jaakko Leppänen
Site Admin
Posts: 2202
Joined: Thu Mar 18, 2010 10:43 pm
Security question 2: 0
Location: Espoo, Finland
Contact:

Re: Two new methods for choosing inventory nuclides

Post by Jaakko Leppänen » Thu Jul 31, 2014 4:16 pm

It's a simple pointer error in subroutine processinventory.c. To fix it, change the code in lines 447-455 from:

Code: Select all

	  if (atol(GetText(loc0 + INVENTORY_PTR_ENTRY)) == 
	      (long)RDB[loc0 + INVENTORY_ZAI])
	    fprintf(out, " %s (%s)\n", GetText(loc0 + INVENTORY_PTR_ENTRY),
		    ZAItoIso((long)RDB[loc0 + INVENTORY_ZAI],1));
	  else
	    fprintf(out, " %s\n", GetText(loc0 + INVENTORY_PTR_ENTRY));
into:

Code: Select all

	  if ((long)RDB[loc0 + INVENTORY_PTR_ENTRY] < VALID_PTR)
	    fprintf(out, " %ld (%s)\n", (long)RDB[loc0 + INVENTORY_ZAI],
		    ZAItoIso((long)RDB[loc0 + INVENTORY_ZAI],1));
	  else if (atol(GetText(loc0 + INVENTORY_PTR_ENTRY)) == 
	      (long)RDB[loc0 + INVENTORY_ZAI])
	    fprintf(out, " %s (%s)\n", GetText(loc0 + INVENTORY_PTR_ENTRY),
		    ZAItoIso((long)RDB[loc0 + INVENTORY_ZAI],1));
	  else
	    fprintf(out, " %s\n", GetText(loc0 + INVENTORY_PTR_ENTRY));
- Jaakko

Peter Wolniewicz
Posts: 135
Joined: Mon Dec 13, 2010 5:50 pm

Re: Two new methods for choosing inventory nuclides

Post by Peter Wolniewicz » Mon Jan 11, 2016 4:10 pm

This feature of Serpent is superb!

Has any progress or changes been made regarding inventory capabilities (since Tuomas started the thread? ) :)

best regards,

Peter Wolniewicz

Peter Wolniewicz
Posts: 135
Joined: Mon Dec 13, 2010 5:50 pm

Re: Two new methods for choosing inventory nuclides

Post by Peter Wolniewicz » Mon Jan 11, 2016 4:20 pm

I have a suggestion,

Would it be possible to make a flag so that multiple dep.m files / extra matlab arrays are created if one would like to use

set inventory all

at the same time as

set inventory longterm

That way one could run a simulation were both "all" nuclides are printed while "longterm" nuclides are created in a separate file / variable.

Best regards

Peter Wolniewicz

User avatar
Jaakko Leppänen
Site Admin
Posts: 2202
Joined: Thu Mar 18, 2010 10:43 pm
Security question 2: 0
Location: Espoo, Finland
Contact:

Re: Two new methods for choosing inventory nuclides

Post by Jaakko Leppänen » Mon Jan 11, 2016 7:02 pm

You can edit the inventory list and run the calculation with "-rdep" command line option. This will produce a new _dep.m output file without running the actual calculation.
- Jaakko

aaronwb7
Posts: 8
Joined: Wed Sep 18, 2019 11:48 pm
Security question 1: No
Security question 2: 19

Re: Two new methods for choosing inventory nuclides

Post by aaronwb7 » Sun Oct 06, 2019 9:49 am

I'm having a problem with set inventory in Serpent 2.1.31
I'm trying to return just the a%, mdens, and masses of the top 1000 isotopes in several different materials but the command below is still giving me Activity, toxicity, etc. Is there a way to fix this because currently my _dep files are averaging about 500 mb and it would be nice to remove some unnecessary data. Thanks

Code: Select all

set inventory top 1000 mass

User avatar
Jaakko Leppänen
Site Admin
Posts: 2202
Joined: Thu Mar 18, 2010 10:43 pm
Security question 2: 0
Location: Espoo, Finland
Contact:

Re: Two new methods for choosing inventory nuclides

Post by Jaakko Leppänen » Sun Oct 06, 2019 10:58 am

This option affects only the nuclide list. The output parameters are always the same.
- Jaakko

Post Reply