Skip to content
forked from Nek5000/Nek5000

The open-source, highly-scalable, always-portable spectral element CFD code

License

Notifications You must be signed in to change notification settings

alheinecke/Nek5000

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Nek5000

https://travis-ci.org/Nek5000/Nek5000 GPLv3 licensed

Nek5000 is an open source, highly scalable and portable spectral element code designed to simulate:

  • unsteady Stokes
  • unsteady incompressible Navier-Stokes
  • low Mach-number flows
  • heat transfer and species transport
  • incompressible magnetohydrodynamics (MHD)

Written in Fortran 77 and C, it relies on MPI for parallelization and on a subset of LAPACK routines for eigenvalue computations, depending on the particular solver employed. Nek5000 output formats can be read by the parallel visualization package VisIt developed at LLNL/LBNL. VisIt is mandatory for large problems (e.g. more than 100,000 spectral elements).

Features

  • Scales to over a million processes
  • High-order spatial discretization using spectral elements
  • High-order semi-implicit timestepping
  • Incompressible + low Mach number (variable density) flows
  • Efficient preconditioners (multigrid + scalable coarse grid solves)
  • Highly optimized computational kernels (e.g. matrix-matrix multiply)
  • Low memory footprint and scalable memory design
  • High performance parallel I/O
  • ALE / moving meshes and free surface flow
  • Accurate Lagrangian particle tracking
  • Conjugate fluid-solid heat transfer
  • Scalable communication kernels
  • Built-in profiling analysis
  • Interface to VisIt for parallel data analysis and visualization

Download

You can download the latest release of nek5000 as a zip or a tarball.

You can also clone the repository with git:

git clone https://github.com/Nek5000/nek5000.git -b master

or even check it out with svn:

svn co https://github.com/Nek5000/nek5000.git/branches/master nek5000

User Guide

For more information, see the user guide.

Notes for users of legacy SVN repo

With the move to Git, the Nek5000 source directories have been reorganized to improve modularity. Most of the contents of trunk/nek/ (including the all-important makenek) are now located in the core/ directory. Scripts for running Nek5000 (such as nekmpi and nekb) are located in the bin/ directory. Tools such as genbox and genmap are located in tools/. A small subset of the examples (useful for quick regression tests) are located in short_tests/. All examples are kept in a separate repository, NekExamples, to keep this one light-weight.

Nek5000 works the same way it used to: build cases with core/makenek and run them with a script, e.g. bin/nekmpi.

About

The open-source, highly-scalable, always-portable spectral element CFD code

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Fortran 75.2%
  • C 19.2%
  • Python 4.7%
  • PHP 0.6%
  • Makefile 0.1%
  • MATLAB 0.1%
  • Other 0.1%