Page 411 - Thermal Hydraulics Aspects of Liquid Metal Cooled Nuclear Reactors
P. 411
374 Thermal Hydraulics Aspects of Liquid Metal Cooled Nuclear Reactors
pressure differences between coupled boundaries converge (in the overlapping
approach); for thermal boundaries, iterations may be needed until the wall temperature
on the STH side converges.
Although these iterations lead to additional numerical cost, they are indeed neces-
sary to the coupling strategies discussed above:
l For the hydraulic coupling described in Figs. 7.3 and 7.5, they are necessary to ensure that a
pressure field consistent between the two codes is reached at the end of the time step.
l For the thermal coupling described in Fig. 7.6, at least a second STH iteration is necessary in
order to ensure the equality between heat fluxes on the system and CFD sides.
Thus, iterations between codes are a common feature of most coupling algorithms.
Because most codes only expose first-order information, a first-order iteration
scheme such as Gauss-Seidel is the most common iterative scheme in use: in this
scheme, coupling information is simply passed back and forth between codes until
they converge to common values. Because STH iterations are usually much less
expensive than CFD iterations, variants in which the STH code is iterated more often
than the CFD code can offer an interesting trade-off; various acceleration techniques
can also be used.
Nevertheless, the convergence speed of the Gauss-Seidel algorithm can turn out to
be insufficient in some cases (such as the resolution of a common pressure system in a
domain decomposition approach). A second-order scheme, such as Newton-Raphson,
cannot be implemented directly in most cases, as the matrix elements necessary for
this approach are not made available by the coupling interfaces of the codes. However,
a Newton-Raphson matrix for the coupled boundary variables may still be constructed
using discrete derivatives (Degroote et al., 2016); alternatively, Jacobian-free
Newton-Krylov-like techniques may be used to solve the Newton-Raphson system
using the first-order data provided by the codes.
7.2.5 Implementation considerations
The practical implementation of a multiscale coupling requires the development of a
number of interfaces in each of the codes concerned:
l A “pilot” interface, allowing the user to control the running of the code: time-step choice and
initialization, processing of a single time step (or even a single internal iteration), time
advancement, and time reset (restoring the state of the code to the previous time). Alterna-
tively, some codes provide callback functionality (the ability to call custom functions at
given sequence points in the code). These callbacks can be used to couple one code to
another in a master-slave configuration.
l An “input-output” interface allowing the user to obtain data from the code and to replace it
with external values. Most codes contain “out-of-the-box” functionalities needed to
implement a domain decomposition coupling, for which the ability to control boundary con-
ditions suffices. In the case of domain overlapping, one will also need to override the values
computed by the code containing the “overlapped” domain (usually the STH code); if this
function is not provided directly by the code itself, a possible work-around is to use

