A collection of Python functions and scripts to run and analyze simulations of water inside carbon slit pores.
The goal of this project is to replicate the work of Gubbins and colleagues[1] using the Molecular Simulation and Design Framework (MoSDeF)[2,3]. MoSDeF aids in the initialization and parametrization of chemical systems for molecular simulation, and aims to be tightly integrated with the numerous molecular simulation codes available. Such integration allows for comparisons of simulation results from the various engines in a reproducible manner. Simulations are run using the following engines.
The work contained in this repository was used in our paper. The most recent version of the supplementary information is hosted on this repository here.
- Lennard-Jones (LJ) 12-6 potentials, cutoff, no analytical tail corrections
- 9.0 angstrom cutoffs for LJ and Coulombic interactions
- Long range electrostatics
All code to run the simulations are contained within the simulations
directory.
The naming convention is defined by 1) type of simulation 2) dimensions of the
molecular system and 3) simulation engine used.
The initialization and analysis code, as well as the force field files are
contained within the mosdef_slitpore
directory.
The simulations run with Cassandra, GROMACS, LAMMPS, and CP2K are managed by the signac framework[4]. There is a specific signac project for each slitpore system and simulation engine. Each project contains multiple jobs
with unique statepoints
which are conditions at which the simulations are run. Please see signac documentation for additional details.
The data can be visualized with a Jupyter notebook contained in the notebooks
directory, which calls the plotting functions in the plotting
directory.
The conda-installable packages are contained within environment.yml
.
Additionally, the GOMC
and CP2K
packages must be installed from source, as
well as the Pore-Builder mBuild
recipe. Please see (link to paper) for detailed installation instructions.
To install this package simply execute the following on the command line: pip install -e .
The simulations and analysis in this package can also be run with using Docker. To run the docker image, execute the following command docker run -it rmatsum/mosdef-slitpore:latest
which will pull the latest docker image from Docker Hub. Running this image will drop you into a bash
shell in the container at the location /workspace
. In general, containers are intended to be used as an "application", meaning no persistent data should be stored in the container. If you are in a working directory with necessary input files, such as LAMMPS, you can run lammps
with the following command:
docker run --mount type=bind,source=$(pwd),target=/workspace rmatsum/mosdef-slitpore:latest "lmp_mpi < in.lammps"
It is highly advised to run these simulations on a supercomputer or cluster. For the simulations that
are managed with signac, the submission of job operations can be handled by an
environment
class. Please see the signac documentation
here for a list of
supported environments.
- Striolo, A.; Chialvo, A. A.; Cummings, P. T.; Gubbins, K. E. Water Adsorption in Carbon-Slit Nanopores. Langmuir, 2003, 19 (20), 8583–8591.
- Klein, C.; Sallai, J.; Jones, T.; Iacovella, C. R.; McCabe, C.; Cummings, P. T. A Hierarchical, Component Based Approach to Screening Properties of Soft Matter. Foundations of Molecular Modeling and simulation, 2016.
- Klein, C.; Summers, A. Z; Thompson, M. W.; Gilmer, J. B.; McCabe, C.; Cummings, P. T.; Sallai, J.; Iacovella, C. R. Formalizing Atom-typing and the Dissemination of Force Fields with Foyer. Comput. Mater. Sci., 2019, 167, 215-227.
- Adorf, C. S.; Dodd, P. M.; Ramasubramani, V.; & Glotzer, S. C. Simple Data and Workflow Management with the Signac Framework. Comput. Mater. Sci., 2018, 146, 220-229.