-
Notifications
You must be signed in to change notification settings - Fork 189
Espresso and Walberla
RudolfWeeber edited this page May 25, 2021
·
1 revision
- The Walberla coupling is under development at the "walberla" branch at github.com/RudolfWeeber/espresso
- All LB features except for pressure tensor are supported
- Only CPU is supported
- Electrokinetics is not yet supported
- The PR is at https://github.com/espressomd/espresso/pull/2701
- Further tickets can be found via https://github.com/espressomd/espresso/issues?q=is%3Aopen+walberla
- The LB kernels are geenrated via LbmPy and PyStencils (https://i10git.cs.fau.de/pycodegen)
- The definition and generation script is in maintainer/walberla_kernels/. See Readme.md in that folder
- The .cpp/h files generated by the generation scripts are in src/walberla_bridge/generated_kernels. they are checked into git (i.e., not dynamically generated at build time)
- The field data storage, lattice management, and time loop is handled by Walberla. Walberla also runs the LbmPy-generated kernels on the field data. Walberla is built as a sub-project during the Espresso build process in the _deps/ folder
- Walberla_bridge is the component that sets up Walberla and provides the interface Espresso needs. It is located ad src/walberla_bridge. This component only depends on Walberla, not on Espresso
- Espresso uses the Walberla_bridge as backend for its LB needs. Espresso's LB code, including particle coupling is at src/core/grid_based_algorithms
- Download the current Walberla branch with something like:
git remote add RudolfWeeber https://github.com/RudolfWeeber/espresso
git fetch RudolfWeeber walberla:walberla
git checkout walberla
- Add
#define LB_WALBERLA
to your myconfig.hpp - run Cmake with
-DWITH_WALBERLA=on
. Walberla will then be downloaded and installed duringmake