- Notifications
You must be signed in to change notification settings - Fork79
our next generation fast and scalable CFD code
License
Nek5000/nekRS
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
__ ____ _____ ____ ___ / /__ / __ \/ ___/ / __ \ / _ \ / //_// /_/ /\__ \ / / / // __// ,< / _, _/___/ / /_/ /_/ \___//_/|_|/_/ |_|/____/ COPYRIGHT (c) 2019-2023 UCHICAGO ARGONNE, LLC
nekRS is a fast and scaleable computational fluid dynamics (CFD) solver targeting HPC applications. The code started as an early fork oflibParanumal in 2019.
Capabilities:
- Incompressible and low Mach-number Navier-Stokes + scalar transport
- High-order curvilinear conformal spectral elements in space
- Variable time step 2nd/3rd order semi-implicit time integration
- MPI +OCCA (backends: CUDA, HIP, OPENCL, SERIAL/C++)
- LES and RANS turbulence models
- Arbitrary-Lagrangian-Eulerian moving mesh
- Lagrangian phase model
- Overlapping overset grids
- Conjugate fluid-solid heat transfer
- Various boundary conditions
- VisIt & Paraview support for data analysis and visualization
- Legacy interface toNek5000
Requirements:
- Linux, Mac OS X (Microsoft WSL and Windows is not supported)
- C++17/C99 compatible compiler
- GNU/Intel/NVHPC Fortran compiler
- MPI-3.1 or later
- CMake version 3.18 or later
Download the latest release available under
https://github.com/Nek5000/nekRS/archive/refs/tags/v23.0.tar.gz
or clone our GitHub repository:
https://github.com/Nek5000/nekRS.git
Themaster
branch always points to the latest stable release whilenext
provides an early preview of the next upcoming release (do not use in a production environment).
To build and install the code run:
CC=mpicc CXX=mpic++ FC=mpif77 ./nrsconfig [-DCMAKE_INSTALL_PREFIX=$HOME/.local/nekrs]
Build settings can be customized through CMake options passed tonrsconfig
.Please remove the previous build and installation directory in case of an update.
Assuming you runbash
and your install directory is $HOME/.local/nekrs,add the following line to your $HOME/.bash_profile:
export NEKRS_HOME=$HOME/.local/nekrsexport PATH=$NEKRS_HOME/bin:$PATH
then typesource $HOME/.bash_profile
in the current terminal window.
We try hard not to break userland but the code is evolving quickly so things might change from one version to another without being backward compatible. Please consultRELEASE.md
before using the code.
cd$NEKRS_HOME/examples/turbPipePeriodicmpirun -np 2 nekrs --setup turbPipe.par
For convenience we provide various launch scripts in thebin
directory.
For documentation, see ourreadthedocs page. For now it's just a dummy. We hope to improve it soon.
Please visitGitHub Discussions. Here we help, find solutions, share ideas, and follow discussions.
Our project is hosted onGitHub. To learn how to contribute, seeCONTRIBUTING.md
.
All bugs are reported and tracked throughIssues. If you are having trouble installing the code or getting your case to run properly, you should first vist our discussion group.
nekRS is released under the BSD 3-clause license (seeLICENSE
file).All new contributions must be made under the BSD 3-clause license.
NekRS, a GPU-Accelerated Spectral Element Navier-Stokes Solver
This research was supported by the Exascale Computing Project (17-SC-20-SC),a joint project of the U.S. Department of Energy's Office of Science and National Nuclear SecurityAdministration, responsible for delivering a capable exascale ecosystem, including software,applications, and hardware technology, to support the nation's exascale computing imperative.
About
our next generation fast and scalable CFD code