/gRASPA

GPU Monte Carlo Simulation Code with a taste of RASPA

Primary LanguageC++MIT LicenseMIT

gRASPA

gRASPA (pronounced “gee raspa”) is a GPU-accelerated Monte Carlo simulation software built for molecular adsorption in nanoporous materials, such as zeolites and metal-organic frameworks (MOFs).

Tests License

Manual Manual Doxygen

GitHub repo size in bytes Lines STARS

Installation

Installation in clusters

To install gRASPA on NERSC (DOE) and QUEST (Northwestern) clusters, check out Cluster-Setup

Installation on local machines

A detailed installation note for gRASPA on CentOS/Ubuntu 24.04 is documented in the manual here

Compatible GPUs

  • For NVIDIA GPUs, gRASPA code has been tested on the following NVIDIA GPUs:
    • A40, A100, RTX 3080 Ti, RTX 3090, RTX 4090.
    • 🤯: RTX 3090/4090 is faster than A40/A100 for gRASPA
  • gRASPA has a SYCL version (experimental) that supports other devices, available in Releases

Quick Start

gRASPA Manual

Reference

  • gRASPA paper is currently in progress. Please kindly cite it when it is published.
  • Part of gRASPA is available in Zhao Li's dissertation

Table of Code Capabilities

Functionalities gRASPA gRASPA-fast gRASPA-HTC
Simulation Types
Canonical Monte Carlo
(NVT-MC)
✔️ ✔️ ✔️
Grand Canonical Monte Carlo
(GCMC)
✔️ ✔️ ✔️
Transition-Matrix Monte Carlo
in grand canonical ensemble
(GC-TMMC)
✔️ ✔️
Mixture Adsorption via GCMC ✔️
NVT-Gibbs MC ✔️ ✔️
Interactions
Lennard-Jones (12-6) ✔️ ✔️ ✔️
Short-Range Coulomb ✔️ ✔️ ✔️
Long-Range Coulomb: Ewald Summation ✔️ ✔️ ✔️
Analytical Tail Correction ✔️ ✔️
Machine-Learning Potential
(via LibTorch and cppFlow)
✔️
Moves
Translation/Rotation ✔️ ✔️ ✔️
Configurational-Bias Monte Carlo (CBMC) ✔️ ✔️
Widom test particle insertion ✔️ ✔️
Insertion/Deletion
(without CBMC)
✔️ ✔️ ✔️
Insertion/Deletion
(with CBMC)
✔️ ✔️
Identity Swap ✔️
NVT-Gibbs volume change move ✔️ ✔️
Gibbs particle transfer ✔️ ✔️
Configurational Bias/
Continuous Fractional Components
(CB/CFC) MC
✔️ ✔️
Extra Functionalities
Write: LAMMPS data file ✔️ ✔️ ✔️
Read: LAMMPS data file ✔️
Write: Restart files
(Compatible with RASPA-2)
✔️ ✔️
Read: Restart files ✔️ ✔️
Peng-Robinson Equation of State ✔️
Automatic Determination
of # unit cells
✔️

Authors

  • Zhao Li (Northwestern University, currently at Purdue University)
  • Kaihang Shi (Northwestern University, currently at University at Buffalo)
  • David Dubbeldam (University of Amsterdam)
  • Mark Dewing (Argonne National Laboratory)
  • Christopher Knight (Argonne National Laboratory)
  • Alvaro Vazquez Mayagoitia (Argonne National Laboratory)
  • Randall Q. Snurr (Northwestern University)