A lattice Boltzmann code for complex fluids

Ludwig is a parallel code for the simulation of complex fluids, which include mixtures, colloidal suspensions, gels, and liquid crystals. It takes its name from Ludwig Boltzmann, as it uses a lattice Boltzmann method as a basis for numerical solution of the Navier Stokes equations for hydrodynamics. It typically combines hydrodynamics with a coarse-grained order parameter (or order parameters) to represent the “complex” part in a free energy picture.

The code is written in standard ANSI C, and uses the Message Passing Interface for distributed memory parallelism. Threaded parallelism is also available via a lightweight abstraction layer (“Target Data Parallel” or “TargetDP”) which currently supports either OpenMP or CUDA (NVIDIA GPUs) from a single source.



The following modules connected to the Cubble code, a mesoscale CUDA/C++ simulator of foams, have been produced so far:

  • Cubble: Static foam coarsening simulator using c++/CUDA
  • Cubble: Flowing foam coarsening simulator using c++/CUDA¬†
  • Cubble: Hip implementation



Grand Canonical Adaptive Resolution Scheme (GC-AdResS) is getting more recognition throughout the scientific community. The main aspect is to couple two simulation boxes together and combine the advantages of classical atomistic simulations with those from coarse gained simulations. The goal of the pilot project is to develop a library or recipe with which GC-AdResS can be implemented in any MD Code. Our current focus is adjusting the implemented Version of GC-AdResS in GROMACS. The long-term goal of this project is to promote and stimulate the community to use it as a tool for multiscale simulations and Analysis.



ESPResSo++ is a software package for the scientific simulation and analysis of coarse-grained atomistic or bead-spring models as they are used in soft matter research. ESPResSo++ has a modern C++ core and flexible Python user interface. ESPResSo and ESPResSo++ have common roots however their development is independent and they are different software packages. ESPResSo++ is free, open-source software published under the GNU General Public License (GPL)



DL_MESO is a general purpose mesoscale simulation package developed by Michael Seaton for CCP5 and UKCOMES under a grant provided by EPSRC. It is written in Fortran 2003 and C++ and supports both Lattice Boltzmann Equation (LBE) and Dissipative Particle Dynamics (DPD) methods. It is supplied with its own Java-based Graphical User Interface (GUI) and is capable of both serial and parallel execution.