DL_MESO is a general purpose mesoscale simulation package developed by Michael Seaton for
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.
Philosophy and Overview
Mesoscale modelling methods fit between those used for molecular dynamics and computational fluid dynamics. These operate at length and time scales suited for modelling complex materials with both atom-like effects and bulk fluid properties such as viscosity. Examples of systems that can be modelled at the mesoscale include flows through complex geometries, microfluidics, solute diffusion, conductive and convective heat transfers, phase behaviours of fluids and polymers (e.g. surfactants, amphiphiles), self-assembly of chemical structures and adsorption onto surfaces.
Lattice Boltzmann Equation simulation of phase separation between two immiscible fluids
Dissipative Particle Dynamics simulation of phase separation between two immiscible fluids
DL_MESO was created to provide a comprehensive mesoscale modelling package capable of bridging the gap between atomistic and continuum methods that can exploit emerging parallel computing architectures. It consists of codes for frequently-used mesoscale methods (e.g. LBE, DPD), which can be verified and extended by registered users of the package. The codes can be considered as flexible 'simulation engines': setup and analysis of simulations can be achieved by pre- and post-processing utilities and scripts.
Development History and Functionality
The current version of DL_MESO is DL_MESO 2.7 (originally released in December 2018) and described fully in its
The Lattice Boltzmann Equation code includes the following features:
Two-dimensional (D2Q9) and three-dimensional (D3Q15, D3Q19, D3Q27) square lattices
Single relaxation time (BGK), two-relaxation-time (TRT), multiple-relaxation-time (MRT) and cascaded Lattice Boltzmann (CLBE) collision schemes
Mildly compressible and incompressible fluids
Couplings with mass and heat transfers
Shan-Chen pseudopotential interactions (standard form and with quadratic terms)
Lishchuk continuum-based methods (various local and non-local implementations) for applying interfacial tensions
Swift free-energy based methods (one and two fluids)
LBE simulation of lid-driven cavity flow at Re=135 (left) and developing von Kármán vortex street in a channel (right)
The Dissipative Particle Dynamics code includes the following features:
Three-dimensional cubic and orthorhombic systems
Single particles and user-defined molecules
Non-bonded interactions between particles:
'Standard DPD' soft potential
Many-body (density-dependent) DPD
Lennard-Jones hard-core potential
Ewald sum or SPME electrostatics with Slater-type (exponential), Gaussian, linear or sinusoidal charge smearing
Frozen particles (individual and walls)
Lees-Edwards periodic shear
with optional wall potentials
DPD simulation of spontaneous vesicle formation of amphiphilic vesicle: formed vesicle (left) and cross-section with encapsulated water (right)
The current version of DL_MESO incorporates fixes for any bugs which have subsequently been discovered since its original release. Registered users with older versions are strongly advised to check the INFOMAIL email announcements, which give news about new versions, details for bug fixes and minor changes to source codes.
DL_MESO is a terminal-based software package and its codes can run on any modern computer with or without a graphical interface. A compiler for C++ is required for the LBE code, while a Fortran 2003 compiler and GNU Make (normally installed as standard in Unix/Linux-based operating systems) are required for the DPD code.
Parallel running of either code by means of domain decomposition (equal division of system volume among processor cores) requires the installation of MPI libraries and the ability to link these in at compile time, e.g. wrappers. Multithreaded parallelism by means of OpenMP is also available for both codes: the required OpenMP libraries are often supplied with recent versions of C++ and Fortran compilers.
The Java-based Graphical User Interface (GUI) requires a Java Runtime Environment (JRE). A pre-compiled instance of the GUI is supplied with DL_MESO, but recompilation requires installation of a Java Development Toolkit (JDK).
Analysis and visualisation of results from DL_MESO's LBE and DPD code require external programs, for instance,
Availability and Licencing
DL_MESO is supplied to individuals under an academic licence, which is free of cost to academic scientists pursuing scientific research of a non-commercial nature: please see the webpage on registering for the DL_MESO package for instructions.
Commercial organisations interesting in acquiring the package should approach Dr M A Seaton at UKRI STFC Daresbury Laboratory in the first instance. UKRI STFC Daresbury Laboratory is the sole centre for distribution of the package.
Support and Training
Direct support from the developers is available to all users, but priority is given to academic users based in the United Kingdom under CCP5 and UKCOMES and the EPSRC Service Level Agreement with the Scientific Computing Department at UKRI STFC Daresbury Laboratory.
DL_SOFTWARE training workshops on DL_MESO and other codes developed at UKRI STFC Daresbury Laboratory, including DL_POLY and DL_FIELD, are held for new and current users to learn more about the software packages and interact with their developers.
Links to useful resources (simulation analysis tools, publications, presentations and tutorial exercises) are available.
For more information on DL_MESO, please contact Michael Seaton at firstname.lastname@example.org