Code

OpenCruncher solves the spatially-filtered compressible Navier-Stokes equations using the finite-volume method. Various LES models, like the Smagorinsky or WALE model are available to model the physical effects of unresolved turbulence. For high-Reynolds number wall bounded flows wall-models and wall-functions are implemented. Synthetic turbulence at inlets is also available.

The solver is extremely fast when running on GPUs or GPU clusters and can operate in single or double precision.

OpenCruncher runs on different operating systems like Linux (Ubuntu, Suse, etc.) or Microsoft Windows. Due to this large number of platforms, no precompiled packages exist. The code must be compiled from source for each platform.

Getting the source code

We use the version control system Git.

System requirements

  • Git

Clone the code using GitLab

  • Sign in into GitLab@OpenCruncher
  • Explore public projects
    Explore projects
  • Add your public (not private!) SSH key
    Edit profile / SSH Keys
  • Clone the repositories
   git clone git@git.opencruncher.com:opensource/Cruncher.git
   git clone git@git.opencruncher.com:opensource/CruncherRegression.git

Build

System requirements

To build OpenCruncher on your system, you will need the following installed:

  • CMake (minimum version 3.18)
  • Cuda language, NVIDIA CUDA Toolkit
  • C++ compiler, Microsoft Visual Studio or GCC
  • MPI, e.g. OpenMPI
  • (optional: NVIDIA Collective Communication Library – NCCL)

Prior to building, ensure that the system requirements are satisfied.

   cmake --version
   nvcc --version

Figure out your GPU hardware and the NVIDIA CUDA compute capability.

Build OpenCruncher

  • Prepare directories. E.g. Linux
   mkdir Build
   cd Build
   mkdir Release
   cd Release
  • Check your GPU hardware and add your compute capability or CUDA architecture
   edit Source/EngineGPU/CMakeLists.txt
  • Configure
   cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=../../Install ../../Source
  • Build
   cmake --build .

Build faster, e.g. with 16 cores

   cmake --build . -j 16
  • Install
   cmake --install .

Test OpenCruncher

To validate the build and check if OpenCruncher delivers the correct results run the regression deck.

  • Run the regression deck
   cd CruncherRegression
   python3 regress.py

Report a bug

  • Sign into GitLab@OpenCruncher
  • Explore public projects
  • Explore projects
  • Select Cruncher
  • Add a new issue

Participate in the development

  • Ask for developer access, select the project and request access
  • Add your user name and email to you local repository
   git config user.name "username"   git config user.email "name@myOrganization.com"
  • Add branches to the local repository, name = username/brachname
  • Push the local branch
   git push origin username/branchname
  • Create a merge request, reviewer must be “Code master”