waLBerla (widely applicable Lattice Boltzmann from Erlangen) is a massively parallel framework for multi physics applications. Besides its original objective, Lattice Boltzmann solvers for hydrodynamics, it now contains modules for other applications like Multigrid and rigid body dynamics as well. Great emphasis is placed on the interoperability between the modules in particular the fluid-particle coupling. It scales from laptops to current and future supercomputers while maintaining near-perfect efficiency.
See http://walberla.net/ for more information and a showcase of applications.
Documentation for the C++ framework is available in Doxygen, while the Python interface is documented in Sphinx.
The minimum requirements are a C++14-compliant compiler (e.g. GCC or Clang), the Boost library and the CMake build system. Furthermore, you need an MPI library (like Open MPI) if you want to make use of parallel processing capabilities. All of these dependencies are typically available in your operating system's package manager.
Please submit all code contributions on our GitLab. To get an account, please sign and submit the contributor license agreement.
While we currently do not have a mailing list, any questions can be asked via the Issue Tracker.
Many thanks go to waLBerla's contributors
If you use waLBerla in a publication, please cite the following article:
- C. Godenschwager, F. Schornbaum, M. Bauer, H. Köstler, and U. Rüde. A framework for hybrid parallel flow simulations with a trillion cells in complex geometries. In: Proceedings of the International Conference on High Performance Computing, Networking, Storage and Analysis, page 35. ACM, 2013.
waLBerla is licensed under GPLv3.