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

(→Serpent-ARES) |
(→Serpent-ARES) |
||

Line 93: | Line 93: | ||

running additional branches with small but non-zero void fraction. | 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 | + | 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 === | === Serpent variables === |

## Revision as of 18:00, 20 September 2016

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, but support for other codes, including PARCS, will be added later on. 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, 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:

sxsfitINPUT

The input file identifies two parameters:

modeCODETYPE

where:

CODE |
: is the code sequence for which the data is produced (currently only "ares" is 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:

where is the value at the nominal state, are the polynomial coefficients and:

is the difference in relative coolant density compared to nominal value | |

is the difference in the square root of fuel temperature compared to nominal value | |

is difference in moderator temperature compared to nominal value | |

is the control rod history (BWR) | |

is the boron concentration (PWR) | |

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:

libNAMEBOR_{0}TFU_{0}TMO_{0}NCOE_{1}COE..._{1}COE_{N}

where the input values are:

NAME |
: name of the produced library |

BOR_{0} |
: nominal boron concentration |

TFU_{0} |
: nominal fuel temperature |

TMO_{0} |
: nominal moderator temperature |

N |
: number of Serpent coe-files |

... COE_{1}COE_{N} |
: 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

- ^ 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. - ^ 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. - ^ Mattila, R.
*"Kiehutusvesireaktorin vaikutusalamalli CROSS."*YE-PR-5/02, VTT Technical Research Centre of Finland, 2002 (in Finnish)