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 Fortran90 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.6 (originally released in November 2015) and described fully in its user manual.
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) and multiple-relaxation-time (MRT) collision schemes
- Mildly compressible and incompressible fluids
- Couplings with mass and heat transfers
- Mesoscopic interactions:
- Shan-Chen pseudopotential interactions (standard form and with quadratic terms)
- Lishchuk continuum-based methods (local and non-local implementations) for applying interfacial tensions
- Swift free-energy based methods (one and two fluids)
- Boundary conditions:
- Stationary/moving walls
- Fixed density/concentration/temperature
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
- Weeks-Chandler-Andersen potential
- Bond stretching, angle and dihedral potentials
- Ewald sum electrostatics with Slater-type (exponential) and Gaussian charge smearing
- Boundary conditions:
- Hard reflecting walls with optional soft repulsions
- Frozen particles
- Lees-Edwards periodic shear
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 Fortran90 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, Paraview and VMD.
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 STFC Daresbury Laboratory in the first instance. 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 STFC Daresbury Laboratory.
DL_SOFTWARE training workshops on DL_MESO and other codes developed at 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. The presentation Using DL_MESO is available for download.
For more information on DL_MESO, please contact Michael Seaton at firstname.lastname@example.org