Efficient adsorption studies with DL_MONTE
eCSE11-03Key Personnel
PI/Co-I: Nigel B. Wilding (PI) (University of Bath), John A. Purton (STFC), Tina Düren ( University of Bath)
Technical: Tom L. Underwood (University of Bath)
Relevant documents
eCSE Technical Report: Efficient adsorption studies with DL_MONTE
Project summary
Adsorption is the process whereby a substance (the adsorbate), usually a fluid, forms a thin film on an external or internal surface of a material. Adsorption underpins many key fields of research, including catalysis, carbon capture and storage, and surface and interfacial phenomena. There is therefore a demand for software which can be used to study adsorption efficiently, ie with minimal computational cost.
Grand-canonical Monte Carlo (GCMC) is a widely-used simulation method for studying adsorption. DL_MONTE [1,2] is a general-purpose Monte Carlo program which can be used to study adsorption using GCMC in a wide range of systems, including those of relevance to the fields given above. DL_MONTE is part of the suite of simulation software developed by Daresbury Laboratory and the Collaborative Computational Project 5 (CCP5), and is accompanied by a Python toolkit for managing simulation workflows and performing data analysis.
The aim of this project was to significantly improve the capabilities of DL_MONTE for studying adsorption by adding new functionality to both the main DL_MONTE program and the Python toolkit.
Achievement of objectives
Key objectives of this work were to extend the range of statistical analysis techniques which the Python toolkit can apply to data output by DL_MONTE simulations, including block averaging [3] and multiple histogram reweighting [4]; and to add functions to the toolkit which automate the task of calculating adsorption isotherms (i.e. the amount of adsorption vs. pressure at a fixed temperature) via multiple DL_MONTE simulations. This new functionality will be included in the upcoming release of the toolkit.
Moreover, we extended the GCMC capabilities of DL_MONTE to include free energy calculations, a key application of which is pinpointing the location of liquid-gas phase transitions. This new functionality was included in the latest release of DL_MONTE, v2.06.
Documentation, including examples and tutorials, describing new software developed as part of this project was also developed, and is available to users alongside the software.
Summary of the Software
DL_MONTE is free and open source, released under a BSD license. The DL_MONTE homepage describes how to obtain the main DL_MONTE program and the Python toolkit [5]. The homepage also contains links to further sources of information, including the user manual, tutorials, a suite of example input files, and a wiki [6].
The source code repositories, releases and documentation for DL_MONTE software is hosted on GitLab [6]. While documentation is publicly visible, releases are provided as zip files. To access these, users must register on the DL_MONTE homepage. Upon request, users can be granted access to the development repository to use experimental features.
The new free energy and GCMC functionality implemented during this project is included in the latest release of DL_MONTE v2.06, and corresponding documentation is included in the user manual for that version. Moreover a free energy GCMC calculation is included in the DL_MONTE example suite.
The Python tools developed during this project are currently housed in the DL_MONTE development repository, and will be released imminently. Documentation for these tools is provided in the form of Jupyter notebook tutorials, as well as standard documentation in the source code.
The DL_MONTE main program and Python toolkit have standard dependencies, and can easily be installed on ARCHER.
Scientific Benefits
The purpose of the Python toolkit is to make it easier for a DL_MONTE user to build and manage simulation workflows, and to analyse data. Such software is beneficial because it reduces the 'actual time' taken to solve a given problem. By 'actual time' we mean the total time taken for the necessary workflow of simulations to complete, in addition to the time the user spends preparing input files, writing their own analysis software, analysing data between simulations, etc. With this in mind, our additions to the Python toolkit serve to reduce the actual time a user would spend performing certain tasks, including data analysis, post-processing simulation data to extract uncertainties, applying the multiple histogram reweighting method, and calculating adsorption isotherms.
Moreover, there is an expertise required to write software to apply the statistical methods we have added to the Python toolkit. A DL_MONTE user may lack the expertise to write their own such software. Hence incorporating these methods into the toolkit is beneficial because it makes the methods readily accessible to 'non-experts'.
Multiple histogram reweighting allows one to make the most of the data one has at hand, mitigating the need to perform more simulations and ultimately reducing the computational resources required to solve a problem. It is noteworthy that for systems in which simulations are very computationally demanding it may be intractable to explore more than a couple of, say, temperatures. For such systems, multiple histogram reweighting could be the only way in which physical quantities could be explored at other temperatures.
The extension of the free-energy-method functionality in DL_MONTE to GCMC enables problems to be tackled which were previously intractable with DL_MONTE. Pinpointing the location of liquid-gas transitions is feasible using 'standard' GCMC only for simple systems in a very limited range of temperatures and pressures. In general, and certainly for complex systems, free energy methods are necessary. Keeping in mind that DL_MONTE's flexible force field enables it to treat a wide range of systems, this new functionality in DL_MONTE has thus enabled the liquid-gas transition to be studied with DL_MONTE in a plethora of systems. This could be useful for the development of models for fluids, and in studying adsorption phenomena where the liquid-gas transition plays a crucial role, such as wetting and drying.
[1] J. A. Purton, J. C. Crabtree & S. C. Parker, Mol. Sim. 39, 14 (2013)
[2] A. V. Brukhno et al., Mol. Sim., DOI:10.1080/08927022.2019.1569760 (2019)
[3] See, e.g., D. Frenkel and B. Smit, 'Understanding molecular simulation: from algorithms to applications', San Diego: Academic Press (2002)
[4] A. M. Ferrenberg & R. H. Swendsen, Phys. Rev. Lett. 63, 1195 (1989)
[5] http://www.ccp5.ac.uk/DL_MONTE
[6] http://gitlab.com/dl_monte
Figure 1: Isotherm for the Lennard-Jones fluid automatically generated by the Python framework.
Figure 2: Isotherm for the Lennard-Jones fluid obtained by applying MHR to DL_MONTE GCMC simulation data.
Figure 3: Free energy profiles obtained by GCMC free energy method functionality in DL_MONTE, and histogram reweighting, for methane modelled with the TraPPE-EH force field.