The nekRS Computational Fluid Dynamics Code

nekRS is a computational fluid dynamics code developed at ANL, UIUC, and PSU. nekRS aims to leverage the present trend in GPU-based HPC systems to perform CFD on GPU-accelerated systems. By using the OCCA library’s unified API, nekRS can run on CPUs and on GPU-accelerated CPUs that support CUDA, HIP, or OpenCL.

This guide is intended to help new users get started with using nekRS, as well as serve as a reference for more advanced users. Because the Nek5000 code is somewhat of a predecessor to nekRS, some aspects of the current nekRS design are selected to enable faster translation of Nek5000 input files into nekRS input files. Throughout this documentation, all such Nek5000-oriented settings will be referred to as “legacy” settings. Because these Nek5000-oriented settings require proficiency in Fortran, structured text formats, and several additional input files, all new users are encouraged to adopt the nekRS-based problem setup.

We recommend working through this user guide in the order below. At the very least, please read The nekRS Input Files page before reading the FAQs page, as some necessary concepts are introduced in this order.

Note

This documentation is a work in progress, and will undergo big changes as more features are added to nekRS. Please open issues to track any missing information at the github repository here.

Table of Contents