tcut for slow simulations with a lot of scattering

Report all good and bad behavior here
Post Reply
M_GILL
Posts: 3
Joined: Mon Sep 22, 2014 3:12 pm
Security question 1: No
Security question 2: 92

tcut for slow simulations with a lot of scattering

Post by M_GILL » Tue Feb 21, 2017 5:35 am

Hello,

I'm modelling a DT generator in the center of a sub-critical assembly, trying to determine fuel enrichments for different k-eff values.

You can see the geometry in the image below. Everything is graphite, apart from the fuel and there is a big graphite reflector above and below the core. The reflector really prologues the run time, I assume this is due to the long diffusion length, with neutrons spend a lot of time scattering around the graphite reflectors before leakage/absorption.
file1.png
file1.png (5.71 KiB) Viewed 14731 times
As k-eff gets higher the simulation time takes longer and eventually fails (before k=0.97) quoting “Insufficient neutron buffer size.” If I increase nbuf the simulations run, but very slowly and the relative CPU usage is about 600% for -omp 10.

I have assumed that the time/memory issue is a result of neutrons scattering around the graphite reflector (the run time is substantially faster with a smaller reflector), so I’ve been messing with tcut (trial and error) to kill the neutrons scattering around in the reflector.

The results I've got seem counter intuitive. I assumed that, with a shorter cut off time, k-eff will be lower as neutrons in the reflector will be killed, artificially increasing leakage. But k-eff goes up with lower tcut values, see values below.

Fuel enrich tcut 1e-1 (k-eff) tcut 2e-1 (k-eff) tcut 3e-1 (k-eff) tcut 4e-1 (k-eff) tcut 5e-1 (k-eff) No tcut (k-eff)
1.1 9.74E-01 9.70E-01 9.68E-01 9.68E-01 9.66E-01 9.66E-01
1.11 9.78E-01 9.74E-01 9.72E-01 9.73E-01 9.69E-01 9.69E-01
1.12 9.82E-01 9.77E-01 9.75E-01 9.76E-01 FAIL FAIL
1.13 9.85E-01 9.81E-01 9.79E-01 9.79E-01 FAIL FAIL

I was wondering if there was an explanation for this effect (is it Serpent or is it me)?
Also, could you offer some guidance on whether I am taking the correct approach to solving my problem? I'm aiming to get a good result with a shorter run time.

Kind regards,
Matthew

M_GILL
Posts: 3
Joined: Mon Sep 22, 2014 3:12 pm
Security question 1: No
Security question 2: 92

Re: tcut for slow simulations with a lot of scattering

Post by M_GILL » Tue Feb 21, 2017 5:41 am

Apologies, the tabs were removed in my makeshift table, probably easier in csv format.

Fuel enrich,tcut 1e-1 (k-eff),tcut 2e-1 (k-eff),tcut 3e-1 (k-eff),tcut 4e-1 (k-eff),tcut 5e-1 (k-eff),No tcut (k-eff)
1.1,9.74E-01,9.70E-01,9.68E-01,9.68E-01,9.66E-01,9.66E-01
1.11,9.78E-01,9.74E-01,9.72E-01,9.73E-01,9.69E-01,9.69E-01
1.12,9.82E-01,9.77E-01,9.75E-01,9.76E-01,FAIL,FAIL
1.13,9.85E-01,9.81E-01,9.79E-01,9.79E-01,FAIL,FAIL

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

Re: tcut for slow simulations with a lot of scattering

Post by Ville Valtavirta » Tue Feb 21, 2017 2:51 pm

Hi Matthew,

I have some general comments on your problem.

1. I would imagine killing the neutrons in the reflector will have a significant effect on the results you are getting.

2. You can use time binning (see the option for set nps) in order to get population control applied to the neutron population to get a more constant simulation load, this should alleviate the problems with the neutron buffer size. With a small enough time binning you will be able to model even super prompt-critical systems without problems.

3. The external source simulation mode does not include delayed neutron emission by default, so you'll have to switch it on manually (set delnu 1).

4. In time-dependent / external source simulations one should be careful when talking about k-effective, which is a parameter existing only in the k-eigenvalue mode of the transport equation, which is solved in the criticality source mode. For this kind of simulations it is often better to first figure out what you want to calculate (fission neutron production rate / external source rate OR neutron production / neutron loss OR something else?) and then calculate it manually using detectors. I've included below descriptions of some of the estimates given out by Serpent in external source simulations and how they are calculated in external source simulations.

-Ville

ANA_KEFF = 1 - <wgt0>/(<wgt1> + <wgt0>)

<wgt0> is the weight of the initial source particles.

<wgt1> equals the weight of all fission neutrons produced during the simulation.

As you can see, this is limited to values < 1.0.

COL_KEFF = 1 - <wgt0>/(<nsf> + <wgt0>)

<wgt0> is as before

<nsf> is an estimate for the number of produced fission neutrons.

Again, the result is limited to values < 1.0.

IMP_KEFF and ABS_KEFF are the same estimate that are calculated by dividing the tallied fission neutron production with the tallied neutron loss (absorption + leakage).

ABS_KINF

Equal to IMP_KEFF, but the leakage term is dropped from the divisor.

ANA_EXT_K

(Neutron generation n+1 weight) / (Neutron generation n weight)

SRC_MULT = (<wgt1> + <wgt0>)/<wgt0>

where <wgt1> and <wgt0> are defined as previously.

M_GILL
Posts: 3
Joined: Mon Sep 22, 2014 3:12 pm
Security question 1: No
Security question 2: 92

Re: tcut for slow simulations with a lot of scattering

Post by M_GILL » Tue Apr 11, 2017 10:32 pm

Thanks to both of you, this was really helpful!

subterfug3x
Posts: 32
Joined: Thu Oct 04, 2018 7:53 am
Security question 1: No
Security question 2: 96
Location: Tomsk, Russia

Re: tcut for slow simulations with a lot of scattering

Post by subterfug3x » Wed Nov 20, 2019 6:09 am

Ville Valtavirta wrote:
Tue Feb 21, 2017 2:51 pm
3. The external source simulation mode does not include delayed neutron emission by default, so you'll have to switch it on manually (set delnu 1).

4. In time-dependent / external source simulations one should be careful when talking about k-effective, which is a parameter existing only in the k-eigenvalue mode of the transport equation, which is solved in the criticality source mode. For this kind of simulations it is often better to first figure out what you want to calculate (fission neutron production rate / external source rate OR neutron production / neutron loss OR something else?) and then calculate it manually using detectors. I've included below descriptions of some of the estimates given out by Serpent in external source simulations and how they are calculated in external source simulations.

-Ville

ANA_KEFF = 1 - <wgt0>/(<wgt1> + <wgt0>)

<wgt0> is the weight of the initial source particles.

<wgt1> equals the weight of all fission neutrons produced during the simulation.

As you can see, this is limited to values < 1.0.

COL_KEFF = 1 - <wgt0>/(<nsf> + <wgt0>)

<wgt0> is as before

<nsf> is an estimate for the number of produced fission neutrons.

Again, the result is limited to values < 1.0.

IMP_KEFF and ABS_KEFF are the same estimate that are calculated by dividing the tallied fission neutron production with the tallied neutron loss (absorption + leakage).

ABS_KINF

Equal to IMP_KEFF, but the leakage term is dropped from the divisor.

ANA_EXT_K

(Neutron generation n+1 weight) / (Neutron generation n weight)

SRC_MULT = (<wgt1> + <wgt0>)/<wgt0>

where <wgt1> and <wgt0> are defined as previously.
1) Could You explain please, why ANA_EXT_K variable in .res file for my case consist of 20 values? Where can I find the description of each value in this variable.

upd. I Found some info from forum. So I'd like to left it in the my post:
Ville Valtavirta wrote:
Wed Nov 22, 2017 6:39 pm
The different values are for different generations:

The first value is W_{gen. 1}/W_{gen. 0}, i.e. the weight of the first produced neutron generation divided by the initial source weight.
The third value is W_{gen. 2}/W_{gen. 1} i.e. the weight of the second produced neutron generation divided by the weight of the weight of the first produced neutron generation.
Etc. all the way to W_{gen. 10}/W_{gen. 9}

-Ville
Jaakko Leppänen wrote:
Fri Jun 15, 2012 12:09 pm
Also the definition of k-eff is a bit different in external and criticality source modes. In criticality souce mode, k-eff is the eigenvalue of the calculation, and it also represents neutron balance (ratio of source and loss terms). In external source mode, k-eff is the multiplication factor of the source. The total number of neutrons N generated by source S is given by:

N = S + S*k0 + S*k0*k1 + S*k0*k1*k2 +...

If it is assumed that k0 = k1 = k2 = ... = k, the total number of neutrons is given by:

N = S/(1 - k)

The k in this formula is what Serpent calculates as ANA_KEFF in external source mode. Generally the assumption that all k's are equal does not hold, especially if the source produces neutrons at high energy. For this reason Serpent also calculates the first 5 multiplication factors (variable ABS_EXT_K). The first value, k0, is the source multiplication factor that is printed in the output during the simulation.
2). So how one can control neutron generations? How to increase number of simulated k0,k1...ki neutron generations in one task?

Am I right that the last ANA_EXT_K W_{gen. 10}/W_{gen. 9} is the most correct value of k_source in comparison to k_eff in k-eigenvalue simulation in the same system?

Am I right that in external source mode ANA_KEFF value is something like the average value of ANA_EXT_K values of different neutron generations?

For example, I have a matrix of ANA_EXT_K values:

Code: Select all

4.51199E-01 0.00293
8.94881E-01 0.00142
9.43648E-01 0.00289
9.51087E-01 0.00212
9.50548E-01 0.00307
9.52059E-01 0.00522
9.45784E-01 0.00209
9.44578E-01 0.00355
9.45190E-01 0.00447
9.52946E-01 0.00303
The average of ANA_EXT_K is about 0.893 and the ANA_KEFF from this task is about 0.892. Pretty close values.

2) What the physical meaning and mathematical approach to PROMPT_CHAIN_LENGTH variable?

3) Is there is some variable(s) that describe Importance of the 3.a) external source and 3.b) fission neutrons to fission reaction rate



Now I see a solution to my problem with hybrid external source-subcritical blanket, but it nessescary to increase the i of ki factors from N = S + S*k0 + S*k0*k1 + S*k0*k1*k2 +... to reach something like the steady-state system with external source in which neutrons will multiplicate with correct k. Am I right?
- Igor

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: tcut for slow simulations with a lot of scattering

Post by Jaakko Leppänen » Wed Nov 20, 2019 7:05 pm

The number of generation-wise multiplication factors is fixed to 10, but you can change the hard coded value by editing MAX_EXT_K_GEN in header.h.

Neutron multiplication in sub-critical external source simulation is written as:

N = N0 + N0*k1 + N0*k1*k2 + N0*k1*k2*k3 ...

k1, k2, k3 ... are the values in ANA_EXT_K.

The ANA_KEFF in external source simulation is calculated by assuming that k1 = k2 = k3 = ... = k, in which case the series converges into:

N = N0*/(1 - k) --> k = 1 - N/N0

So it's not exactly the average of ANA_EXT_K, but a value that approximates the total multiplication.
- Jaakko

Post Reply