Difference between revisions of "Coupled multi-physics calculations"

From Serpent Wiki
Jump to: navigation, search
(External coupling)
(External coupling)
Line 8: Line 8:
  
 
== External coupling ==
 
== External coupling ==
 
+
[[File:External_coupling.png|thumb|350px|Solution flow in the externally coupled calculation mode used for multi-physics calculations.]]
 
Serpent 2 has been designed to externally couple to a wide range of external solvers using the [[Multi-physics interface|universal multi-physics interface]].
 
Serpent 2 has been designed to externally couple to a wide range of external solvers using the [[Multi-physics interface|universal multi-physics interface]].
  

Revision as of 11:16, 9 May 2016

Serpent 2 has been written with multi-physics applications in mind. The capability to model arbitrarily detailed density and temperature distributions means that most temperature and density distributions given by e.g. thermal hydraulics or CFD solvers can be brought into Serpent using one of the multi-physics interface file formats without loss of detail. There are dedicated routines for controlling the iteration between the neutronics solver (Serpent) and the solver(s) for the coupled fields in order to obtain the converged coupled solution.

Multi-physics interface

The universal multi-physics interface can be used to easily bring in temperature and density solutions from any external solvers. With the multi-physics interface, the solution fields (temperature/density) can be overlaid on top of the base geometry model without having to make additional modifications (such as defining multiple materials with different temperatures) to the input.

See the detailed description: multi-physics interface.

External coupling

Solution flow in the externally coupled calculation mode used for multi-physics calculations.

Serpent 2 has been designed to externally couple to a wide range of external solvers using the universal multi-physics interface.

The external coupling is based on the sequential exchange of input and output files between Serpent and the external solver.

To avoid restarting Serpent after each neutron transport solution (and thus having to do all the pre-processing again) Serpent has a separate coupled calculation mode, where Serpent communicates with an external code to control the solution flow. In the coupled calculation mode, Serpent will go to sleep after each neutronics solution to wait for the updated interface files. The detailed solution flow is described in the following chapters.

Detailed description goes here...

Internal solvers

Serpent is able to internally couple to the FINIX fuel behavior module that can be licensed separately from VTT.

Iteration

The coupled calculation routines in Serpent have been designed with the Picard-iteration style multi-physics calculations in mind (also referred to as tight coupling in some sources). In this iteration type, the separate solvers can be iterated subsequently for a certain state-point until a convergence is reached, after which the simulation will move to the next time point.

The maximum number of iterations between the different solvers at each time point can be specified with the set ccmaxiter input-option.

Power relaxation

Serpent relaxes the power distribution calculated in the iterations using the stochastic approximation based method[1], 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.

Output