FINIX fuel behavior module

From Serpent Wiki
Revision as of 12:28, 27 November 2015 by Ville Valtavirta (Talk | contribs) (Setting up the iteration scheme)

Jump to: navigation, search

About FINIX

FINIX is a novel light-weight fuel behavior code designed specifically for coupled calculations by T. Ikonen at VTT[1]. FINIX solves both the temperature distribution in the fuel rod and the heat flux from cladding to coolant allowing two-way couplings with both neutronics and thermal-hydraulics solvers. While the current capabilities of FINIX are specifically directed to calculating the fuel rods' thermal response in fast transient scenarios, FINIX can also be used to calculate steady state conditions.

The correlations used in FINIX are publicly available. The fuel rod is modeled in FINIX as consisting of separate axial zones that are coupled via the gas gap pressure. The thermal and mechanical models in each of the axial zones are coupled via the gas gap pressure and heat conductance.

FINIX uses the so-called 1.5 dimensional geometry model dividing the active length of the fuel rod into multiple axial zones. In each axial zone the fuel pellet and the cladding are divided into multiple concentric radial rings. The axial coupling between the different zones comes from the coolant temperature boundary condition and rod internal pressure.

Coupling with Serpent

FINIX is coupled with Serpent 2 at the source code level. The internal coupling works with direct memory access between Serpent and FINIX simplifying the solution transfer and use.

Obtaining FINIX

FINIX can be licensed from VTT for research & education (non-commercial) purposes. One license agreement per organization is enough. ...

Finally, contact Ville Valtavirta to obtain the latest version of FINIX to add to your Serpent source code.

Compiling Serpent with FINIX

The source code for FINIX should be located in the Serpent source code folder in a subfolder called FINIX.

<sss_source_code_folder>/FINIX/

To complile Serpent with FINIX, uncomment two lines from the Makefile:

...
# Compilation with FINIX:

#OBJS += $(FOBJS)
#CFLAGS  += -DFINIX
...

is uncommented to

...
# Compilation with FINIX:

OBJS += $(FOBJS)
CFLAGS  += -DFINIX
...

Running the make-command for the uncommented Makefile will compile Serpent with FINIX-capabilities. Any errors encountered in the compilation process should be reported to Ville Valtavirta.

Usage

Linking FINIX input files

The FINIX fuel behavior solver has three different input-file types (see Section 7.6 in the FINIX manual[2]). Each input-file can contain definitions for multiple fuel rods for multiple different scenarios. The input-file libraries are

  1. The options file, containing information such as the radial and axial nodalization for the solver, boundary condition type to be used and options for different physical models.
  2. The fuel rod file, containing the physical definition of the fuel rod (geometry, materials etc.).
  3. The scenario file, containing the boundary condition to be used in the calculation as well as things required for standalone FINIX calculation such as power history of the transient to be simulated.

These library files containing the options, rod and scenario definitions can be linked to the Serpent input:

set finoptionsfile <options_file>
set finrodfile <rod_file>
set finscenariofile <scenario_file>

After linking the files to the input, the definitions can be used for the FINIX solvers in the Serpent simulation.

Creating power binning to be used with FINIX solvers

The detail of the power-distribution tallied by Serpent and relayed to the FINIX solvers has to be set up before the simulation. The "finbin" input-card can be used to set up the power binning for the FINIX fuel rods:

finbin <name> <rmin> <rmax> <nr> <zmin> <zmax> <n>

Input values:

<rmin>  : minimum radial coordinate (cm)
<rmax>  : maximum radial coordinate (cm)
<nr>  : number of radial zones
<zmin>  : minimum axial coordinate (cm)
<zmax>  : maximum axial coordinate (cm)
<nz>  : number of axial zones

The radial division is equal area. The axial division should be the same as in the FINIX rod options.

Creating FINIX solvers for Serpent pins

The FINIX solver can be used with the pin-definitions in the Serpent input. Each pin-type can be associated with a single FINIX solver.

Modifying material TMS temperature limits

Linking Serpent pins with FINIX solvers sets on the on-the-fly TMS temperature treatment for the cross section data. The TMS method uses estimates for minimum and maximum temperatures of the materials it handles to increase the performance of the rejection sampling it uses. When a static multi-physics interface is linked to the main input the TMS limits are set to the minimum and maximum temperatures found in the interface, but in a typical coupled multi-physics calculation, the minimum and maximum temperature of each material is not known beforehand. In this case, the TMS limits must be set before the beginning of the calculation by using the "tft" switch in the material card:

mat <name> <density> tft <Tmin> <Tmax> [...]

Setting a tighter temperature interval for the material increases the sampling efficiency in the TMS-routines. The tradeoff is that, in case the material temperatures go beyond the preset interval the simulation is terminated (as the sampling would become unphysical). One should thus set wide enough a temperature interval to cover the whole temperature interval that is expected to be present in the material. One should also take in account that due to the stochastic nature of Monte Carlo simulations the power distribution during individual iterations will contain statistical variations leading to increased power production in some rods and reduced power production in others.

Notes:

  • If the TMS limits are defined to a material, the temperature distribution of that material should be given by either an interface definition or the FINIX solver for the whole geometry. If the same material is found in the geometry both in interface/FINIX included parts and separately at a constant temperature, separate material definitions are required for the two materials. This is the case typically with cladding materials that often exist both in the fuel rods (for which the temperature might be given by FINIX) and structural materials (which might be modeled as being in constant temperature).

Setting up the iteration scheme

Solution flow of the neutronics-fuel behavior iteration in Serpent with internally coupled solvers.

In coupled multi-physics calculations with Monte Carlo neutronics the self-consistent solution between two (or more) solvers has to be obtained by subsequently iterating the solvers in turn. This means several independent transport solutions are required. In coupled calculations, the simulation population defined by the set pop option defines the population simulated for a single iteration/transport solution. The number of iterations to be calculated can be defined by the set ccmaxiter option.

Serpent relaxes the power distribution calculated in the iterations using the stochastic approximation based method, where the power distribution at iteration n is calculated by

P_{\mathrm{rel}}^{n} = P_{\mathrm{rel}}^{n-1} - \frac{s_{n}}{\sum_{i = 1}^{n} s_{n}} d \left(P_{\mathrm{rel}}^{n-1} - P^{n}\right),

where P^{n} is the unrelaxed power distribution tallied on iteration n, P_{\mathrm{rel}}^{n-1} is the relaxed power distribution after the previous iteration, s_{i} is the active neutron population simulated on iteration i and d is an underrelaxation factor that can be defined by the set relfactor option.

References

  1. ^ T. Ikonen, V. Tulkki, E. Syrjälahti, V. Valtavirta and J. Leppänen, "FINIX - Fuel Behavior Model and Interface for Multiphysics Applications", In proc. TopFuel 2013, Charlotte, NC, Sept. 15-19, 2013.
  2. ^ Ikonen T., Kättö J. and Loukusa H. "FINIX - Fuel behavior model and interface for multiphysics applications - Code documentation for version 0.15.6", Research report, VTT-R-02988-15 (2015)