Abstract

This paper introduces mdFoam+, which is an MPI parallelised molecular dynamics (MD) solver implemented entirely within the OpenFOAM software framework. It is open-source and released under the same GNU General Public License (GPL) as OpenFOAM. The source code is released as a publicly open software repository that includes detailed documentation and tutorial cases. Since mdFoam+ is designed entirely within the OpenFOAM C++ object-oriented framework, it inherits a number of key features. The code is designed for extensibility and flexibility, so it is aimed first and foremost as an MD research tool, in which new models and test cases can be developed and tested rapidly. Implementing mdFoam+ in OpenFOAM also enables easier development of hybrid methods that couple MD with continuum-based solvers. Setting up MD cases follows the standard OpenFOAM format, as mdFoam+ also relies upon the OpenFOAM dictionary-based directory structure. This ensures that useful pre- and post-processing capabilities provided by OpenFOAM remain available even though the fully Lagrangian nature of an MD simulation is not typical of most OpenFOAM applications. Results show that mdFoam+ compares well to another well-known MD code (e.g. LAMMPS) in terms of benchmark problems, although it also has additional functionality that does not exist in other open-source MD codes. Program summaryProgram title: mdFoam+Program Files doi:http://dx.doi.org/10.17632/7b4xkpx43b.1Licensing provisions: GNU General Public License 3 (GPLv3)Programming language: C++Nature of problem: mdFoam+ has been developed to help investigate complex fluid flow problems at the micro and nano scales using molecular dynamics (MD). It provides an easily extended, parallelised, molecular dynamics environment.Solution method: mdFoam+ implements a classical molecular dynamics solution using an explicit time-stepping regime and inter-molecular force-field types appropriate for studying fluid dynamics problems down to the nano-scale.

Highlights

  • Molecular dynamics (MD) solves Newton’s equations of motion for ensembles of atoms and molecules that interact with each other in accordance with well-validated intermolecular potentials

  • This article has introduced mdFoam+, which has been developed in order to study complex fluid dynamics problems using molecular dynamics and to explore hybrid simulations that couple MD to continuum-fluid solvers

  • The code is released under the same General Public License (GPL) license as the OpenFOAM base it is released alongside, and is available as a public software repository [5] that includes documentation and example cases. mdFoam+ is parallelised using an MPI-based domain-decomposition approach built upon the parallel capability provided by OpenFOAM

Read more

Summary

Introduction

Molecular dynamics (MD) solves Newton’s equations of motion for ensembles of atoms and molecules that interact with each other in accordance with well-validated intermolecular potentials (or force fields). It is markedly different to these others as it has been designed primarily with non-equilibrium flow problems in mind and all of its functionality is built entirely within the OpenFOAM [4] framework This provides an inherent level of modularity, as well as potential interoperability by way of coupling with a large selection of other solver types that are built within OpenFOAM. Since its initial release towards the end of the 1980s, the core design concept of OpenFOAM has remained the same, to provide an open and extensible C++ based software package containing a wide range of libraries, pre- and post-processing tools and solvers, as well as an underlying framework that can be used to build new applications. In basing the core functionality of mdFoam+ around standard OpenFOAM libraries, the application is able to make use of the meshing capability provided by applications like blockMesh or snappyHexMesh, parallelised Lagrangian/mesh-tracking algorithms and pre- and post-processing methods. MD can be described as a discrete and deterministic simulation of matter modelled explicitly by atoms and molecules that interact with each other through intermolecular force potentials, and advance in time and space to produce trajectories, from which important material property measurements can be extracted

Background
Intermolecular potentials
Initialisation
Algorithmic overview
Rigid polyatomic molecules
Particle tracking
Force calculation and performance considerations
Potential cut-off
Calculate in parallel
Software implementation
Reduced units
2.11. Extensible design
Case definition
Mesh creation
Defining unit scaling
Case initialisation
Post-processing results
Source code structure
Validation
Molecular dynamics examples
Evaporating nanodroplet on a substrate
Water flowing through a carbon nanotube
Flow through a complex mixing channel
Conclusions and future work
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call