"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
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., various equilibrium functions and forces terms) to simulate a scientific problem. The second phase will provide the functionality for the researchers to use the DSL to define their own equilibrium functions and force term. Currently, we have finished the work of the first phase on the OPS backend code. A DSL definition for the first phase is also produced. While we are working towards the second phase, we will release the definition and the OPS backend codes this year using Gitlab. 
Type Of Technology Software 
Year Produced 2019 
Open Source License? Yes  
Impact By the first phase, we enable the declarative programming paradigm for the lattice Boltzmann modelling. This will help the communication between domain expert and code developer, ease the code usage. During the development stage, we have attracted a group at Sichuan University to use the code for modelling multiphase flows and shallow water flows. The code is also being used for an IROR project of the Hartree Centre.