channel
An exceptionally simple tool for Direct Numerical Simulation (DNS) of the incompressible Navier-Stokes equations in cartesian geometry, adapted from the engine by Luchini & Quadrio, J. Comp. Phys. (2006) and designed under the "Keep It Simple, Stupid" principle.
Turbulent Couette flow
at a friction Reynolds number of Reτ=500
3 752 787 600 DoF
The code has been explicitly designed for shortness, compactness and simplicity, while still being parallel. Simplicity is preferred over excessive optimization. The code is optimized for reasonable parallel performance on up to O(2000) cores in 1024^3-sized problems. The main features are:
- simple: written with simplicity in mind
- compact: consists of ~ 500 lines
- parallel: two-dimensional pencil decomposition with MPI
- elegant: data transposition with MPI interleaved datatypes and nonblocking communication
- validated: based on the engine developed by Luchini & Quadrio, J. Comp. Phys. (2006)
Required dependencies
- GNU Make
- MPI: version 3.1 or above with exposed mpi_f08 Fortran interface
- FFTW: version 3.x or above
- FORTRAN: any fortran f08 compliant compiler
Download and Compile
Once you have all required dependencies listed above, acquire the source code by cloning the git repository:
git clone https://github.com/davecats/channel.git
Then compiling the code is as easy as hitting
make
You may want to edit the Makefile and change the MPI/Fortran compiler, the optimization flag and the location of the FFTW library and headers.
Contacts
Dr. Davide Gatti
davide.gatti [at] kit.edu
msc.davide.gatti [at] gmail.com
Karlsruhe Institute of Technology
Institute of Fluid Dynamics
Kaiserstraße 10
76131 Karlsruhe
