Burnup Calculation Issues

Report any suspected bugs and unexpected behavior here
Post Reply
bherman
Posts: 30
Joined: Wed May 19, 2010 7:27 pm
Security question 2: 0
Location: Massachusetts Institute of Technology - Cambridge, MA

Burnup Calculation Issues

Post by bherman » Mon Jul 12, 2010 4:00 pm

Dear Jaakko,

I am currently trying to benchmark the burnup feature in SERPENT with MCNP5-BGCORE, performing a 3D burnup calculation on an assembly with 5 different axial zones. I have noticed some inconsistencies listed below:

1. Power Normalization: The manual mentions that this value should be in kW, but from my runs and source code it should be in W correct?

2. I set the printm option to 1, but I do not see any files in output from this option.

3. The variable BURN_FLUX always is the set as the power and is identical to the variable BURN_POWER. I am curious if this will have an effect on the depletion calculation.

I would like to know more about how you normalize the flux to power, I am having trouble following the source code. In addition, I placed detectors to tally the flux in each of the burnable materials and they are a factor of about 10^4 higher than my results from MCNP5-BGCORE. I was able to run the unresolved resonance sampling in mode 1 with the source code modification you suggested to get a good comparison. Both codes are using JEFF 3.1 library.

I have also upload some preliminary results from the benchmark: a Keff vs. Burnup comparison and Flux in Burnable regions vs. Burnup comparison. As you will see there is some interesting behavior in the keff plot. In the meantime I will try and run a finer burnup calculation to see if I get more insight into the sudden increase in keff.

Thank you,

Bryan
Attachments
Flux_Comparison.png
Flux_Comparison.png (42.96 KiB) Viewed 7503 times
Keff.png
Keff.png (27.21 KiB) Viewed 7503 times

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

Re: Burnup Calculation Issues

Post by Jaakko Leppänen » Mon Jul 12, 2010 6:43 pm

Bryan,

A few quick answers:

1 )Which input variable are you using for normalization? Is it power or power density? It is possible that the units are wrong in the manual.

2) I checked the source code and printing the material compositions is actually disabled when running parallel calculation. I have added a comment that the subroutine doesn't work with MPI, but right now I cannot figure out the reason. I'll check that later and get back to you.

3) There is an error in subroutine score.c. Look for line:

AddBuf(RES_BURN_FLUX, 0, flx*fisse, 1.0);

and replace it with:

AddBuf(RES_BURN_FLUX, 0, flx, 1.0);

That should fix the problem. I don't think the problem affects any other results. The value is calculated for information only.

I'll get back to you with the other questions. If you consistently get a difference of 10^4, then it could be a unit issue. The sudden jump in k-eff is something I haven't seen before. Which update are you using? Something may have been broken in one the latest updates. Meanwhile, could you send me the input by e-mail so that I could take a closer look?

Also, how do you run you problem? How many source neutrons, how many cycles, how many MPI tasks?
- Jaakko

bherman
Posts: 30
Joined: Wed May 19, 2010 7:27 pm
Security question 2: 0
Location: Massachusetts Institute of Technology - Cambridge, MA

Re: Burnup Calculation Issues

Post by bherman » Mon Jul 12, 2010 7:24 pm

Jaakko,

1) I originally used power density and the power, burnup, and EFPD all were consistent with my hand calculations. However, I also ran with power and noticed that my EFPD were off by a factor of 1000 when I used kW. An update to the manual to W would be the best.

I am using the latest version of SERPENT 1.1.12 with a minor change in the samplereaction.c source code for the unresolved region issue. I run the problem with MPICH2-1.2.1(mpirun -np 32 sss input), on 11 nodes, 2 procs on the master and 3 on the rest, so 32 tasks. I am running 60000 source neutrons and 500 cycles. I will send you my input file by email.

Thanks,

Bryan

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

Re: Burnup Calculation Issues

Post by Jaakko Leppänen » Tue Jul 13, 2010 1:33 pm

bherman wrote:Jaakko,
1) I originally used power density and the power, burnup, and EFPD all were consistent with my hand calculations. However, I also ran with power and noticed that my EFPD were off by a factor of 1000 when I used kW. An update to the manual to W would be the best.
It seems I have changed the value to W in Table 2.2, but in section 5.7 the manual says kW. I'll make the correction.
bherman wrote:I am using the latest version of SERPENT 1.1.12 with a minor change in the samplereaction.c source code for the unresolved region issue. I run the problem with MPICH2-1.2.1(mpirun -np 32 sss input), on 11 nodes, 2 procs on the master and 3 on the rest, so 32 tasks. I am running 60000 source neutrons and 500 cycles. I will send you my input file by email.
I started running the case with different ures options, and so far it seems that there is no increase in k-eff at 10 MWd/kgU if the probability table sampling is switched off (the other calculations are not there yet). Have you tried running the calculation without ures data?
- Jaakko

bherman
Posts: 30
Joined: Wed May 19, 2010 7:27 pm
Security question 2: 0
Location: Massachusetts Institute of Technology - Cambridge, MA

Re: Burnup Calculation Issues

Post by bherman » Tue Jul 13, 2010 3:11 pm

I did try switching it off when I was using ENDF7 cross section libraries, but I recently switched to JEFF 3.1 to get a good comparison with BGCORE. I have attached my results with the ENDF7 curves. It seems that when using ENDF7 no ures I still get a slight increase, however, when I put ures on in mode 1 the increase does not show up.

-Bryan
Attachments
Keff2.png
Keff2.png (37.92 KiB) Viewed 7494 times

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

Re: Burnup Calculation Issues

Post by Jaakko Leppänen » Tue Jul 13, 2010 7:01 pm

This is just another wild guess, but have you tried running the calculation without MPI? My single-processor test run without ures data using 500 cycles of 2000 source neutrons ended up with keff = 1.0515 at 45 MWd/kgU burnup, which is closer to your MCNP results. Also the shape of the curve is closer to the reference case, and without any strange oscillation.
- Jaakko

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

Re: Burnup Calculation Issues

Post by Jaakko Leppänen » Tue Jul 13, 2010 7:59 pm

I ran another test using the same input file, but this time with 4 mpi tasks. The results are consistent with the previous calculation, and they seem to be pretty close to your reference MCNP calculations as well.

One potential explanation could be that the random number generator fails when the number of MPI tasks is large. This has been an issue before (see item 15 in known issues), and a better random number generator is definitely on the "todo-list".

So my suggestion is that you try running the problematic cases (using less neutron histories to get the results faster) with a single processor and with only a few mpi tasks. If the single processor case fails, then the problem is somewhere else. If the mpi case fails, then the problem is probably in the mpi implementation, and if both runs produce good results, then the problem is most likely in the random number generator.
- Jaakko

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

Re: Burnup Calculation Issues

Post by Jaakko Leppänen » Wed Jul 14, 2010 3:37 pm

Bryan,

I found at least one bug in the coding. A reaction rate counter is reset inside an if-else structure related to MPI tasks. The routine works OK for a single processor calculation, but the counter is not properly set to zero for every MPI task if run in the parallel mode. There was a silmilar problem in the same routine that was fixed in an earlier update, but when I changed the way unresolved resonance cross sections are collected for burnup calculation, I made the same error in the new coding.

However, this bug is related to the spectrum method (xscalc 2). If you ran your calculation using mode 1, this should have no impact in the results.
- Jaakko

bherman
Posts: 30
Joined: Wed May 19, 2010 7:27 pm
Security question 2: 0
Location: Massachusetts Institute of Technology - Cambridge, MA

Re: Burnup Calculation Issues

Post by bherman » Fri Jul 16, 2010 3:01 pm

Jaakko,

Looks like you were right, a run with a single processor matches up very closely with my results from MCNP5-BGCORE and MCNP5-MCODE. I have attached a plot of the results showing BGCORE, MCODE, Serpent with 32 procs and Serpent with 1 proc. I am also currently running with 4 procs to see any differences.

- Bryan
Attachments
Keff3.png
Keff3.png (32.9 KiB) Viewed 7470 times

Post Reply