"HiLeMMS": High-Level Mesoscale Modelling System

Lead Research Organisation: STFC - Laboratories
Department Name: Scientific Computing Department


Mesoscale modelling plays a very important role in addressing a broad range of engineering and science challenges involving multiscale and multiphysics fluid flows. To accurately simulate these innovative flows, it is necessary to have a computer modelling system capable of efficiently managing complex geometries and data structures, and harnessing fully high performance computing power brought by emerging hardware architectures. However, these prove to be two major obstacles: while there is no single method of geometry description and data structure suitable for all flows, as well as competing computing platforms requiring different programming techniques, it is very time-consuming if not impossible for a single research group to develop such a system that can easily switch between different geometry descriptions and different hardware platforms.

To tackle this challenge, we propose to develop a high-level mesoscale modelling system (HiLeMMS) on the basis of existing infrastructures. There have been successful efforts exploiting a high-level abstraction approach to hide the details of parallelism and handling a single method of geometry description and data structure, such as the Oxford Parallel Library for Structured-mesh solvers (OPS) for multi-block applications from Oxford University and the Chombo library for adaptive mesh refinement from the Lawrence Berkeley National Laboratory. Importantly, these libraries will support major emerging hardware architectures. Therefore, we will build HiLeMMS by constructing a high-level abstraction layer specifically for the lattice Boltzmann method on top of these libraries. In this way, HiLeMMS will hide and automate the programming required for utilising existing libraries, and speed up application development. The application developer will only need to write code once, and then will enjoy the flexibility of switching libraries with minimal effort to obtain the capability required for the scientific problem.

The lattice Boltzmann code in the DL_MESO package (DL_MESO_LBE) will be re-engineered using HiLeMMS so that the code can have the capability of managing different geometry and data structures as well as efficient execution on emerging hardware platforms. Benefiting from the high-level framework, we will further develop a number of new functionalities into the package, extending the capabilities to model non-continuum gas flows, fluid-structure interactions and multiphase flows.

Planned Impact

HiLeMMS uses an innovative way to hide and automate the programming required for utilising existing libraries, and will provide a software infrastructure for mesoscopic modelling. This will result in a paradigm shift of application development in mesoscopic engineering research. Moreover, HiLeMMS will be released under the BSD license, which is free of charge for commercial usage. The re-engineered DL_MESO_LBE code with newly developed functionalities will provide ready-to-use code for tackling challenges in modelling complicated industrial processes at the mesoscale. Therefore, the work meets the national strategy on e-Infrastructure.

The impact will be felt by a broad ranges of areas, from computer aided engineering (CAE) software development to specific flow engineering fields. The CAE software industry, not only those using the lattice Boltzmann method but also others, will benefit from the success and lessons learnt in this project. The new DL_MESO_LBE code will be able to model challenging flow problems, which could not be reached previously, in areas such as aerospace engineering, oil and gas industries and boiling water reactors in nuclear power plants. Through these important engineering areas, the impact will eventually be felt more widely; for example, environmental improvements through aircraft drag reduction and the use of cleaner energy.


10 25 50
Description In this project, we have investigated the structure of an emerging method, the lattice Boltzmann method, for modelling fluid flows and identify a set of common elements of the method. Standard interfaces are therefore designed for assembling computer programmes that can utilise various backends. In particular, we also propose a few advanced programme ingredients including an object managing the flow data distributed over a parallel computer. These primary elements will help researchers to easily add new models into the system. The standard interface has been implemented in a lattice Boltzmann code developed at the Daresbury Laboratory and released on Github, while a couple of codes are under progress. A few advanced ingredients have been developed and tested based on the Daresbury Laboratory implementation and will be released when it is mature.
Exploitation Route The produced interface design and backend codes are publicly released on the Github/Gitlab. The wider community can read the document and download the codes for developing their applications and modelling flow problems.
Sectors Aerospace, Defence and Marine,Energy,Environment

Description SichuanUniversity 
Organisation Sichuan University
Country China 
Sector Academic/University 
PI Contribution Provide training on the HiLeMMS and its backend code developed at DL; Co-supervising master student.
Collaborator Contribution Use the HiLeMMS and its backend code of DL to develop/implement models for simulating shallow water flows and multiphase flows.
Impact 10.1142/S0129183118500808
Start Year 2016
Description WSP Urban wind flow analysis 
Organisation WSP Group plc
Department WSP UK Ltd
Country United Kingdom 
Sector Private 
PI Contribution We are using a GPU version of LBM to provide fast unsteady wind analysis over buildings in collaboration with WSP
Collaborator Contribution our PhD student Marta Camps Santasmasas has been undertaking a proof-of-concept project with WSP funded by EPSRC Impact Acceleration Account to help transfer some of the GPU LBM work we have done. The project is 5m from November 2019-March 2020.
Impact None yet
Start Year 2019
Title HiLeMMS 
Description In this project, we are developing a domain-specific language (DSL) approach for lattice Boltzmann modelling. The purpose is to hide the implementation details from either an end-user or an application developer so that the users can focus on the algorithm and application. The project is split into two phases. In the first phase, we are developing the function sequence that will enable the user to combine the provided lattice Boltzmann models (e.g., provided equilibrium functions, boundary conditions and forces terms) to simulate a scientific problem. The second phase will provide the facilities for researchers so that they can use the DSL to write the so-called user-defined function (UDF) and develop their applications easily. During the first phase, we have defined the function sequence and developed the corresponding backend code (from Sep-2018 to Sep-2019). A public release can be found at https://github.com/jpmeng/MPLB. At the same time, EPCC has been developing the backend code based on the AMReX library, which is released at https://github.com/otbrown/LAMBReX. Currently, we are under the second phase development. Templated code is written for helping users to write UDF easily, together with a python translater for necessary code generation. 
Type Of Technology Software 
Year Produced 2020 
Open Source License? Yes  
Impact By the finished first phase and the ongoing second phase, we enable the declarative programming paradigm for the lattice Boltzmann modelling. This will help the communication between domain expert and code developer, and ease the code usage. Two backend codes have been publicly released on Github, which can be accessed by the wider community. For the backend code developed at DL, we have attracted a group at Sichuan University for close collaboration. They are using the code for simulating multiphase flows and shallow water flows by developing new models into the code. The code is also being used for an IROR project of the Hartree Centre. 
URL https://gitlab.com/hilemms/hilemms