# Difference between revisions of "Conversion script for homogenized cross sections"

In order to be used with deterministic core simulators, the group constant output produced by Serpent has to be converted into appropriate format. Work on an automated conversion script has been started, and the latest version of the SXSFit scirpt is available on-line. Currently only the Serpent-ARES code sequence is fully supported. The script has been used to produce cross section libraries to ARES initial core [1] and fuel cycle simulations.[2]

The script reads the homogenized group constant data from the [input].coe output files produced using the Automated burnup sequence with coefficient matrixes, and takes advantage of a number of predetermined variables to pass information into the output. The format conversion depends on the code sequence, as described below.

The SXSFit script is run from the command line:

sxsfit INPUT

The input file identifies two parameters:

mode CODE TYPE

where:

 CODE : is the code sequence for which the data is produced (currently only "ares" is fully supported) RUN : is the type of data produced ("base", "hzp", "hfp" or "dep")

The data types are:

 base : only the nominal branches are run, produced cross section library has no dependence on state variables hzp : only branches required to perform hot zero-power calculations are run, cross sections depend on boron concentration and control rod insertion, but not on state variables hfp : all branches required to perform hot full-power calculations are run, dependence on all parameters but without burnup dep : all branches and histories required to perform fuel cycle simulations are run, dependence on all parameters and burnup

The second supported input parameter is lib, and the format depends on the code sequence as described below.

## Serpent-ARES

The cross section model in ARES is based on the combination of tabular interpolation and polynomial expansions.[3] Tabulated data is used for burnup points, control rod insertion branches and moderator temperature (PWR) or void (BWR) histories. The remaining variations are accounted for by polynomial interpolation of the form:

$\Sigma = \Sigma_0 + a\rho^2+b\rho + cT_\mathrm{f}^2+dT_\mathrm{f} + eT_\mathrm{m}^2+fT_\mathrm{m} + g\rho T_\mathrm{f} + h\rho T_\mathrm{m}^2+i\rho T_\mathrm{m} + jT_\mathrm{f}T_\mathrm{m} + kH_\mathrm{cr} + lB^2+mB + nH_\mathrm{bo}^2+oH_\mathrm{bo} + pB^2T_\mathrm{m}^2 + qB^2T_\mathrm{m} + vBT_\mathrm{m}^2+wBT_\mathrm{m} + rB^2T_\mathrm{f} +sBT_\mathrm{f} + tB^2\rho+uB\rho$

where $\Sigma_0$ is the value at the nominal state, $a\dots w$ are the polynomial coefficients and:

 $\rho$ is the difference in relative coolant density compared to nominal value $T_\mathrm{f}$ is the difference in the square root of fuel temperature compared to nominal value $T_\mathrm{m}$ is difference in moderator temperature compared to nominal value $H_\mathrm{cr}$ is the control rod history (BWR) $B$ is the boron concentration (PWR) $H_\mathrm{bo}$ is the boron history (PWR)

The SXSFit script calculates the coefficients by fitting the polynomial into 24 points corresponding to different state point combinations.

Changes in the density of coolant in liquid state is included in the coolant temperature parameter. Separate parametrization for coolant density is to account for the effects of sub-cooled boiling. In practice this means running additional branches with small but non-zero void fraction.

The first 5 parameter variations are handled as branch variations. The procedure is repeated for different Moderator temperature (PWR) or coolant void (BWR) histories. Boron histories are accounted for by separate burnup calculations without branches. All branch calculations are repeated for different control rod types.

### Serpent variables

The state point information is passed into the conversions script using the following variables:

 VHI : moderator temperature (PWR) or coolant void history (BWR) BHI : boron history BOR : boron concentration CR : insertion of contro rods (0 = no rods, n = rod type n inserted) TFU : fuel temperature VOI : coolant void fraction TMO : moderator temperature

### SXSFit input

The syntax for the input block producing cross section library for a single assembly type is:

lib NAME
BOR0 TFU0 TMO0 N
COE1
COE1
...
COEN

where the input values are:

 NAME : name of the produced library BOR0 : nominal boron concentration TFU0 : nominal fuel temperature TMO0 : nominal moderator temperature N : number of Serpent coe-files COE1 ... COEN : names of the coe-files

### Example

The complete input example demonstrating the use of the automated burnup sequence defines a single history calculation with a number branches. The history variables are defined in a separate branch:

% --- History variables:

branch HIS
var LIB ENDFB7
var BHI 500
var VHI 550

which is included on every restart in the coefficient matrix:

% --- Coefficient matrix: (full set of variations: 3x3x3x2)

coef 11 0 0.1 1 3 5 10 15 20 30 40 50

3 nom Blo Bhi
3 nom Clo Chi
3 nom Flo Fhi
2 nom CR
1 HIS

This means that these variables are included in every output block of the coe-file. Variable LIB is for additional information, and not identified or used by SXSFit. The remaining variables are set together with the variations defined in the branch cards, for example:

% --- Branch to high fuel temperature:

branch Fhi
stp fuel -10.1348 1200
stp zirc4 -6.5020 628
repu FUE FUEH
var TFU 1200

defines a branch to high fuel temperature and sets the value of FUE accordingly. It should be noted that the interpolation polynomial does not include all cross terms, so the 3x3x3x2 matrix has defines some unnecessary runs. The number of branches can be reduced to minimum by applying multiple variations per branch.

If similar history calculations were defined for all moderator temperature and boron histories (3x3 cases), the input for SXSFit could look like:

mode ares dep

lib ASM1.cs
0.0 900.0 575.0 9
Y00_H01.coe
Y00_H02.coe
Y00_H03.coe
Y00_H04.coe
Y00_H05.coe
Y00_H06.coe
Y00_H07.coe
Y00_H08.coe
Y00_H09.coe

The cross section data for producing library file ASM1.cs (for a single assembly type) is collected from 9 Serpent runs: Y00_H01.coe ... Y00_H09.coe.

## References

1. ^ Leppänen, J., Mattila, R., and Pusa, M. "Validation of the Serpent-ARES code sequence using the MIT BEAVRS benchmark - Initial core at HZP conditions." Ann. Nucl. Energy, 69 (2014) 212-225.
2. ^ Leppänen, J. and Mattila, R. "Validation of the Serpent-ARES code sequence using the MIT BEAVRS benchmark – HFP conditions and fuel cycle 1 simulations." Ann. Nucl. Energy, 96 (2016) 324-331.
3. ^ Mattila, R. "Kiehutusvesireaktorin vaikutusalamalli CROSS." YE-PR-5/02, VTT Technical Research Centre of Finland, 2002 (in Finnish)