cross sections from burnup and detector do not match

Questions and discussion about applications, input, output and general user topics

cross sections from burnup and detector do not match

Postby aleja311 » Wed Aug 07, 2013 11:27 am

Hello, I am having some trouble figuring out why I am getting such different results regarding cross sections created from detectors and those that are in the depletion output.
I am doing parametric studies on a fast reactor transurnamic core and have to calculate the conversion ratio defined as the ratio of the capture cross section of U238 over the fission cross section of TRU.
At first I calculated this by taking the the micro capture XS of U238 times the atomic density from the depletion output at the beginning of life and dividing it by the sum of each TRU isotope fission micro cross section times its corresponding atomic density. This method gave me reasonable results.
Now I tried doing the exact same thing using detectors in the input without having to deplete the reactor. However I am getting some strange results.
Just like it was discussed in a much older post, I created materials for each of the TRU isotopes in the fuel. Since I wanted macro cross sections I included the atomic density of the isotope that is defined in the fuel region. For example with plutonium:
mat Pu239 atomic density 92239.12c 1.0
Then I created a detector to calculate the integral flux such as:
det 1 dm core
And with that I could create a detector that would get the fission reaction rate and divide it by the flux from detector 1 to obtain the macro cross section of Pu239:
det 2 dm core dr -6 Pu239 dt 3 1
I was pretty sure I did this correctly. However the cross sections (once the micro is multiplied by the atom density in the depletion output) do not seem to agree ever so slightly. For example with Pu239, the detector gives me a fission cross section of 5.34502E+00 while the burnup depletion file macro cross section is 0.0025.
The conversion ratio using detectors is way off at about 2% as opposed to 39% when depletion information was used.
What is going on? I do not understand how this could be so off.
Please help! I can also send my input if necessary.

Thank you!
Alejandra
aleja311
 
Posts: 10
Joined: Tue Jun 04, 2013 10:29 am

Re: cross sections from burnup and detector do not match

Postby Jaakko Leppänen » Sat Aug 10, 2013 12:32 pm

To me it seems that you are doing everything right. A few potential things to check are that material "core" is the same as the one you are depleting (i.e. that the detector integrates over the correct region) and that the density in material Pu239 is the same as that in the depletion output, and entered as a positive number (negative entry would make it mass density).

Another thing to check is to use reaction mt 18 instead of -6:

Code: Select all
det 2 dm core dr 18 Pu239 dt 3 1


This should give you the microscopic cross section of Pu-239, which should match the value given in the depletion output. Also, this result should match the result using response function -6 if you set the density of Pu239 to 1.
- Jaakko
User avatar
Jaakko Leppänen
Site Admin
 
Posts: 1971
Joined: Thu Mar 18, 2010 10:43 pm
Location: Espoo, Finland

Re: cross sections from burnup and detector do not match

Postby aleja311 » Sun Aug 11, 2013 3:34 am

I've tried everything you suggested already and I'm still having issues. The atomic densities do agree.
I am emailing you my input because I really do not see what is wrong.
Thank you so much.
aleja311
 
Posts: 10
Joined: Tue Jun 04, 2013 10:29 am

Re: cross sections from burnup and detector do not match

Postby Jaakko Leppänen » Sun Aug 11, 2013 11:33 am

There's definitely a bug in Serpent 1.1.19. When I commented out the three surface current detectors, the results of other detectors changed by orders of magnitude. Could you try the same and see if your results match the calculation using values from the depletion output?
- Jaakko
User avatar
Jaakko Leppänen
Site Admin
 
Posts: 1971
Joined: Thu Mar 18, 2010 10:43 pm
Location: Espoo, Finland

Re: cross sections from burnup and detector do not match

Postby Jaakko Leppänen » Sun Aug 11, 2013 11:54 am

I don't see the same problem with Serpent 2, but for some reason the results are a factor of 1000 smaller (the numerical value is the same).
- Jaakko
User avatar
Jaakko Leppänen
Site Admin
 
Posts: 1971
Joined: Thu Mar 18, 2010 10:43 pm
Location: Espoo, Finland

Re: cross sections from burnup and detector do not match

Postby aleja311 » Mon Aug 12, 2013 2:27 am

Ah, thank you for the suggestion. I also commented out the surface current detectors and the cross sections match those found in the depletion output.
I am guessing that if I want to get correct results I must comment out the surface detectors.

I have not tried it in Serpent 2, however. When I tried running Serpent 2 in the past I got an error specifying something was wrong with the depletion part of my input. I am guessing it is not the same as Serpent 1?
Anyways, is the order of magnitude from Serpent 2 cross sections wrong? If the surface detectors are commented out from the input does that problem also go away?

Thank you again for all your help and response to my numerous quetions.
aleja311
 
Posts: 10
Joined: Tue Jun 04, 2013 10:29 am

Re: cross sections from burnup and detector do not match

Postby Jaakko Leppänen » Mon Aug 12, 2013 11:01 am

I haven't had the time to look at this problem in detail yet. When it comes to depletion, Serpent 2 should match Serpent 1 for both input and output.
- Jaakko
User avatar
Jaakko Leppänen
Site Admin
 
Posts: 1971
Joined: Thu Mar 18, 2010 10:43 pm
Location: Espoo, Finland

Re: cross sections from burnup and detector do not match

Postby Jaakko Leppänen » Tue Aug 13, 2013 5:19 pm

To fix the problem in Serpent 1, add new variable of type double "g" in scoredetectors.c, and change the if-branch between lines 60 and 69 from:

Code: Select all
         if ((f = CurrentDet(det, nn, x, y, z, u, v, w)) != 0.0)
      {
        /* Get bin index */

        bin = GetDetBin(det, 0, 0, 0, ebin, 0, 0, 0, 0, 0);

        /* Score current */

        AddBuf(-sta, bin, f, wgt);
      }

to:

Code: Select all
         if ((g = CurrentDet(det, nn, x, y, z, u, v, w)) != 0.0)
      {
        /* Get bin index */

        bin = GetDetBin(det, 0, 0, 0, ebin, 0, 0, 0, 0, 0);

        /* Score current */

        AddBuf(-sta, bin, g, wgt);
      }

i.e. change f to g.
- Jaakko
User avatar
Jaakko Leppänen
Site Admin
 
Posts: 1971
Joined: Thu Mar 18, 2010 10:43 pm
Location: Espoo, Finland

Re: cross sections from burnup and detector do not match

Postby Jaakko Leppänen » Tue Aug 13, 2013 5:48 pm

To fix the (completely unrelated) problem in Serpent 2, change lines 182-185 in collectdet.c from:

Code: Select all
         if (type == 2)
      mul = BufVal(ptr, idx0);
         else
      div = div*BufVal(ptr, idx0);

to:

Code: Select all
         if (type == 2)
      mul = norm*BufVal(ptr, idx0);
         else
      div = norm*div*BufVal(ptr, idx0);
- Jaakko
User avatar
Jaakko Leppänen
Site Admin
 
Posts: 1971
Joined: Thu Mar 18, 2010 10:43 pm
Location: Espoo, Finland

Re: cross sections from burnup and detector do not match

Postby aleja311 » Tue Aug 20, 2013 1:34 am

Jaakko,

I apologized I have not looked at the forum in a few days.
Wow, thank you so much for replying. I will implement these changes on both versions.
This does resolve the issue of having to run two different inputs to obtain the surface current and cross sections so again thanks for taking the time to resolve this.

I have not tried Serpent 2 yet but if I do run into issues I will be sure to post!
aleja311
 
Posts: 10
Joined: Tue Jun 04, 2013 10:29 am


Return to Users

Who is online

Users browsing this forum: No registered users and 2 guests

cron