Difference between revisions of "Sensitivity calculations"

From Serpent Wiki
Jump to: navigation, search
(Additional options)
(Output)
Line 178: Line 178:
  
 
== Output ==
 
== Output ==
 +
 +
The output of the sensitivity calculations is written into a MATLAB/OCTAVE readable file <tt>[input]_sens.m</tt>
 +
 +
=== Common parameters ===
 +
 +
{|class="wikitable" style="text-align: left;"
 +
! Parameter
 +
! Size
 +
! Description
 +
|- 
 +
| SENS_N_MAT
 +
| 1
 +
| Number of perturbed materials.
 +
|- 
 +
| SENS_N_ZAI
 +
| 1
 +
| Number of perturbed nuclides (ZAIs).
 +
|- 
 +
| SENS_N_PERT
 +
| 1
 +
| Number of different perturbation types (cross sections, fission spectra etc.).
 +
|- 
 +
| SENS_N_ENE
 +
| 1
 +
| Number of energy bins used for tallying the sensitivities.
 +
|-
 +
| SENS_MAT_LIST
 +
| ''SENS_N_MAT'' strings
 +
| Array of names for the perturbed materials.
 +
|-
 +
| SENS_ZAI_LIST
 +
| ''SENS_N_ZAI''
 +
| Array of ZAI numbers for the perturbed nuclides.
 +
|-
 +
| SENS_PERT_LIST
 +
| ''SENS_N_PERT''  strings
 +
| Array of names for the perturbation types.
 +
|-
 +
| SENS_E
 +
| ''SENS_N_ENE'' + 1
 +
| Bin boundaries for the energy grid used for tallying the sensitivities.
 +
|-
 +
| SENS_LETHARGY_WIDTHS
 +
| ''SENS_N_ENE''
 +
| Lethargy widths of the energy bins. Lethargy at the maximum energy bin boundary is 0.
 +
|-
 +
}
  
 
== Examples ==
 
== Examples ==

Revision as of 14:17, 31 May 2017

Serpent relies on the collision history based first order GPT equivalent implementation[1] to calculate sensitivities of various responses to various perturbations. As a simple example, the sensitivity of the effective multiplication factor to the different nuclear cross sections can be calculated.

Implementation

Input

Adding a response

Basic responses

Basic responses can be set up with the syntax

sens resp NAME FLAG

Where the different response names and flags are as follows

NAME explanation of NAME FLAG explanation of FLAG
keff sensitivity of effective multiplication factor to perturbation 0/1 OFF/ON
beff sensitivity of effective delayed neutron fraction to perturbation 0/1 OFF/ON
leff sensitivity of effective prompt generation time to perturbation 0/1 OFF/ON

Omitting (or forgetting) the flag from the definition, will turn the response on by default.

Reaction rate ratios

Sensitivities of reaction rate ratios to perturbations can be set up to be calculated with

sens resp detratio NAME DET1 DET2

Where the paramters are:

NAME : the name of the response. Will be used in output.
DET1 : Name of the numerator detector, i.e. the one whose reaction rate is being divided.
DET2 : Name of the denominator detector, i.e. the one whose reaction rate is the dividing value.

The two detectors have to be set up separately in normal Serpent fashion.

Notes:

  • Currently, each detector can have only one bin.
  • Currently, only the indirect effect of the perturbation is calculated and the direct effect must be calculated separately and added to the result.

Adding a perturbation

sens pert NAME FLAG

Where the different perturbation names and flags are as follows

NAME explanation of NAME FLAG explanation of FLAG
xs perturbation of basic cross sections 0/1 OFF/ON
chi perturbation of fission spectrum 0/1 OFF/ON
nubar perturbation of fission nubar 0/1 OFF/ON
eleg perturbation of Legendre moments of
elastic scattering angular distribution
0/1/2/3/4/5/6/7 Number of Legendre moments to perturb.

Omitting (or forgetting) the flag from the definition will turn the perturbation on by default. The default number of Legendre moments to include is 3.

Choosing nuclides to perturb

The perturbed nuclides can be specified by giving a list of the ZAI-numbers to include

sens pert zailist ZAI1 ZAI2 ... 

for example

sens pert zailist 922350 922380

for perturbations affecting 235U and 238U. By giving the control words total and/or sum in the list of ZAI-numbers, the total sensitivity over all ZAIs present in the calculation and the sum sensitivity of the listed ZAIs will be calculated, respectively.

All nuclides present in the calculation can be included with

sens pert zailist all

this will automatically include the calculation of the total sensitivity.

Choosing materials to perturb

The materials, where the perturbations are applied can similarly be specified by giving a list of the material names

sens pert matlist MAT1 MAT2 ...

for example

sens pert matlist fuel coolant

for perturbations affecting interactions in materials fuel and coolant. By giving the control words total and/or sum in the list of material names, the total sensitivity over all materials present in the calculation and the sum sensitivity of the listed materials will be calculated, respectively.

All materials present in the calculation can be included with

sens pert matlist all

this will automatically include the calculation of the total sensitivity.

Additional options

The options for sensitivity calculations can be set using the

sens opt ...

syntax.

Energy grid for scoring

The energy grid used for scoring the sensitivities can be set using

sens opt egrid ENAME

where ENAME is a name of an energy grid definition.

Number of latent generations

The number of latent generations used for k-effective sensitivity calculations can be set with

sens opt latgen NGEN

where NGEN is the number of generations to use. The number of summation generations for reaction rate ratios and bilinear-ratios will be NGEN+1

Event bank size

The default size of the allocated event bank can be too small for some sensitivity calculations resulting in the following error:

Fatal error in function EventFromBank:

Event bank is empty

Simulation aborted.

The event bank size can be set using

set nbuf NBUF EBANK

where NBUF is the neutron buffer size (default is 5) and EBANK is the event bank size (default is 100).

Output

The output of the sensitivity calculations is written into a MATLAB/OCTAVE readable file [input]_sens.m

Common parameters

}

Examples

References

Parameter Size Description
SENS_N_MAT 1 Number of perturbed materials.
SENS_N_ZAI 1 Number of perturbed nuclides (ZAIs).
SENS_N_PERT 1 Number of different perturbation types (cross sections, fission spectra etc.).
SENS_N_ENE 1 Number of energy bins used for tallying the sensitivities.
SENS_MAT_LIST SENS_N_MAT strings Array of names for the perturbed materials.
SENS_ZAI_LIST SENS_N_ZAI Array of ZAI numbers for the perturbed nuclides.
SENS_PERT_LIST SENS_N_PERT strings Array of names for the perturbation types.
SENS_E SENS_N_ENE + 1 Bin boundaries for the energy grid used for tallying the sensitivities.
SENS_LETHARGY_WIDTHS SENS_N_ENE Lethargy widths of the energy bins. Lethargy at the maximum energy bin boundary is 0.
  1. ^ Aufiero, M. et al. "A collision history-based approach to sensitivity/perturbation calculations in the continuous energy Monte Carlo code SERPENT", Ann. Nucl. Energy, 152 (2015) 245-258. DOI:10.1016/j.anucene.2015.05.008