/mpmc

A Monte Carlo molecular simulation software especially suited for materials simulations with polarizable models

Primary LanguageCGNU General Public License v3.0GPL-3.0

MPMC

MPMC

MPMC (Massively Parallel Monte Carlo) is an open-source Monte Carlo package primarily designed for the simulation of liquids, molecular interfaces and functionalized nanoscale materials. It was originally developed by Jon Belof, includes contributions from Keith McLaughlin, Brant Tudor, Christian Cioce, Adam Hogan, and Douglas Franz, and is currently maintained by the Brian Space group in the Department of Chemistry at North Carolina State University. MPMC has been applied to the scientific research challenges of nanomaterials for clean energy, environmental sequestration, and molecular detection. Developed to run efficiently on the most powerful supercomputing platforms, MPMC can scale to very large numbers of CPUs or GPUs (with support provided for NVidia's CUDA).

Optimized for the study of nanoscale interfaces, MPMC supports many common intermolecular potentials including Lennard-Jones and damped dispersion paired with exponential repulsion, many-body polarization, coupled-dipole van der Waals, quantum rotational statistics, semi-classical quantum effects, advanced importance sampling methods relevant to fluids, and numerous tools for the development of intermolecular potentials.

Getting Started

Libraries

Currently a basic build of MPMC only requires a modern C compiler and CMake. Optionally MPMC may be configured to use OpenMPI or CUDA. Configuring with Coupled-Dipole VDW or QM Rotation requires LAPACK.

Supported Platforms

MPMC supports compilation on Linux, macOS, and Windows; however MPMC is primarily tested on Linux and support is not guaranteed on other platforms.

Downloading MPMC

MPMC can be downloaded with the following command.

git clone https://github.com/mpmccode/mpmc

Compiling MPMC

Once MPMC has been downloaded it may be compiled with the following command.

bash compile.sh

Documentation Link

Additional documentation, including tutorials, detailed command lists, and PHAST/PHAHST models are available at the following link.

http://mpmccode.github.io/mpmc/

Selected Publications