The code is available for download and installation from either a Subversion Control Repository or Git.
Links to both repositories are given at: https://nek5000.mcs.anl.gov/
The git repository always mirrors the svn. Official releases are not in place since the nek community users and developers prefer immediate access to their contributions. However, since the software is updated on constant basis, tags for stable releases as well as latest releases are available, so far only for the Git mirror of the code.
The reason for this is that SVN is maintained mainly for senior users who already have their own coding practices, and will be maintained at Argonne National Laboratory (using respective account at ANL); the git repository is maintained at github. A similar procedure is followed for the documentation to which developers/users are free to contribute by editing and adding descriptions of features, and these are pushed back to the repository by issuing pull requests. These allow the nek team to assess whether publication is in order. All information about these procedures are documented on the homepage. KTH maintains a close collaboration with the Nek team at ANL.
The code is daily run through a series of regression tests via buildbot (to be transferred to jenkins). The checks range from functional testing, compiler suite testing to unit testing. So far not all solvers benefit of unit testing but work is ongoing in this direction Successful runs of buildbot determine whether a version of the code is deemed stable.
A suite of examples is available with the source code, examples which illustrate modifications of geometry as well as solvers and implementations of various routines. Users are encouraged to submit their own example cases to be included in the distribution.
The use cases withing ExaFLOW which involve Nek5000 will be packaged as examples and included in the repository for future reference
You can also find on GitHub:
- contributions to the Adaptive Mesh Refinement (AMR) Code. Available in the nekp4est branch awaiting merging to the main branch.
- contributions to the Algebraic Multi-Grid (AMG) codes. Available in the main branch as of commit with hash ending: c6a20a
- The OpenACC port of Nek5000
- Link to ExaGS, a fork of the GS library originally supplied with Nek5000