GPU Optimized Monte Carlo (GOMC)

GOMC is open-source software for simulating molecular systems using the Metropolis Monte Carlo algorithm. The software has been written in object oriented C++, and uses OpenMP and NVIDIA CUDA to allow for execution on multi-core CPU and GPU architectures. GOMC employs widely-used simulation file types (PDB, PSF, CHARMM-style parameter files) . GOMC can be used to study vapor–liquid equilibria, adsorption in porous materials, surfactant self-assembly, and condensed phase structure for complex molecules. To learn more about GOMC, please refer to our documentation and recently published GOMC paper.


GOMC supports simulations in a variety of ensembles, which include: 

  • Canonical
  • Isothermal–isobaric
  • Grand canonical
  • Gibbs ensemble (constant volume and pressure)

Force fields

GOMC supports a variety of all-atom, united atom, and coarse grained force fields such as:

  • OPLS
  • TraPPE
  • Mie
  • Martini


GOMC supports a variety of molecular topologies:  

Monte Carlo moves

GOMC supports a variety of Monte Carlo moves, such as:


New and Upcoming Features

Brownian like multi-particle MC move

In release 2.75, GOMC added support for the multi-particle MC move with Brownian like motion, where all molecules will displace or rotate simultaneously.

Parallel Tempering

In a future release, GOMC will add support for parallel tempering and replica exchange in NVT, NPT, GCMC, and GEMC simulations. In GOMC, each replica can be run in parallel, using OpenMP.