RASPA3: A Monte Carlo code for computing adsorption and diffusion in nanoporous materials and thermodynamics properties of fluids

J Chem Phys. 2024 Sep 21;161(11):114106. doi: 10.1063/5.0226249.

Abstract

We present RASPA3, a molecular simulation code for computing adsorption and diffusion in nanoporous materials and thermodynamic and transport properties of fluids. It implements force field based classical Monte Carlo/molecular dynamics in various ensembles. In this article, we introduce the new additions and changes compared to RASPA2. RASPA3 is rewritten from the ground up in C++23 with speed and code readability in mind. Transition-matrix Monte Carlo is added to compute the density of states and free energies. The Monte Carlo code for rigid molecules is based on quaternions, and the atomic positions needed in the energy evaluation are recreated from the center of mass position and quaternion orientation. The expanded ensemble methodology for fractional molecules, with a scaling parameter λ between 0 and 1, now also keeps track of analytic expressions of dU/dλ, allowing independent verification of the chemical potential using thermodynamic integration. The source code is freely available under the MIT license on GitHub. Using this code, we compare four Monte Carlo (MC) insertion/deletion techniques: unbiased Metropolis MC, Configurational-Bias Monte Carlo (CBMC), Continuous Fractional Component MC (CFCMC), and CB/CFCMC. We compare particle distribution shapes, acceptance ratios, accuracy and speed of isotherm computation, enthalpies of adsorption, and chemical potentials, over a wide range of loadings and systems, for the grand canonical ensemble and for the Gibbs ensemble.