Flattop k-eff sensitivity example

From Serpent Wiki
Revision as of 11:38, 20 June 2017 by Ville Valtavirta (talk | contribs) (Input)
Jump to: navigation, search

This example demonstrates some basic sensitivity calculation capabilities for the Popsy (Flattop) critical experiment (PU-MET-FAST-006 in the ICSBEP handbook).

Description

The experimental configuration consists of a plutonium alloy sphere (radius 4.5332 cm) reflected by a natural uranium blanket (outer radius 24.1420 cm). The multiplication factor of the system is close to unity (being a critical experiment). This input calculates the sensitivity of the multiplication factor to perturbations applied to the cross sections of 235U, 238U, 239Pu and 240Pu. A processing script for MATLAB/OCTAVE is provided for printing and plotting out the sensitivities.

Input

Input for Popsy (Flattop) sensitivity calculation example:

% --- Core outer surface and blanket outer surface

surf s1 sph 0.0 0.0 0.0  4.5332
surf s2 sph 0.0 0.0 0.0 24.1420

% --- Divide space to core, blanket and outside

cell c1 0 core       -s1
cell c3 0 blanket s1 -s2
cell c4 0 outside s2

% --- Core is made from plutonium alloy

mat core sum
94239.03c  3.6697e-2
94240.03c  1.8700e-3
94241.03c  1.1639e-4
31000.03c  1.4755e-3

% --- Blanket is made from natural uranium

mat blanket sum
92234.03c  2.6438e-6
92235.03c  3.4610e-4
92238.03c  4.7721e-2

% --- Cross section libraries

set acelib "/home/tpvtuomas/xsdata/xsss2-beta/sss_endfb71.xsdata"

% --- Neutron population

set pop 10000 100000 50 1 100 100

% --- Write output each 100 cycles

set outp 100

% --- Modify event buffer size to 3 events per neutron

set nbuf 3 3

% --- Use unresolved resonance sampling for the fast system

set ures 1 2

% --- Define Vitamin-J energy grid (one of the defaults)

ene myvit-j 4 nj23

% %%%
% %%% --- Sensitivity options
% %%%

% --- Run sensitivity calculation using Vitamin-J energy grid

sens opt egrid myvit-j

% --- Use 15 latent generations for the sensitivity calculations

sens opt latgen 15

% --- Use 10 generations for Iterated Fission Probability

set ifp 10

% %%%
% %%% --- Sensitivity responses
% %%%

% --- Calculate sensitivity of k-effective to perturbations

sens resp keff

% %%%
% %%% --- Sensitivity perturbations
% %%%

% --- Separate perturbations for the different nuclides and total

sens pert zailist 922350 922380 942390 942400 total

% --- Do not calculate material-wise perturbations (only total)

sens pert matlist total

% --- Perturb cross sections separately for each MT number

sens pert xs all

% --- Score sensitivity results directly to a matrix for each particle
%     Assume 0.2 matrices needed per generation per particle

sens opt direct 0.2

Output

The contents of some long arrays have been replaced with "...".

% --- Output for Popsy (Flattop) sensitivity calculation example
% Number of different bins in sensitivity calculation:

SENS_N_MAT = 1;
SENS_N_ZAI = 5;
SENS_N_PERT = 7;
SENS_N_ENE = 175;

% Materials included in sensitivity calculation:

SENS_MAT_LIST = [
'total               '
];

% Indices for different materials:

iSENS_MAT_TOT              = 1;

% Nuclides included in sensitivity calculation:

SENS_ZAI_LIST = [
0        % total
922350
922380
942390
942400
];

% Indices for different ZAIs:

iSENS_ZAI_TOT	   = 1;
iSENS_ZAI_922350   = 2;
iSENS_ZAI_922380   = 3;
iSENS_ZAI_942390   = 4;
iSENS_ZAI_942400   = 5;

% Reactions included in sensitivity calculation:

SENS_PERT_LIST = [
'total xs            '
'ela scatt xs        '
'sab scatt xs        '
'inl scatt xs        '
'capture xs          '
'fission xs          '
'nxn xs              '
];

% Indices for different perturbations:

iSENS_PERT_TOT_XS	= 1;
iSENS_PERT_ELA_XS	= 2;
iSENS_PERT_SAB_XS	= 3;
iSENS_PERT_INL_XS	= 4;
iSENS_PERT_CAPT_XS	= 5;
iSENS_PERT_FISS_XS	= 6;
iSENS_PERT_NXN_XS	= 7;

% Sensitivity calculation energy group boundaries:

SENS_E = [  ...  ];

% Sensitivity calculation energy group lethargy widths:

SENS_LETHARGY_WIDTHS = [  ...  ];

% Sensitivities with 15 latent generations:

% Effective multiplication factor:

ADJ_PERT_KEFF_SENS = [
  ...
];

ADJ_PERT_KEFF_SENS = reshape(ADJ_PERT_KEFF_SENS, [2, SENS_N_ENE, SENS_N_PERT, SENS_N_ZAI, SENS_N_MAT]);
ADJ_PERT_KEFF_SENS = permute(ADJ_PERT_KEFF_SENS, [5, 4, 3, 2, 1]);

ADJ_PERT_KEFF_SENS_E_INT = [
  ...
];

ADJ_PERT_KEFF_SENS_E_INT = reshape(ADJ_PERT_KEFF_SENS_E_INT, [2, SENS_N_PERT, SENS_N_ZAI, SENS_N_MAT]);
ADJ_PERT_KEFF_SENS_E_INT = permute(ADJ_PERT_KEFF_SENS_E_INT, [4, 3, 2, 1]);

Data-processing and plotting

Results