Ludwig: A parallel Lattice-Boltzmann code for complex fluids

Research output: Contribution to a Journal (Peer & Non Peer)Articlepeer-review

122 Citations (Scopus)

Abstract

This paper describes Ludwig, a versatile code for the simulation of Lattice-Boltzmann (LB) models in 3D on cubic lattices. In fact, Ludwig is not a single code, but a set of codes that share certain common routines, such as I/O and communications. If Ludwig is used as intended, a variety of complex fluid models with different equilibrium free energies are simple to code, so that the user may concentrate on the physics of the problem, rather than on parallel computing issues. Thus far, Ludwig's main application has been to symmetric binary fluid mixtures. We first explain the philosophy and structure of Ludwig which is argued to be a very effective way of developing large codes for academic consortia. Next we elaborate on some parallel implementation issues such as parallel I/O, and the use of MPI to achieve full portability and good efficiency on both MPP and SMP systems. Finally, we describe how to implement generic solid boundaries, and look in detail at the particular case of a symmetric binary fluid mixture near a solid wall. We present a novel scheme for the thermodynamically consistent simulation of wetting phenomena, in the presence of static and moving solid boundaries, and check its performance.

Original languageEnglish
Pages (from-to)273-290
Number of pages18
JournalComputer Physics Communications
Volume134
Issue number3
DOIs
Publication statusPublished - 1 Mar 2001
Externally publishedYes

Fingerprint

Dive into the research topics of 'Ludwig: A parallel Lattice-Boltzmann code for complex fluids'. Together they form a unique fingerprint.

Cite this