One of the major projects in Serpent 2 development is the implementation of a universal multi-physics interface for coupling Serpent to thermal hydraulics and fuel performance codes. This topic is far too extensive to be covered here, and we'll publish more information as the work proceeds. The general idea is that material densities and temperatures can be passed to Serpent without modifications in the main input file, and the output (power distributions, etc.) is written in a separate file that can be easily read and passed back to the coupled code.
The work started a few versions ago, but in update 2.1.5 the routines are getting ready to be used in actual calculations. There are currently three interface types that can be used for defining material density distributions:
1) Continuous distribution by averaging over point-wise values
2) Piece-wise homogeneous distribution in a mesh
3) User-defined functional distribution
The interface is invoked by setting the file name in the main input:
Code: Select all
ifc <file>
Code: Select all
<type> <mat> <out>
<outf> <nz> <zmin> <zmax> <nr>
The remaining parameters for type 1 are:
Code: Select all
<dim> <rad> <exp>
<np>
<x1> <y1> <z1> <dens1> <T1>
<x2> <y2> <z2> <dens2> <T2>
...
Parameters for type 2 are:
Code: Select all
<mtp> <nx> <xmin> <xmax> <ny> <ymin> <ymax> <nz> <zmin> <zmax>
<dens1> <T1>
<dens2> <T2>
...
Parameters for type 3 are:
Code: Select all
<np>
<p1>
<p2>
...
If the output flag is set, the code calculates power distributions in pin-type objects that are enclosed within the interface material (e.g. fuel pins inside coolant). The output file contains fission powers in cylindrical regions, one region per line. The parameters in each line are:
Code: Select all
<x0> <y0> <z0> <x1> <y1> <z1> <r0> <r1> <P> <dP>
I don't expect the interface to work yet in very complicated geometries (I've tried it mainly in 1D distributions at fuel assembly level). The formats will most likely change in future updates, as more features are added, and the main reason why I'm posting these instructions is that some users have expressed their interest in trying out these capabilities after presentations given on Serpent 2. So feel free to use it (and feedback and new ideas are always welcome), but don't expect too much yet.
The distributions are not shown in the geometry plotter, but there is a makeshift plotting capability implemented in the mesh plotter type 11 (see related post on new mesh plotter capabilities). The plot that is produced is based on collisions, so there is some averaging and statistics involved, but it can be useful for getting an idea on how the code sees the distributions.
I'll post some examples later.