Nektar++: Design and implementation of an implicit, spectral/$hp$ element, compressible flow solver using a Jacobian-free Newton Krylov approach


الملخص بالإنكليزية

At high Reynolds numbers, the use of explicit in time compressible flow simulations with spectral/$hp$ element discretization can become significantly limited by time step. To alleviate this limitation we extend the capability of the spectral/$hp$ element open-source software framework, Nektar++, to include an implicit discontinuous Galerkin compressible flow solver. The integration in time is carried out by a singly diagonally implicit Runge-Kutta method. The non-linear system arising from the implicit time integration is iteratively solved by the Jacobian-free Newton Krylov (JFNK) method. A favorable feature of the JFNK approach is its extensive use of the explicit operators available from the previous explicit in time implementation. The functionalities of different building blocks of the implicit solver are analyzed from the point of view of software design and placed in appropriate hierarchical levels in the C++ libraries. In the detailed implementation, the contributions of different parts of the solver to computational cost, memory consumption, and programming complexity are also analyzed. A combination of analytical and numerical methods is adopted to simplify the programming complexity in forming the preconditioning matrix. The solver is verified and tested using cases such as manufactured compressible Poiseuille flow, Taylor-Green vortex, turbulent flow over a circular cylinder at $text{Re}=3900$ and shock wave boundary-layer interaction. The results show that the implicit solver can speed-up the simulations while maintaining good simulation accuracy.

تحميل البحث