Update on delayed/prompt neutrons detectors

Questions and discussion about applications, input, output and general user topics
mascovale
Posts: 23
Joined: Sat Nov 18, 2017 12:45 am
Security question 1: No
Security question 2: 72
Location: Virginia Tech Transport Theory Group (VT3G), Virginia Tech, Falls Church, VA

Update on delayed/prompt neutrons detectors

Post by mascovale » Tue Apr 03, 2018 7:39 am

Hi All,

as of Feb 17 2012 (see this discussion on the forum) Serpent was not able to discriminate between prompt and delayed neutrons in a detector calculation. Has this changed with the latest versions of Serpent? If yes, would ENDF's MT 455 work to tally delayed neutrons?

Thanks a lot,
Valerio Mascolino
Valerio Mascolino
PhD Candidate
Virginia Tech

Ville Valtavirta
Posts: 530
Joined: Fri Sep 07, 2012 1:43 pm
Security question 1: No
Security question 2: 92

Re: Update on delayed/prompt neutrons detectors

Post by Ville Valtavirta » Thu Apr 05, 2018 4:14 pm

I don't think that has changed.

What is it exactly that you would like to calculate?

-Ville

mascovale
Posts: 23
Joined: Sat Nov 18, 2017 12:45 am
Security question 1: No
Security question 2: 72
Location: Virginia Tech Transport Theory Group (VT3G), Virginia Tech, Falls Church, VA

Re: Update on delayed/prompt neutrons detectors

Post by mascovale » Thu Apr 05, 2018 10:03 pm

Hi Ville,

we have a Fission Matrix code called RAPID for which we are developing a time-dependent module based on the Transient Fission Matrix (TFM) methodology. To calculate coefficients, we use sets of Serpent fixed-source calculations and tally the number of fission neutrons generated in the various cells.

For example, the source is only located in cell i for each calculation, then fission neutrons are tallied with MT=-7 in every cell j but without following them (set nphys 0). Physically, these are the number of fission neutrons born in cell j for each neutron coming from cell i.

To run time-dependent calculations, we need to distinguish between prompt fission neutrons generated in cell j and delayed fission neutrons generated in cell j by a neutron coming from cell i. The way I did it so far was to run two separate calculations, one with set delnu 0 (hence getting only prompt neutrons) and one with set delnu 1 (hence getting ALL neutrons), and I would obtain the delayed fission neutrons by taking the difference.

However, as expected, since the delayed TFM coefficients are much smaller than the prompt, these differences have huge uncertainties (calculated as if the delnu 1 and delnu 0 calculations were independent). Not only that, but often they result in negative, hence unphysical values.

For this reason, I was wondering if it was possible to distinguish between prompt and delayed neutrons (e.g., with two different tallies) so that a) I wouldn't have unphysical values and the total number of fission neutrons would be preserved, and b) I would get smaller uncertainties than what I calculate via the difference.

Another alternative would be for me to multiply the coefficients by an average beta (for delayed) and (1-beta) (for prompt). However, this effect would not encompass the energy dependency of beta nor the actual contribution of different isotopes to the production of delayed.

I hope my explanation was clear enough.
Thanks a lot for the help!
Valerio Mascolino
PhD Candidate
Virginia Tech

Ville Valtavirta
Posts: 530
Joined: Fri Sep 07, 2012 1:43 pm
Security question 1: No
Security question 2: 92

Re: Update on delayed/prompt neutrons detectors

Post by Ville Valtavirta » Fri Apr 06, 2018 2:33 pm

Thank you,

that's quite clear. Do you also need to distinguish between detector responses caused by prompt and delayed neutrons? Or only between the prompt and delayed neutrons produced?

-Ville

mascovale
Posts: 23
Joined: Sat Nov 18, 2017 12:45 am
Security question 1: No
Security question 2: 72
Location: Virginia Tech Transport Theory Group (VT3G), Virginia Tech, Falls Church, VA

Re: Update on delayed/prompt neutrons detectors

Post by mascovale » Fri Apr 06, 2018 7:29 pm

Hi Ville,

only the produced ones, as only the fixed-source neutrons (from the input source definition) are going to cause fission since nphys is set to 0, hence I am not following the secondaries, I only need to count them.

The effect of prompt vs. delayed neutrons causing fission is implemented by setting the proper energy spectrum in each fixed source calculation in the methodology.

Thanks for the prompt response!
Valerio Mascolino
PhD Candidate
Virginia Tech

Ville Valtavirta
Posts: 530
Joined: Fri Sep 07, 2012 1:43 pm
Security question 1: No
Security question 2: 92

Re: Update on delayed/prompt neutrons detectors

Post by Ville Valtavirta » Mon Apr 09, 2018 1:37 pm

OK,

that's good. I think some source code level changes are required to tally the delayed neutron production. We'll try to figure out the best approach for your problem.

-Ville

mascovale
Posts: 23
Joined: Sat Nov 18, 2017 12:45 am
Security question 1: No
Security question 2: 72
Location: Virginia Tech Transport Theory Group (VT3G), Virginia Tech, Falls Church, VA

Re: Update on delayed/prompt neutrons detectors

Post by mascovale » Mon Apr 09, 2018 7:43 pm

Thanks a lot!

In the meanwhile I am "working around it" by defining a detector function with MT=-100 to have (nu_d*sigma_f) from ENDF as the function. It's not as elegant, but it should work.
Valerio Mascolino
PhD Candidate
Virginia Tech

Ville Valtavirta
Posts: 530
Joined: Fri Sep 07, 2012 1:43 pm
Security question 1: No
Security question 2: 92

Re: Update on delayed/prompt neutrons detectors

Post by Ville Valtavirta » Tue Apr 10, 2018 5:17 pm

That is a good approach,

you'll probably need to loop over all of the different fission reactions for the material in order to obtain an implicit estimate of the total delayed neutron production per one interaction in the material. Something similar is actually done in precdet.c, where the precursor production for each group is scored. It might be a good idea to look there to see how it is done.

An even more simple way to calculate the delayed neutron production would be to modify the subroutine interpolatenubar.c. The part from line 152 onwards subtracts the delayed nubar from the total nubar if delayed neutron emission is set off (with "set delnu 0"), you could modify it so that the total nubar is simply replaced with the delayed nubar in some cases (e.g. with "set delnu 0"). This would require either using two different code versions to calculate the prompt and delayed neutron productions or adding an additional input option to indicate that only the delayed nubar should be included.

-Ville

mascovale
Posts: 23
Joined: Sat Nov 18, 2017 12:45 am
Security question 1: No
Security question 2: 72
Location: Virginia Tech Transport Theory Group (VT3G), Virginia Tech, Falls Church, VA

Re: Update on delayed/prompt neutrons detectors

Post by mascovale » Tue Apr 10, 2018 7:36 pm

Thanks a lot Ville.

I am currently testing the detector functions: I have one detector function for each fissile isotope within the material. Each detector function is the product of energy-dependent nu_delayed*sigma_f times the atomic density of said isotope. The number of delayed neutrons produced should be the sum of these tallies.

As for your suggestions, I am going to test that next. I will try to add an option for the delnu card, setting it to -1 for example. If I understand correctly, I will substitute this line:

Code: Select all

nubar[n] = nubar[n] - dnubar[n]
with:

Code: Select all

if ((long)RDB[loc0 + NUBAR_DATA_TYPE] == -1) {
    nubar[n] = dnubar[n] 
} else {
    nubar[n] = nubar[n] - dnubar[n]
}
Valerio Mascolino
PhD Candidate
Virginia Tech

Ville Valtavirta
Posts: 530
Joined: Fri Sep 07, 2012 1:43 pm
Security question 1: No
Security question 2: 92

Re: Update on delayed/prompt neutrons detectors

Post by Ville Valtavirta » Wed Apr 11, 2018 11:11 am

Let's see,

the variable that indicates whether delayed neutrons should be included in the nubar or not is

Code: Select all

(long)RDB[DATA_USE_DELNU]
Currently it can contain values -1 (uninitialized), 0 (do not include delayed neutrons), 1 (include delayed neutrons) or 2 (include in total nubar, but not when sampling fission neutrons. Used when delayed neutrons are emitted from precursors in transients). You would probably want to use the value 3.

Code: Select all

(long)RDB[loc0 + NUBAR_DATA_TYPE]
simply indicates the data type for the nubar data in the ACE-file (polynomial or tabular).

You'll also need to notice the following things:

1. You'll need to change the delayed data processing for both polynomial and tabular formats (at lines 194 and 249 of interpolatenubar.c, respectively).
2. If (long)RDB[DATA_USE_DELNU] is something else than 0, the if-statement on l.156 of interpolatenubar.c will exit the subroutine before doing any treatment for the delayed nubar. You would need to modify that too.
3. If some reaction does not have any delayed nubar data, the if-statement on l.161 of interpolatenubar.c will exit the subroutine before doing any treatment for the delayed nubar. This will leave the total nubar in.
4. "set delnu" only accepts logical arguments (0/1/no/yes) as can be seen from l.8165 of readinput.c. You would have to change the TestParam call on that line to use PTYPE_INT instead of PTYPE_LOGICAL and set the minimum and maximum acceptable values. (examples can be found in other parameters in readinput.c).

-Ville

Post Reply