Introduction

GPU Optimized Monte Carlo (GOMC) is open-source software for simulating many-body molecular systems using the Metropolis Monte Carlo algorithm. GOMC is written in object oriented C++, which was chosen since it offers a good balance between code development time, interoperability with existing software elements, and code performance. The software may be compiled as a single-threaded application, a multi-threaded application using OpenMP, or to use many-core heterogeneous CPU-GPU architectures using OpenMP and CUDA. GOMC officially supports Windows 7 or newer and most modern distribution of GNU/Linux. This software has the ability to compile on recent versions of macOS (x64 & ARM); however, such a platform is not officially supported.

GOMC employs widely-used simulation file types (PDB, PSF, CHARMM-style parameter file) and supports polar and non-polar linear and branched molecules. GOMC can be used to study vapor-liquid and liquid-liquid equilibria, adsorption in porous materials, surfactant self-assembly, and condensed phase structure for complex molecules.

To cite GOMC software, please refer to GOMC paper.

GOMC supported ensembles:

  • Canonical (NVT)

  • Isobaric-isothermal (NPT)

  • Grand canonical (\(\mu\) VT)

  • Constant volume Gibbs (NVT-Gibbs)

  • Constant pressure Gibbs (NPT-Gibbs)

GOMC supported Monte Carlo moves:

GOMC supported force fields:

  • OPLS

  • CHARMM

  • TraPPE

  • Mie

  • Martini

GOMC supported molecules:

Note

  • Biomolecules often have defined secondary structure which is maintained through improper terms, CMAP, and missing angles and dihedrals.

  • These complexities make sampling incorrect (improper, CMAP) or impossible (missing angles and dihedrals) in GOMC and these molecules should be held fixed.

Note

  • It is important to start the simulation with correct molecular geometry such as correct bond length, angles, and dihedral.

  • In GOMC if the defined bond length in Parameter file is different from calculated bond length in PDB files by more than 0.02 \(Å\), you will receive a warning message with detailed information (box, residue id, specified bond length, and calculated bond length)

Important

  • Molecular geometry of Linear and Branched molecules will be corrected during the simulation by using the Monte Carlo moves that uses coupled-decoupled configurational-bias method, such as Regrowth, Intra-box swap, and Inter-box swap.

Warning

  • Bond length of the Cyclic molecules that belong to the body of rings will never be changed. Incorrect bond length may result in incorrect simulation results.

  • To sample the angles and dihedrals of a Cyclic molecule that belongs to the body of the ring, Regrowth or Crankshaft Monte Carlo move must be used.

  • Any atom or group attached to the body of the ring, will uses coupled-decoupled configurational-bias to sample the molecular geometry.

  • Flexible Cyclic molecules with multiple rings (3 or more) that share edges (e.g. tricyclic), are not supported in GOMC. This is due the fact that no Crankshaft move can alter the angle or dihedral of this atom, without changing the bond length.