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
   406   407   408   409   410   411   412   413   414   415   416