Development of Segregated Thermal-Hydraulics Solvers in MOOSE
The simulation of fluid flows is an essential part of the design and analysis of nuclear systems. Algorithms able to simulate flows at different fidelity levels are available in the Multiphysics Object-Oriented Simulation Environment (MOOSE) and MOOSE-based applications such as Pronghorn \cite{novak2018pronghorn}, Pronghorn-Subchannel, RELAP-7, and SAM. Currently, significant effort is being invested in the development of coarse-mesh Computational Fluid Dynamics (CFD) capabilities within MOOSE and Pronghorn for the simulation of Generation IV nuclear reactors. Traditionally, the solution algorithms in MOOSE have relied on Newton or quasi-Newton methods (such as the preconditioned Jacobian-free Newton-Krylov method) where residuals and Jacobians (or approximations thereof) are constructed. Both Newton and quasi-Newton methods require the solution of a linear system at each nonlinear Newton iteration with the Jacobian as the system matrix. The Jacobian contains blocks originating from all variables in the problem (i.e., for thermal-hydraulics at least pressure, velocities, and temperature). Due to the formulation of the problem in a general multiphysics setting on unstructured mesh, creating a good preconditioner for the linear system can be challenging, thus many fluid applications have utilized direct solver-based methods such as LU factorization. However, with increasing system size and complexity in multi-dimensional problems, the direct solution of linear systems becomes computationally expensive both in execution time and and memory. For this reason, recent effort has focused on adapting segregated solution algorithms for CFD problems in MOOSE. These algorithms use fixed-point iteration between segregated systems whose assembly and preconditioning are easier those of the monolithic system. Initial results show that the segregated solution algorithm outperforms the monolithic approach in terms of memory usage and for large 3D problems in terms of CPU time as well.