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:


Future Release

Brownian like multi-particle MC move

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

Parallel Tempering

In the next release, GOMC will support the parallel tempering and replica exchange in NVT, NPT, GCMC, and GEMC simulation. In GOMC, each replica can be run in parallel, using OpenMP.