Fatal Error: Insufficient Buffer size

Questions and discussion about applications, input, output and general user topics
Post Reply
AshN
Posts: 8
Joined: Mon Mar 25, 2019 4:20 pm
Security question 1: No
Security question 2: 19

Fatal Error: Insufficient Buffer size

Post by AshN » Tue Feb 04, 2020 4:13 pm

Hi,
I am encountering a persistent error in Serpent transient simulation mode using fuel with Th-232 as fertile element. It seems the buffer size I provide is not sufficient, doesn't matter how big it is, so I was wondering if this could be some sort of a strange bug related to the specific nuclide, because if I replace Th-232 with U-238, I don't have any problems. I am suing the latest Serpent update 2.1.31. Any ideas what can I do to solve this issue? Thanks!

Input error:

Insufficient neutron buffer size, increase value of
parameter "nbuf" (currently set to 2000.0)

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

Re: Fatal Error: Insufficient Buffer size

Post by Jaakko Leppänen » Thu Feb 06, 2020 4:25 pm

Could you post the input here?
- Jaakko

AshN
Posts: 8
Joined: Mon Mar 25, 2019 4:20 pm
Security question 1: No
Security question 2: 19

Re: Fatal Error: Insufficient Buffer size

Post by AshN » Sun Feb 09, 2020 10:56 pm

Here it is

% --- Boundary of geometry:
surf 2 cuboid -204 204 -39 39 -7.8 258

surf 3 inf

% --- OpenFOAM mesh based geometry (universe 1, bg universe 2)
% Search mesh split condition is 5 cells
% Search mesh has maximum of two levels with maximum of 2^n
% cells per level

solid 3
"./type9.ifc"

% --- Air cell in universe 2 (background universe)

cell 11 2 air -3

% --- Geometry consists of mesh-based universe and background universe

cell 19 0 fill 1 -2


% --- Outside the geometry

cell 20 0 outside 2


%------- Setting material card for fuel -------------
% --- Fuel salt:
mat fuel -4.21 rgb 0 150 0
90232.81c 0.1965 % Th-232 mol fraction
92233.81c 0.02846 % U-233 mol fraction
9019.81c 0.3875 % F mol fraction
3007.81c 0.3874 % Li 7 mol fraction
3006.81c 0.0001 % Li 6 mol fraction
mat air 1E-18 rgb 200 250 200
2004.81c 1.0

%------reflective boundaries --------------------
set usym 0 3 2 0 0 0 11.25 1
% --- Set up time structures for simulation and detectors:
%-----Increase the precursor buffer size
set pbuf 2000
set nbuf 2000

% --- Set up time structures for simulation and detectors:
% --- 1 time interval for simulation (no population control)

tme simutime 2 1 0 0.1

% --- 20 time bins for detector

tme dettime 2 100 0 0.1
% --- Neutron population:


set nps 10000 100 simutime

set keff 1
%------Output after each 5 cycles
set outp 5

% --- Link source (use point-wise precursor tracking)

set dynsrc "./source" 1
% --- Set up detectors:

% --- Tally neutron population as a function of time

det FLUX n dr -15 void di dettime

% --- Tally fission energy deposition as a function of time

det POW n dr -8 void di dettime

% --- Save neutron and precursor source to "./source_end"-files

set savesrc "./source_end"

% --- Do not generate group constants

set gcu -1

% --- Do not use implicit capture, nxn, or fission

set impl 0 0 0

% --- Power level for normalization:

set power 187500000

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

Re: Fatal Error: Insufficient Buffer size

Post by Ville Valtavirta » Fri Feb 14, 2020 11:49 am

Hi,

a couple of things. Try adjusting your "set nps" card. Currently

Code: Select all

set nps 10000 100 simutime
gives you 10000 neutrons in total, divided into 100 batches i.e. 100 neutrons per batch. I would suggest having at least 10000 neutrons per batch to decrease the batch-to-batch variance:

Code: Select all

set nps 10000 1 simutime
If you want to increase the number of batches, you'll need to adjust the total also. Note that "set nps" works differently from "set pop" in this regard: http://serpent.vtt.fi/mediawiki/index.p ... al#set_nps

The main reason you are running out of neutron and/or precursor buffers is because so many new particles are produced before population control is applied. I would suggest adding more time-intervals to the "simutime" time-binning definition. I.e. modify it from

Code: Select all

 tme simutime 2 1 0 0.1
to

Code: Select all

 tme simutime 2 50 0 0.1
or similar. See http://serpent.vtt.fi/mediawiki/index.p ... inition.29

-Ville

AshN
Posts: 8
Joined: Mon Mar 25, 2019 4:20 pm
Security question 1: No
Security question 2: 19

Re: Fatal Error: Insufficient Buffer size

Post by AshN » Wed Feb 26, 2020 6:21 pm

Thanks for the reply, I tried to increase the number of the time intervals, but now my simulation just never ends (well, it eventually gets killed because I exceed the walltime while running on a cluster, but I tried to run it up to 10 hours which I think should have been sufficient to run at least some batches but nothing happens. I tried to debug the insufficient buffer size error and it appears the last thing I see in the log file before my job is terminated, is
resizedynsrc.c -->
Wlive 0.000000E+00
Wemit 9.867207E+02
Nlive 0
Nemit 1000
0 particles in banks
Nlive 0
Nemit 1000
<-- resizedynsrc.c
So I guess there are no particles left in the event bank, so obviously the simulation stops. Any ideas on how can I fix this? And why does this only happen with Th? Thanks in advance!

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

Re: Fatal Error: Insufficient Buffer size

Post by Ville Valtavirta » Thu Feb 27, 2020 2:25 pm

This printout is not really alarming.

Can you try simulating a single time-interval of a smaller length (e.g. 1e-5 seconds) and then slowly move to longer simulation times once everything works with a short time.

-Ville

AshN
Posts: 8
Joined: Mon Mar 25, 2019 4:20 pm
Security question 1: No
Security question 2: 19

Re: Fatal Error: Insufficient Buffer size

Post by AshN » Thu Feb 27, 2020 5:39 pm

Tried a smaller time step, seems to work! Thanks. Just one more question: when I was trying to debug this problem, I also tried to run the simulation without delayed neutrons (set delnu 0). It worked well, but what is curious, there is still a end.precpoints file and end source of precursors file and they're not empty. Is it just the static source distributions that gets re-written?

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

Re: Fatal Error: Insufficient Buffer size

Post by Ville Valtavirta » Mon Mar 09, 2020 10:47 am

Hi,

I think currently "set dynsrc" automatically switch the emission of delayed neutrons from precursors on so you will probably still have delayed neutrons and Serpent will still track the delayed neutron precursors that were present in the beginning of the simulation.

Currently using

Code: Select all

set dynsrc ...
set delnu 0
simply removes the delayed component from the nubar data, while linking the delayed neutron precursors from the pre-generated source files. You shouldn't thus get more delayed neutron precursors, but the old ones do not go anywhere (they do decay though).

I'll look into making this behavior more consistent in the future.

-Ville

Post Reply