/TCLB

TCLB - Templated MPI+CUDA/CPU Lattice Boltzmann code

Primary LanguageC++GNU General Public License v3.0GPL-3.0

CudneLB - the templated version

Build Status Coverage Status

CudneLB is a MPI+CUDA or MPI+CPU high-performance CFD simulation code, based on Lattice Boltzmann Method.

It provides a clear interface for calculation of complex physics, and the implementation of new models.

Installation

Just clone the repo (or download the zip file):

git clone https://github.com/CFD-GO/TCLB.git
cd TCLB

If you want a more recent (but less stable) version, you could try the development branch:

git clone -b develop https://github.com/CFD-GO/TCLB.git
cd TCLB

Dependencies

You'll need:

You can install many of these with the tools/install.sh script (note it requires sudo):

sudo tools/install.sh cuda 6.5-14 # only if your GPU supports cuda
sudo tools/install.sh r
sudo tools/install.sh openmpi
     tools/install.sh rdep
sudo tools/install.sh python-dev
     tools/install.sh rpython
sudo tools/install.sh module # only on CentOS

The install.sh script is designed to work on Ubuntu (e.g. on the Travis-CI VMs). The install.sh script should work on CentOS. You can install the sudo parts by yourself, and use script to install R packages: rdep and rpython.

Compilation

This should work:

module load mpi/openmpi-x86_64 # only on CentOS
make configure
./configure --enable-double --enable-graphics --with-cuda-arch=sm_20 
# only CPU ./configure --enable-double --disable-cuda
make d2q9

Usage

This should also work:

CLB/d2q9/main example/flow/2d/karman.xml

Documentation

The documentation (including tutorials) is published at docs.tclb.io. You can contribute at CFD-GO/TCLB_docs.

For the develop version, most recent documentation can be found at develop.docs.tclb.io.

Authors

Author: Łukasz Łaniewski-Wołłk

Co-authors:

Contributors:

Developed at: C-CFD Group at Warsaw University of Technology from 2012

License

This software is distributed under the GPL v3 License.

If you need this software under a different license, please contact the main author.

Contact: llaniewski(monkey)meil.pw.edu.pl