Neko is a portable framework for high-order spectral element flow simulations. Written in modern Fortran, Neko adopts an object-oriented approach, allowing multi-tier abstractions of the solver stack and facilitating various hardware backends ranging from general-purpose processors, CUDA and HIP enabled accelerators to SX-Aurora vector processors. Neko has its roots in the spectral element code Nek5000 from UChicago/ANL, from where many of the namings, code structure and numerical methods are adopted.
Structure of the Manual
In order to facilitate reading of the documentation. The manual is divided into several sections. The user guides are intended for users of the code, while the developer guides are intended for developers of the code. The appendix contains additional information that is not directly related to the usage of the code.
- User guide
- Installation explains how to download and compile Neko on your platform.
- Case File discusses the various parameters and options for your case setup such as boundary conditions, output control, etc.
- User File explains all the user functions and how they can be used to run more advanced simulations.
- Simulation Components presents some extra functionalities and tools such as computation and output of additional fields, in-situ post-processing operations, data sampling, etc.
- Point Zones allow you to select zones in the mesh for application of source terms, initial conditions, etc.
- Statistics Guide outlines the steps to generate 3D and 2D field statistics.
- Input/Output explains how to read and write various types of data using the Neko framework.
- Developer guide
- Contributing presents basic instructions to add your contributions to Neko.
- Development Patterns outlines the standards to be used when developing code in the Neko framework, such as naming conventions and documentation.
- Code Style introduces some extra programming conventions related to coding style and IDEs.
- Testing outlines the steps to run and add unit tests to the code base with pFUnit.
- Accelerators discusses important concepts and conventions related to GPU programming in the Neko framework.
- Run-time selectable types presents the standard programming pattern used to select object types at run time.
- Appendices