WWW.C-CHEM.ORG
SOFTWARE NEWS AND UPDATES
Cassandra: An Open Source Monte Carlo Package for Molecular Simulation Jindal K. Shah,[a] Eliseo Marin-Rimoldi,[b] Ryan Gotchy Mullen,[b] Brian P. Keene,[b] Sandip Khan,[c] Andrew S. Paluch,[d] Neeraj Rai,[e] Lucienne L. Romanielo,[f ] Thomas W. Rosch,[g] Brian Yoo,[b,h] and Edward J. Maginn *[b] Cassandra is an open source atomistic Monte Carlo software package that is effective in simulating the thermodynamic properties of fluids and solids. The different features and algorithms used in Cassandra are described, along with implementation details and theoretical underpinnings to various methods
used. Benchmark and example calculations are shown, and information on how users can obtain the package and contribC 2017 Wiley Periodicals, Inc. ute to it are provided. V
Introduction
two phases be satisfied for each species present. This can be enforced easily with MC by molecule “creation” and “destruction” moves within a grand canonical ensemble MC simulation or by molecule “swap” moves during a Gibbs ensemble simulation.[39] Enforcing equality of chemical potentials between phases is much more difficult with MD. Second, through creative design of moves that take large strides in configuration space, it is possible with MC to achieve equilibration many orders of magnitude faster than with MD. For sluggish systems like polymers where relevant timescales can be seconds or minutes, it is impossible to guarantee that a system has reached equilibrium with an MD simulation that takes femtosecond time steps. Advances such as multiple time
Molecular modeling and simulation techniques, including quantum mechanical (QM) as well as classical force field-based molecular dynamics (MD) and Monte Carlo (MC) methods, have found their way into almost every field of scientific and engineering research. The widespread adoption of these methods has been driven by advances in computing power and algorithms as well as by the availability of robust and validated software. QM methods are mature and widely utilized. It is remarkable that, despite its underlying complexity, advanced computational quantum chemistry methods are used routinely by both experts who develop new methods as well as by nonexperts. A simple Web of Science search under “electronic structure calculation” draws about 10,000 citations. The reason these extremely sophisticated simulations can be used by such a wide and diverse audience is because validated and easy-touse software tools exist. There are several quantum chemical software packages, with Table 1 listing just some of the commercial and open source versions available. The codes cover the spectrum of methods and are continuously being refined by a large user base. The situation is very similar for MD codes. MD has gained widespread acceptance and use by both experts and nonexperts, in large part because there are so many easy-to-use MD packages available, several of which are shown in Table 1. Most of these codes are highly optimized and capable of simulating almost any type of molecule. As can be seen in Table 1, there are fewer MC codes than QM or MD codes. This is not because MC is unimportant. In fact, MC has several advantages over MD when it comes to modeling materials. First, MC can be adapted readily to sample the probability density of equilibrium ensembles judiciously designed to address specific systems and problems. MC is particularly useful when computing phase equilibria and free energies. For example, computing the coexistence condition between a solid and a liquid or a liquid and a vapor phase requires that equalities of chemical potentials between the
DOI: 10.1002/jcc.24807
[a] J. K. Shah School of Chemical Engineering, Oklahoma State University, Stillwater, Oklahoma 74078 [b] E. Marin-Rimoldi, R. G. Mullen, B. P. Keene, B. Yoo, E. J. Maginn Department of Chemical and Biomolecular Engineering, University of Notre Dame, Notre Dame, Indiana 46556 E-mail:
[email protected] [c] S. Khan Department of Chemical Engineering, Indian Institute of Technology, Patna, India [d] A. S. Paluch Department of Chemical, Paper and Biomedical Engineering, Miami University, Oxford, Ohio 45056 [e] N. Rai Dave C. Swalm School of Chemical Engineering, Mississippi State University, Mississippi State, Mississippi 39762 [f ] L. L. Romanielo School of Chemical Engineering, Universidade Federal de Uberl^ andia, Brazil [g] T. W. Rosch Materials Measurement Laboratory, National Institute of Standards and Technology, Gaithersburg, Maryland 20899 [h] B. Yoo BASF Corporation, Quantum Chemistry Modeling & Formulation Research, 540 White Plains Road, Tarrytown, New York 10591 Contract grant sponsor: National Science Foundation; Contract grant number: ACI-1339785; Contract grant sponsor: Air Force Office of Scientific Research; Contract grant numbers: AFOSR FA9550-10-1-0244 and AFOSR FA9550-14-1-0306, subaward 421-21-068 C 2017 Wiley Periodicals, Inc. V
Journal of Computational Chemistry 2017, DOI: 10.1002/jcc.24807
1
SOFTWARE NEWS AND UPDATES
WWW.C-CHEM.ORG
Table 1. Some of the molecular modeling and simulation codes in use today. Name
License [1]
ABINIT ACES II[3] ADF[5] CP2K[7] CPMD[9] Dalton[11] DMOL3[13] GAMESS[15] Gaussian[17] Jaguar[19] Molpro[21] NWChem[23] ORCA[25] Psi4[27] Q-Chem[29] Spartan[31] SIESTA[33] TURBOMOLE[35] VASP[37]
open open commercial open open open commercial open commercial commercial commercial open open open commercial commercial open commercial commercial
Type QM QM QM QM QM QM QM QM QM QM QM QM QM QM QM QM QM QM QM
Name [2]
LAMMPS NAMD[4] DL_POLY[6] GROMACS[8] MDynaMix[10] Desmond[12] MOLDY[14] GULP[16] Tinker[18] CHARMM[20] Amber[22] OpenMD[24] HyperChem[26] BOSS[28] Gibbs[30] GOMC[32] ms2[34] RASPA[36] Towhee[38]
License
Type
open open open open open open open open open commercial commercial open commercial commercial commercial open open open open
MD MD MD MD MD MD MD MD MD MD MD MD MD MC MC MC MC MC MC
stepping algorithms[40] and massively parallel codes have helped, but the fundamental limit of MD is the deterministic trajectory. Because MC moves do not follow a deterministic trajectory, the efficiency of MC in equilibrating a system is limited only by the power of the particular sampling algorithm and the creativity of the algorithm developer. For example, advanced MC sampling schemes such as connectivity alteration[41] and other sophisticated methods[42] have enabled polymer melts having chains with 1000 bonded units to be equilibrated efficiently,[43] something that is very difficult to do with MD. As another example, simulations of crystal lattice vacancies and atomic motion in these lattices typically use QM methods to compute the relative energies of states, and then MC methods to simulate the distribution of species in the lattice.[44] Barrier heights are typically so high that MD methods are incapable of simulating motion in these lattices. Finally, MC offers the possibility of introducing rigorous bias schemes, or even dispensing with importance sampling altogether, in addressing the thermodynamics of systems with rugged potential energy hypersurfaces. Methods such as parallel tempering[45] and transition matrix[46] have been developed in recent years to sample such systems efficiently. An enlightening discussion of MC methods and their use may be found in a review article by Theodorou.[47] The diversity of MC moves is part of the reason there are so few general purpose MC codes available. Unlike QM and MD methods, which essentially solve a single equation and use gradients in energy to generate new configurations, MC generates configurations subject to the constraints of the probability distribution governed by the particular ensemble being simulated. This makes it much more difficult to develop robust methods that can be applied in a wide variety of circumstances. That is why several of the codes listed in Table 1 are specialized for certain classes of problems such as adsorption (RASPA) or biomolecules (BOSS). This in no way detracts from 2
Journal of Computational Chemistry 2017, DOI: 10.1002/jcc.24807
the utility of these codes, but it simply reflects the fact that MC simulations are fundamentally different from MD and QM, and this makes it challenging to develop general and efficient software tools. The only open MC package in Table 1 that we are aware of that contains support for simulations in a range of ensembles (canonical, isothermal-isobaric, grand canonical, and Gibbs), can handle most all molecular topologies (branches, rings), supports a large number of force fields and contains some of the latest advanced sampling moves such as configurational and rotational bias is the package Towhee.[38] For this reason, we decided to develop and release a general purpose MC code that is flexible, open source, and designed to be used and extended by the broader research community. The specific attributes we designed into the code are as follows: Capable of simulating any type of molecule in bulk and heterogeneous environments Contains a wide range of advanced sampling techniques and phase equilibria methods Supports the most popular ensembles Provides tools to easily set up systems with popular force fields such as AMBER and CHARMM Has capability of simulating both 12-6 Lennard–Jones and general Mie potential functional form for van der Waals interactions Is capable of handling electrostatic interactions using either Ewald summation or damped shifted force method Has a logical and easy to use interface Interfaces with common molecule builders Is fast and parallelized Has user support services (indexed user forum) Modular approach enables the user community to easily modify, extend and add new functionality to the code The code we developed is called Cassandra, and has been released under the GNU Public License version 3. It is available for download at http://cassandra.nd.edu. The objective of this article is to describe the capabilities of Cassandra, provide information on how the various methods work, and to serve as a reference for users. A much more detailed treatment of the use of Cassandra is available in the code documentation at the website.
Theory and Algorithms Fragment-based sampling The goal of a Monte Carlo simulation is to generate a Markov chain of states consistent with a given statistical mechanical probability distribution. A number of sophisticated Monte Carlo algorithms have been developed to achieve this goal for complex molecular systems.[48] In Cassandra, a molecular fragment decomposition scheme is used to efficiently sample highly coupled molecular degrees of freedom.[49,50] In this method, a molecule is decomposed into separate fragments, each of which has an associated library of conformations WWW.CHEMISTRYVIEWS.COM
WWW.C-CHEM.ORG
Figure 1. Decomposition of three different molecules into fragments. Complete molecules are shown on the left, whereas the individual fragments making up the molecules are shown on the right. [Color figure can be viewed at wileyonlinelibrary.com]
whose members are Boltzmann distributed. Using conformations drawn from this library, a molecule is reassembled in a step-by-step fashion using configurational-biased methods, as described below. In general, a fragment is composed of a central site bonded to two or more sites giving rise to multiple bond angles at the central site. As shown in Figure 1, a three-site water model is characterized as a single fragment consisting of three atoms: a central oxygen atom connected to two hydrogen atoms. Similarly, a united-atom model of ethanol is parsed into two distinct fragments. One fragment is composed of the unitedatom CH3 site, united-atom CH2, and oxygen with CH2 as the central site, while the second fragment is centered at the oxygen site with united-atom CH2 and hydrogen as its bonded atoms. All-atom models can be handled using the fragment approach as well by explicitly accounting for hydrogens in each of the fragments. For example, an all-atom model of propane is described by three fragments: two terminal fragments consisting of one carbon atom connected to three hydrogens and a central methylene carbon, and the second fragment consisting of a central carbon atom connected to two terminal carbon atoms and two hydrogen atoms. Although fragments generally involve three or more atoms, monoatomic species such as argon and molecules containing two atoms such as nitrogen and carbon monoxide are also treated as fragments. The use of fragments enables one to separately sample the “hard” intramolecular degrees of freedom of a molecule and the “soft” intramolecular degrees of freedom. It also ensures the correct sampling of bond angle distributions during regrowth moves involving atoms bonded to more than two other atoms.[50,51] Note that Cassandra is designed to only treat molecules with fixed bond lengths. Generation of fragment libraries Before the start of a Cassandra simulation, each molecule type is broken into its constituent fragments. The identification of fragments in a molecule has been automated through a
SOFTWARE NEWS AND UPDATES
Python script that generates the molecular connectivity file with force field information (see below). For each of these fragments, an ideal gas phase canonical ensemble simulation is conducted to sample the intramolecular degrees of freedom of the fragment. If the fragment does not contain a ring, its initial configuration is generated randomly by placing the central atom at the origin and one of the bonded atoms along the x-axis. The remaining atoms are placed randomly on a sphere, the radius of which is determined by the bond length between the peripheral atom and the central atom. Sampling of the intramolecular degrees of freedom is carried out by random displacements in spherical coordinates of a randomly selected atom (except the central atom and the one aligned along the x-axis). A standard Metropolis acceptance criterion is used to accept or reject such moves.[50] Since any atom in the fragment is separated by no more than two bonds from any other atom in a fragment, only the difference in bond angle energies are required (due to fixed bond lengths). Cartesian coordinates of the fragment atoms are saved periodically to a library for use during the actual MC simulation. Typically 100,000 snapshots of a given fragment are generated and stored in an ASCII file from a 13106 step gas phase calculation, although these values can be specified by the user. If too few fragments are saved to the library, the proper intramolecular distribution is not obtained. Too many fragments leads to increased memory use. The fragment energy for each of the conformations along with the temperature of the simulation are also recorded. Note that the generation of a fragment library is carried out for each temperature of interest. Generating a library for fragments containing one or more rings is slightly more complicated. A ring fragment is made up of all the atoms in the ring as well as all atoms directly bonded to ring atoms (termed exo-ring atoms). Initial configurations of ring-containing fragments cannot be generated using the random procedure described above, as this method is not guaranteed to yield ring closure with fixed bond lengths. Instead, an initial configuration must be supplied. The easiest way to do this is to generate one configuration with a molecular drawing package. Starting from this initial configuration, which must be consistent with the specified fixed bond lengths, an ideal gas phase canonical ensemble simulation is carried out to sample intramolecular degrees of freedom of the fragment. Bond angles internal to the ring are sampled using a crank-shaft move.[50,52–54] In the case of four or more ring atoms (such as in cyclobutane or imidazole), perturbation of a ring atom also leads to a simultaneous change in some of the dihedral angles. The bond angle distributions associated with exo-ring atoms are obtained by random displacements in their spherical coordinates as described earlier. Since ring fragments can contain substantially more atoms than fragments without rings (where the maximum number of atoms is constrained by the valence of the central atom), it may be necessary to conduct a substantially longer MC simulation with snapshots of the fragments stored less frequently, say every 100 MC steps, to minimize correlations between successive conformations. The energy of each conformation along with the temperature is saved to the library. Note that for Journal of Computational Chemistry 2017, DOI: 10.1002/jcc.24807
3
SOFTWARE NEWS AND UPDATES
WWW.C-CHEM.ORG
fragments containing rings, the conformational energy does not necessarily consist only of bond angle energies. There can also be contributions from dihedral angles, improper angles, and intramolecular nonbonded interactions. Ensembles Cassandra is capable of performing atomistic simulations of fluids and heterogeneous phases such as solids or porous materials. The code supports the most common statistical mechanical ensembles, namely canonical (NVT), isothermalisobaric (NPT), grand canonical (lVT), and Gibbs ensemble (GE). In the following sections, the theory and relevant algorithms to each ensemble are described. Additionally, the acceptance rules as implemented in Cassandra are provided. For each ensemble, a Markov chain of states is generated consistent with the chosen ensemble probability distribution q. The detailed balance condition is used to determine the acceptance probability of moving from old state m to new state n anm qn accðm ! nÞ5min 1; amn qm
(1)
where amn and anm are the probabilities of attempting a move from state m to n and from state n to m, respectively. Canonical ensemble Consider a single component canonical ensemble with a total of N molecules in volume V and at temperature T. The probability of microstate m is qm / exp 2bUm qN
(3)
where the arguments qN have been omitted for clarity. Note that the acceptance rule for bond angle perturbations involves an additional term related to the angle of the bond.[49] More substantial changes in molecular internal degrees of freedom can be made by using a configurational biased regrowth move in which amn 6¼ anm . This move is carried out according to the following procedure. 1. Select a molecule with probability 1=N. 2. Select one of the Nbonds rotatable bonds within that molecule with a uniform probability 1=Nbonds. 4
Journal of Computational Chemistry 2017, DOI: 10.1002/jcc.24807
2bDUdih ik exp 2bDUdih ik 0 k0 51
exp Pdih ik 5 Xjdih
(2)
where Um ðqN Þ is the configurational energy of state m, qN corresponds to the generalized coordinates of all the molecules in the system, and b51=kB T. Five Monte Carlo moves are used to generate configurations. The first four moves are standard unbiased center-of-mass (COM) molecule translations, molecule rotations, bond angle perturbations, and dihedral angle perturbations. For these moves, amn 5anm and the acceptance rule for going from state m to state n is simply accðm ! nÞ5min ð1; exp ½2bðUn 2Um ÞÞ
3. Count the number of atoms on each side of the bond, and select one side weighted by the number of atoms that would remain if it were deleted, Pdel . Delete all the Ndel fragments on that side of the bond. 4. Select the sequence with which to reattach the Ndel fragments. Each fragment is weighted by the number of atoms that it will add to the molecule, giving the overall probability Pseq. 5. To regrow the deleted fragments, select a new conformation j for the deleted fragment i from the corresponding fragment library with a probability of Pfrag ij , which is a Boltzmann-weighted probability of only the intramolecular energies used in generating the fragment. 6. Generate a total of jdih dihedral trial orientations by rotating the new fragment as a rigid body about the bond that connects the preceding fragment. The rigid body rotation maintains the set of intramolecular degrees of freedom previously obtained from the fragment library. Since the probability of generating a particular dihedral angle / is d/=2p, the probability of generating a set of jdih dihedral angles for fragment i is jdih d/=2p. 7. For each trial dihedral angle k 0 , calculate the change in bonded and nonbonded energy DUdih ik 0 . A cutoff for the nonbonded interaction energy calculation that is smaller than the normal energy cutoff can be specified by the user to speed up the calculation. 8. Select one dihedral trial k with probability
(4)
The product jdih Pdih indicates the amount of bias ik applied in steps 6–8. If each of the jdih trials are equally probable, then jdih Pdih ik 51, that is, no bias was applied. If only one of the jdih trials is energetically viable, then Pdih ik 51 and the attempt probability is increased by a factor of jdih. 9. Repeat steps 5–8 until all deleted fragments have been added. The probability of attempting a transition from state m to state n is
amn 5
" del # N dih Pdel Pseq Y frag dih j d/ P P 2p NNbonds i51 ij ik
(5)
The reverse attempt probability anm is obtained in the standard way[55] in which an analogous procedure is used to generate conformations, except one of the sets of trials gives the old molecule configuration. Inserting eqs. (2) and (5) into eq. (1), we can derive the acceptance rule for biased regrowth moves. All of the terms in the ratio of attempt probabilities cancel out except Pfrag and ij WWW.CHEMISTRYVIEWS.COM
WWW.C-CHEM.ORG
Pdih ik , so only those terms are actually computed. The acceptance rule for biased regrowth moves is 0 Y del 1 N frag dih P P ik i51 ij B C nm exp ½2bðUn 2Um ÞC accðm ! nÞ5min B @1; YNdel frag A P Pdih ik i51 ij mn
(6)
Isothermal-isobaric ensemble In the isothermal-isobaric ensemble, the number of molecules N, pressure P, and temperature T are kept constant. The probability of observing a microstate m is qm / exp ½2bUm 2bPVm 1Nln ðVm Þ
(7)
The thermal equilibration moves used in Cassandra within the NPT ensemble are the same as those used in the NVT ensemble and the acceptance rule for such moves is given by eqs. (3) and (6). To maintain a constant pressure, random volume changes DV are made with a uniform probability within the user-defined interval ½2DVmax ; DVmax . Box lengths are modified and the COM of each molecule is scaled accordingly. The acceptance rule for this move is accðm ! nÞ Vn 5min 1; exp 2bðUn 2Um Þ2bPðVn 2Vm Þ1Nln Vm
(8)
SOFTWARE NEWS AND UPDATES
2. Choose a conformation j from the fragment library to assign a set of intramolecular degrees of freedom to fragment 1 with probability Pfrag 1j . 3. Choose a random fragment orientation with probability dhd/=4p if the fragment is linear, or with probability dhd /dw=8p2 if the fragment is nonlinear. We will use dqrot = Z rot to refer to either case. 4. Generate jins trial positions for the first fragment COM, each one with probability dr=V. 5. Choose a trial position k for the first fragment with probability exp 2bDUins 1k Pins (10) 5 Xjins 1k ins exp 2bDU 0 1k k0 51 where DUins 1k is the change in system energy that results from inserting fragment 1. Similar to regrowth moves, the product jins Pins 1k indicates the amount of bias applied in steps 4 and 5. 6. Regrow the rest of the molecule using the biased regrowth algorithm described earlier. The forward attempt probability for a molecule creation move is "N # frag dqrot dr Y d/ amn 5Pbias (11) mn Z rot V i52 2p where Pbias mn includes all the terms that bias the configuration of the inserted molecule "N # frag Y bias seq ins ins frag dih frag dih Pmn 5P j P1k P1j j Pij Pik (12) i52
The reverse probability of going from state n to state m involves picking the inserted molecule and deleting it, such that
Grand canonical ensemble In the grand canonical ensemble, the chemical potential l, the volume V, and the temperature T are kept constant. The probability of a particular configuration m is exp ½2bðUm 2lNm Þ qm / K3Nm
(9)
where Nm is the number of molecules, K is the de Broglie wavelength, and l is the chemical potential. Here, it is assumed that the system contains one component; for mixtures, each species will have its own chemical potential, de Broglie wavelength, and number of molecules. In addition to thermal equilibration moves, the grand canonical ensemble requires the use of molecule creation and destruction moves to maintain the desired chemical potential. These moves are also performed using the fragment-based approach. For molecule creation, the algorithm is as follows.
anm 5
1 Nm 11
Applying eq. (1) and utilizing a shifted chemical potential l0 that incorporates several species-specific constants that need not be computed, the acceptance rule for a molecule creation move in the grand canonical ensemble is ! V 0 ½ ð Þ accðm ! nÞ5min 1; 3 exp 2b Un 2Um 2l ðNm 11ÞPbias mn K (14) For the deletion move in which the number of molecules changes from Nm to Nm – 1, the forward probability involves picking a molecule in the current state m and deleting it. This attempt probability is analogous to eq. (13) amn 5
frag
1. Choose one of the N fragments of the molecule to be inserted and select the sequence with which to attach the remaining fragments. Each fragment is weighted by the number of atoms that it will add to the molecule, giving the overall probability Pseq.
(13)
1 Nm
The reverse probability (going from state inserting and regrowing the molecule in Therefore, the same insertion algorithm and ity is used. Note that one of the generated
(15) n to m) involves the old position. attempt probabiltrials must match
Journal of Computational Chemistry 2017, DOI: 10.1002/jcc.24807
5
SOFTWARE NEWS AND UPDATES
WWW.C-CHEM.ORG
the deleted molecule. The acceptance rule for the deletion move is 3 Nm Pbias nm K accðm ! nÞ5min 1; (16) exp ½2bðUn 2Um 2l0 Þ V where l0 is the same shifted chemical potential introduced in eq. (14). To relate the shifted chemical potential to a thermodynamic state, simulations at different values of l0 are conducted and properties such as the pressure and density are determined as a function of the shifted chemical potential. Gibbs ensemble The Gibbs ensemble Monte Carlo (GEMC) method is a standard technique for studying phase equilibria of pure fluids and mixtures.[1] It is oftentimes the method of choice to study vapor–liquid equilibria due to its intuitive physical basis. The NVT and NPT versions of this method (GEMC-NVT and GEMCNPT) have been implemented in Cassandra. The GEMC-NVT method is suitable for simulating vapor–liquid equilibria of pure systems, since pure substances require the specification of only one intensive variable (temperature) to completely specify the thermodynamic state. In contrast, mixtures require the specification of an additional degree of freedom (pressure). Thus, in the GEMC-NPT method, the pressure is specified in addition to temperature. In the GEMC-NVT method, the system is comprised of two boxes A and B that are equilibrated to the same temperature, pressure and chemical potential. While the temperature is specified, the pressure and chemical potential are not. Rather, the boxes are allowed to exchange volume and molecules under the constraint of constant total volume (V5V A 1V B ) and constant number of molecules (N5NA 1NB ). The probability of a particular configuration m is qm / exp 2b UAm 1UBm Þ1NAm ln ðVmA Þ1NBm ln ðVmB Þ
from one box and inserted in the other box. The forward and reverse attempt probabilities of the swap move follow the GCMC insertion algorithm. The acceptance rule for the swap move of a molecule from box A to box B is bias B A B P V A B accðm ! nÞ5min 1; mn exp 2b U 2U 2U 2b U n m n m A Pbias nm V (19) where the m and n subscripts have been omitted from the volumes since they are the same in both configurations. GEMC-NPT differs from GEMC-NVT in that the volume of each box is changed independently. As a result, the pressure appears in the probability of configuration m qm / exp 2b UAm 1UBm Þ2bPðVmA 1VmB Þ1NAm ln ðVmA Þ1NBm ln ðVmB Þ (20) where NAm and NBm are the total number of molecules of all species in each box. The acceptance rule for each move is identical to those previously derived: thermal moves are governed by eqs. (3) and (6), volume changes by eq. (8), and molecule swaps by eq. (19). Force fields Cassandra employs the following potential energy function to describe molecular interactions Utotal 5Uintra 1Uinter 1Utail
The first two terms in eq. (21) represent the intramolecular and intermolecular interactions, respectively, while the term Utail represents the long-range tail correction to the energy that arises from using a finite cutoff radius. The term Uintra is made up of bond angle, dihedral angle and improper angle terms as well as intramolecular van der Waals and Coulombic interactions
(17) Uintra 5Uangle 1Udihedral 1Uimproper 1Uintra;vdw 1Uintra;coul
Thermal equilibrium is attained by performing translation, rotation, angle perturbations, and regrowth moves. The acceptance rules for these moves are the same as in the canonical ensemble. Volume is exchanged between the two boxes to achieve pressure equilibrium. The attempt probabilities are symmetric, so the acceptance rule is derived from eq. (17) and yields accðm ! nÞ5 A B A V Vn min 1; exp 2b Un 2UAm 2b UBn 2UBm 1NA ln nA 1NB ln Vm VmB
(18) where the m and n subscripts have been omitted from number of molecules since they are the same in both configurations. Finally, molecules are exchanged (or swapped) between the two boxes to equalize the chemical potentials of each species. One molecule is selected with uniform probability, deleted 6
Journal of Computational Chemistry 2017, DOI: 10.1002/jcc.24807
(21)
(22)
Cassandra allows the user flexibility in the scaling of Uintra;vdw and Uintra;coul , depending on the number of bonds between the intramolecular atoms. Cassandra uses fixed bond lengths but allows fixed or flexible bond angles as well as terms for improper and dihedral angles. The bond angle, improper and dihedral energy contributions of the intramolecular interactions can be described using a harmonic potential. The dihedral or improper energy contributions can also be described using a CHARMM-style function UCHARMM dihedral 5a0 ½11cos ða1 /2dÞ
(23)
or an OPLS function UOPLS dihedral 5a0 1a1 ð11cos /Þ1a2 ð12cos 2/Þ1a3 ð11cos 3/Þ (24) The intermolecular energy Uinter is composed of van der Waals and Coulombic terms WWW.CHEMISTRYVIEWS.COM
SOFTWARE NEWS AND UPDATES
WWW.C-CHEM.ORG
Uinter 5Uinter;vdw 1Uinter;coul
(25)
The van der Waals energy can be modeled using the pairwise Lennard–Jones (LJ) or Mie potentials. The LJ potential requires size and energy parameters rij and ij for each pair of atoms i and j ULJ rij 54eij
" 6 # rij 12 rij 2 rij rij
(26)
In addition to rij and ij, the Mie potential requires repulsive and attractive exponents, n and m n m m
n n n2m rij rij UMie ðrij Þ5 eij 2 n2m m rij rij
(27)
Parameters for every pair of atom types can be set explicitly, or cross interactions can be computed using Lorentz–Berthelot or geometric mixing rules. Whether the LJ or Mie potential is used, the van der Waals interaction is truncated at distance rcut , which must be less than or equal to half the minimum box dimension. The resulting energy discontinuity at rcut can be corrected by shifting the potential or using a switching function. The long range interactions beyond rcut can be approximately compensated for by adding tail corrections. Shifting the van der Waals potential removes the discontinuity at rcut that occurs due to the Heaviside function H Ushift ðrij Þ5 Uvdw ðrij Þ2Uvdw ðrcut Þ H rcut 2rij
(29)
rij rcut
The switching potential is then
Na X Na qi qj erfc a rij 1X H rcut 2rij Ureal 5 2 i51 j6¼i 4pe0 rij
Urecip 5
h P 2 Na 1 1 X CðkÞ qi cos ð2pk ri Þ 4pe0 2pV jkj6¼0 i51 1
Finally, the van der Waals energy can be computed by summing the pairwise cut (but not shifted) energies and adding a tail correction Utail 5
2p X X Ni Nj V i j
ð1
dr r 2 Uvdw;ij ðrÞ
(31)
rcut
where each sum is over atom types and Ni is the number of atoms of type i. Since the tail correction depends on the atomic number density, it is recomputed when there is a change in the number of molecules or system volume.
P Na
2 i qi sin ð2pk ri Þ
(34)
i51
where the coefficients C(k) depend only on the magnitude jkj5k 22
" exp
pk 2 a
2 # (35)
Additional details on the implementation of eq. (34) are given below. The self-energy a
Uself 52
N X a pffiffiffi q2 4pe0 p i51 i
(36)
depends only on the number of atoms and so is only computed when molecules are inserted or deleted. Cassandra also ensures that the electrostatic energy contribution arising due to the interactions between the bonded atoms is excluded via eq. (37)
Uself;i 5 (30)
(33)
where each sum is over the number of atoms Na. The reciprocal energy is summed only over the periodic images using reciprocal vectors k
j5N bonded X
Uswitch ðrij Þ5Uvdw ðrij Þf ðrij Þ
(32)
by employing Gaussian charges of width a21 to screen every partial atomic charge. The real space energy is computed within the minimum image cell and is truncated beyond distance rcut by the Heaviside function H
CðkÞ5k
rij ron ron < rij < rcut
Ucoul 5Ureal 1Urecip 1Uself
(28)
One consequence of shifting the potential is that the energy is changed at all distances. Alternatively, a switching function can be used that only alters the energy beyond distance ron . The switching function f smoothly transitions from 1 at ron to 0 at rcut 8 1:0 > > > > > < ðr 2 2r 2 Þ2 ðr 2 23r 2 12r 2 Þ cut ij cut on ij f ðrij Þ5 2 > 2 3 > 2r r cut > on > > : 0:0
Two different methods are available in Cassandra to evaluate Ucoul in a periodic system. A conventional Ewald summation method is implemented that divides the Coulombic energy into three parts
j51
qi qj ðcj 211erfc a rij Þ 4pe0 rij
(37)
where Nbonded is the number of atoms that participate via bonded interactions with the atom i and cij is the intramolecular interaction scaling. For most force fields, cij 50 for atoms that are either directly bonded to each other or which are exactly separated by two bonds. For the so-called 1–4 intramolecular interactions between the atoms spaced apart exactly by three bonds, cij can take values between 0 and 1 depending on the type of force field employed. In addition to the standard Ewald sum method, Cassandra also allows the user to select the damped shifted force (DSF) method by Fennell and Gezelter.[56] This method is derived Journal of Computational Chemistry 2017, DOI: 10.1002/jcc.24807
7
SOFTWARE NEWS AND UPDATES
WWW.C-CHEM.ORG
from the damped and cutoff neutralized Coulombic sum proposed by Wolf et al.[57] The DSF method scales approximately linearly with system size, while the traditional Ewald sum scales quadratically. It has been shown that the DSF method is 1.3 to 1.4 times faster than the Ewald sum for bulk ionic liquid systems.[58] In the DSF method, the electrostatic energy is computed using a pairwise potential and a constant term a
UDSF ðrij Þ5
N X 1X qi qj 2 i51 j6¼i
erfcðarij Þ erfcðaRc Þ erfcðaRc Þ 2a exp ð2a2 R2c Þ ðr 2 1 1 2R Þ ij c rij Rc R2c Rc p1=2
(38) Na erfcðaRc Þ a X 1 1=2 q2i Uself 52 Rc p i51
(39)
where rij is the interparticle distance, Rc is the cutoff radius and a is an adjustable parameter. Workflow and file formats The typical process of setting up a new simulation is as follows: 1. Create a protein databank (PDB) or chemical markup language (CML) file containing the structure of the molecule(s) in the simulation. If needed, assign an atom type to each atom. 2. Generate a molecular connectivity file (MCF) using the provided Python script. A brief summary of the MCF is given below. 3. Create a simulation input file. A brief summary of the input file is given below. 4. Generate a fragment file library using the provided Python script. 5. Run the Cassandra simulation. The MCF contains the molecular topology, the force field parameters and the fragment information for each species present in the system. The provided Python script reads the configuration files to parse the molecule into fragments and determines which force field parameters are required. The input file is used to define the ensemble and corresponding thermodynamic variables. The types of moves and the probability of attempting each one must also be listed. Some moves may be required depending on the ensemble. For example, a constant pressure simulation must also list volume change moves with a nonzero probability. A detailed description of the MCF and input files and how to prepare them are provided in the Cassandra user manual. Benchmarks In the following section, benchmark calculations are described that demonstrate some of the capabilities of Cassandra and also that the algorithms have been properly implemented. 8
Journal of Computational Chemistry 2017, DOI: 10.1002/jcc.24807
Figure 2. Density-temperature behavior for the SPC water model in the NPT ensemble. Results obtained using Cassandra (black circles) are compared to those by Paschek[60] (blue triangles). Error bars from Cassandra are shown while those from Paschek are smaller than the symbol size. [Color figure can be viewed at wileyonlinelibrary.com]
Isothermal-isobaric ensemble The SPC water model[59] was used to perform benchmark calculations in the NPT ensemble. Densities were calculated for systems containing 512 water molecules simulated at 1 bar with temperatures ranging from 275 to 375 K in increments of 25 K. The cutoff radii for both Lennard–Jones and electrostatic ˚ , while long-range corrections were interactions were set to 9 A applied using standard tail corrections. The Ewald summation technique was employed to account for electrostatics with a number of reciprocal space vectors consistent to achieve a summation accuracy of 1026. The probability for translation, rotation, and volume moves were set to 0.499, 0.499, and 0.002, respectively. Prior to each run, 503106 Monte Carlo steps were performed at 298 K to obtain initial configurations for each production run. Subsequently, 1003106 steps were performed using three different random number seeds to obtain independent trajectories, from which average densities were computed. The standard deviation of the three trajectories was used to estimate the uncertainty in the computed density. Figure 2 shows that the simulated densities are in excellent agreement with those obtained by Paschek,[60] who performed MD simulations using analogous simulation conditions. Gibbs ensemble The implementation of the NVT version of the Gibbs ensemble was validated by computing the phase envelope and vapor pressures of n-octane and ethanol. Force field parameters were obtained from Martin et al.[61] and Chen et al.[62] A total of 400 molecules was used for both cases. Initial configurations were generated by inserting molecules into two boxes using the regrowth scheme described earlier. The initial densities of both phases were set to be within the phase envelope region. For both substances, the probability of translation, rotation, volume, regrowth, and swap moves were set to 0.30, 0.30, 0.005, 0.30, 0.095, respectively. The number of Monte Carlo steps used for equilibration varied from 106 for n-octane WWW.CHEMISTRYVIEWS.COM
WWW.C-CHEM.ORG
Figure 3. a) Temperature-density behavior and b) vapor pressures of the noctane TraPPE model. Results obtained using Cassandra are displayed in black circles, whereas results by Martin et al.[61] are displayed in blue triangles. Error bars are smaller than the symbol size. [Color figure can be viewed at wileyonlinelibrary.com]
up to 2003106 for low temperature ethanol simulations. The maximum displacement for translations and rotations were adjusted to achieve 50% acceptance rates during the equilibration phase. Production runs were carried out for at least 503 106 steps. Critical properties were estimated by fitting the simulation results to the density scaling law for critical temperature qliq 2qvap 5BðT2Tc Þb
SOFTWARE NEWS AND UPDATES
Figure 5. Adsorption isotherm of methane in the MFI zeolite at 300 K. Black circles represent results using Cassandra, blue triangles represent results by Abdul-Rehman et al.[67] and red squares are the results by Maginn et al.[65] [Color figure can be viewed at wileyonlinelibrary.com]
and those from Martin et al.[61] The results are virtually identical. Figure 4 shows a similar comparison between the Cassandra calculations and those of Chen et al.[62] for ethanol. Once again, the results are identical. Cassandra can also be used to perform NPT Gibbs ensemble simulations for mixtures. Examples of this method that involve ionic liquids and gas mixtures may be found in Singh et al.[63] and Marin-Rimoldi et al.[64]
(40) Grand canonical ensemble
and the law of rectilinear diameters for critical density qliq 1qvap 5qc 1AðT2Tc Þ 2
(41)
where b is the critical exponent for Ising-type fluids in three dimensions. As was found in previous work, the critical exponent was less than the universal Ising value of 0.325 and varied from b50:309 for n-octane to b50:28 for ethanol. Figure 3 shows a comparison of the n-octane vapor–liquid coexistence curve and Clausius–Clapeyron plot obtained with Cassandra
Figure 4. a) Temperature-density behavior and b) vapor pressures of the ethanol TraPPE model. Results obtained using Cassandra are displayed in black circles, whereas results by Chen et al.[62] are displayed in blue triangles. [Color figure can be viewed at wileyonlinelibrary.com]
The GCMC implementation in Cassandra was validated by computing adsorption isotherms of pure methane in the zeolite silicalite at 300 K and comparing with previously published results.[65] The zeolite structure was obtained from Olson et al.[66] and the force field parameters were the same as those used in the comparison study.[65] The simulation box consisted ˚ cutoff. Monte Carlo of a 33333 zeolite supercell with a 13 A moves were equally divided between translation, insertion and deletion. The system was equilibrated for 106 MC steps followed by 106 production steps to obtain averages. The results are shown in Figure 5 along with experimental data from Abdul-Rehman et al.[67] and previous simulation results obtained with a different code.[65] The agreement is excellent. As noted in the description of the GCMC ensemble, Cassandra uses a shifted chemical potential that must be related to the pressure via an independent fluid phase simulation to compute isotherms of the type shown in Figure 5. Figure 6 shows one such calculation for n-butane at 300 K using the TraPPE force field.[61] On the left is the computed pressure as a function of effective chemical potential. The fluid density is recorded during the simulations and the resulting pressuredensity isotherm is shown on the right. The results are compared against the experimental data of Younglove and Ely.[68] Since the TraPPE model is highly accurate for n-butane, the agreement with experiment also provides good evidence of the correct implementation of the GCMC method. Mixtures may also be simulated in the grand canonical ensemble. As an example, simulations of mixtures of methane Journal of Computational Chemistry 2017, DOI: 10.1002/jcc.24807
9
SOFTWARE NEWS AND UPDATES
WWW.C-CHEM.ORG
Pair energy storage To compute changes in the intermolecular energy Uinter efficiently, the van der Waals and Coulombic energy between a pair of molecules is stored in two separate N 3 N arrays. Before a molecule is perturbed, its interactions with the other N – 1 molecules are stored temporarily and then summed. Then, the molecule is moved, the energy in the new state is computed and the components stored in the original arrays. If the move is accepted, the pair interaction arrays already reflect the updated energies. If the move is rejected, however, the temporary arrays are used to restore the original interactions in the pair interaction arrays. Figure 6. a) Pressure versus shifted chemical potential for n-butane at 300 K. b) Pressure versus calculated densities for n-butane at 300 K. Black circles are results obtained using Cassandra and blue triangles are experimental data from Younglove and Ely.[68] [Color figure can be viewed at wileyonlinelibrary.com]
and n-butane adsorption into silicalite were carried out at 300 K and 3.45 bar. Force field parameters were obtained from Du et al.[69] A 33333 zeolite supercell was used along with a 13 A˚ cutoff. The probabilities of translation, insertion, deletion and regrowth (if necessary) moves were set to be equal to each other. The number of Monte Carlo steps used for equilibration was at least 23106 , while production runs consisted of 33106 steps. To set a relevant value of the shifted chemical potential for each of the gas species, several GCMC simulations were run beforehand to relate the pressure of the pure gas to chemical potential at a constant temperature. Figure 7 shows the results of mixed gas adsorption simulations. The results qualitatively agree with the experimental data of Abdul-Rehman et al.[67] There are no previous simulation results to compare against for this system.
Performance Enhancements
Reciprocal energy storage The reciprocal space electrostatic energy in eq. (34) includes sums of cosine and sine terms for each atom and reciprocal vector. To efficiently compute changes in Urecip, summed cosine and sine terms are stored by vector for each molecule, for example, cos_mol(k,i) for vector k and molecule i, and for the system, for example, cos_sum(k). Before a molecule is perturbed, these four arrays are stored temporarily. After a molecule is perturbed, the molecular cosine and sine summations are computed, stored in the original arrays, and used to update the system cosine and sine summations for vector k cos sumðkÞ5cos sumðkÞ1cos molðk; iÞ-cos mol old sin sumðkÞ5sin sumðkÞ1sin molðk; iÞ-sin mol old
(42)
If the move is rejected, the temporary arrays are used to restore the original arrays. Timing information Timing data for serial and parallel NVT simulations were collected. The selected systems were the Lennard–Jones fluid, the SPC water model and a united atom n-octane model. In all
Parallelism strategy Cassandra can be compiled to run as either a serial code or as a parallel code. The parallel version takes advantage of multicore computer architecture through openMP to reduce the computational expense of calculating the energy and the pressure. The nonbonded intermolecular energy and the reciprocal energy routines are parallelized for every MC move. The computational speedup due to this parallelization is most noticeable for volume change moves which require the reciprocal vectors to be recomputed. When the total system energy is computed from scratch, the intramolecular energy routines are also parallelized by computing the energy for each molecule on a different core. Routines that copy a large amount of information into temporary variables are also parallelized in Cassandra. This is often necessary during MC moves so that the old state can be restored if the move is rejected. Two examples are discussed below, followed by examples that quantify the parallel efficiency. 10
Journal of Computational Chemistry 2017, DOI: 10.1002/jcc.24807
Figure 7. Adsorbed amount of methane (1) and butane (2) in silicalite at 300 K and 3.45 bar as a function of methane gas phase mole fraction, Y1. Circles and triangles represent Cassandra simulations and experimental results by Abdul-Rehman et al.,[67] respectively. Filled and empty symbols represent data for butane and methane, respectively. [Color figure can be viewed at wileyonlinelibrary.com]
WWW.CHEMISTRYVIEWS.COM
WWW.C-CHEM.ORG
SOFTWARE NEWS AND UPDATES
there is a significant speedup in going from a single core to about four cores; after this, the performance gains are more modest when adding more cores. For the Lennard–Jones fluid, there is no significant speedup in using more cores and in fact, there is a slight performance degradation in going from one to two cores. Parallel efficiencies were quantified according to the following expression E ðpÞ5
Figure 8. Elapsed times for different NVT simulations. Blue, red, and black symbols represent simulations for octane, SPC water and methane, respectively. Triangles and circles represent system sizes of approximately 3000 or 1500 atoms, respectively. [Color figure can be viewed at wileyonlinelibrary. com]
cases, system sizes of between 1500 and 3000 atoms were tested. A total number of 103106 Monte Carlo steps were run. Error bars were estimated by running three identical simulations on different machines with the same architecture. Simulations were run on Hewlett–Packard Proliant DL165 Generation 6 servers clocked at 2.4 GHz with AMD Opteron processors. Double precision variables for storage of particle coordinates, distances and energies were used. No output to disk for coordinates or properties was specified. Initial configurations were generated using the configurational biased regrowth method described in previous sections. The results in Figure 8 show that the n-octane simulations take the most time, followed by SPC water and then the Lennard–Jones fluid. The code scales well with system size; the 3000 atom simulations do not take twice as much time as the 1500 atom simulations. It is also interesting to note that the SPC water simulations (with an Ewald summation) do not take significantly more time than the Lennard–Jones simulations. This demonstrates the efficiency of the performance enhancements made to the Ewald routine. For n-octane and SPC water,
Figure 9. Parallel efficiency for NVT simulations. The points below the black solid curve represent simulations that did not show a speed up as more cores were used. Symbols are the same as Figure 8. [Color figure can be viewed at wileyonlinelibrary.com]
T ð1Þ pT ðpÞ
(43)
where T ð1Þ and T ðpÞ are the elapsed time for a simulation run using a single core (serial execution), and the elapsed time for a simulation run using p processors. Figure 9 shows the results. The efficiency is highest for the SPC water model and lowest for the Lennard–Jones fluid. The parallel efficiency drops below 50% for all systems after about eight cores. Given this type of performance, it is recommended that users perform benchmark timing calculations with different numbers of processors before carrying out significant production calculations. Availability, support, and documentation Cassandra is an open source code released under the GNU General Public License. The code may be downloaded at cassandra.nd.edu. Users are asked to create an account and provide some basic information, which enables us to determine the size of the user base and to contact users when updates are available. The Cassandra website also has a forum page where users can post questions or seek help from the development team or other users. We encourage users to post to the forum when they have questions rather than send email, so that the questions and responses are available to all users. As of the time of writing this article, two workshops have been held on how to use Cassandra. The first was in January, lica de Chile. The sec2015 at the Pontificia Universidad Cato ond workshop was held in June, 2016 at the University of Notre Dame. Materials from the Notre Dame workshop may be found at the Cassandra website, and may be freely used in courses or training workshops. The Cassandra package is distributed as a single tar file and contains all the source code (written in Fortran90), documentation, extensive examples, and several Python scripts for helping with file creation. The code was developed over a number of years by various members of the Maginn group. We welcome contributions and extensions of the code from the community. Cassandra is currently maintained on a private repository on GitHub. If you are interested in becoming a developer, please contact Edward Maginn (
[email protected]). We also would be happy to receive any molecular connectivity files (MCFs) that users would like to contribute. Please document these files, especially listing force field information and your name, and send them to Edward Maginn or post them on the Forum. They will be included in future releases in a library of MCFs. Journal of Computational Chemistry 2017, DOI: 10.1002/jcc.24807
11
SOFTWARE NEWS AND UPDATES
WWW.C-CHEM.ORG
Acknowledgment The Notre Dame Center for Research Computing is acknowledged for infrastructure assistance. JKS acknowledges support from Oklahoma State University (OSU) and computational resources from the OSU High Performance Computing Center. Sandia National Laboratory and Dr. Steve Plimpton are acknowledged for hosting EJM on a research leave, which enabled the foundation of Cassandra to be created. Keywords: Monte Carlo molecular modeling atomistic simulation open source software thermodynamics
How to cite this article: J. K. Shah, E. Marin-Rimoldi, R. G. Mullen, B. P. Keene, S. Khan, A. S. Paluch, N. Rai, L. L. Romanielo, T. W. Rosch, B. Yoo, E. J. Maginn. J. Comput. Chem. 2017, DOI: 10.1002/jcc.24807
[1] X. Gonze, B. Amadon, P. M. Anglade, J.-M. Beuken, F. Bottin, P. Boulanger, F. Bruneval, D. Caliste, R. Caracas, M. Cote, T. Deutsch, L. Genovese, P. Ghosez, M. Giantomassi, S. Goedecker, D. Hamann, P. Hermet, F. Jollet, G. Jomard, S. Leroux, M. Mancini, S. Mazevet, M. J. Oliveira, G. Onida, Y. Pouillon, T. Rangel, G.-M. Rignanese, D. Sangalli, R. Shaltaf, M. Torrent, M. Verstraete, G. Zerah, J. Zwanziger, Comput. Phys. Commun. 2009, 180, 2582. [2] S. J. Plimpton, J. Comput. Phys. 1995, 117, 1. [3] J. F. Stanton, J. Gauss, J. D. Watts, W. J. Lauderdale, R. J. Bartlett, Int. J. Quantum Chem. 1992, (Suppl 26), 879. [4] J. Phillips, R. Braun, W. Wang, J. Gumbart, E. Tajkhorshid, E. Villa, C. Chipot, R. Skeel, L. Kale, K. Schulten, J. Comput. Chem. 2005, 26, 1781. [5] G. te Velde, F. Bickelhaupt, E. Baerends, C. Guerra, S. Van Gisbergen, J. Snijders, T. Ziegler, J. Comput. Chem. 2001, 22, 931. [6] I. Todorov, W. Smith, K. Trachenko, M. Dove, J. Mater. Chem. 2006, 16, 1911. [7] J. Hutter, M. Iannuzzi, F. Schiffmann, J. VandeVondele, Wiley Interdiscip. Rev. Comput. Mol. Sci. 2014, 4, 15. [8] H. J. C. Berendsen, D. van der Spoel, R. van Drunen, Comput. Phys. Commun. 1995, 91, 43. [9] R. Car, M. Parrinello, Phys. Rev. Lett. 1985, 55, 2471. [10] A. P. Lyubartsev, A. Laaksonen, Comput. Phys. Commun. 2000, 128, 565. [11] K. Aidas, C. Angeli, K. L. Bak, V. Bakken, R. Bast, L. Boman, O. Christiansen, R. Cimiraglia, S. Coriani, P. Dahle, E. K. Dalskov, U. Ekstr€ om, T. Enevoldsen, J. J. Eriksen, P. Ettenhuber, B. Fernndez, L. Ferrighi, H. Fliegl, L. Frediani, K. Hald, A. Halkier, C. H€attig, H. Heiberg, T. Helgaker, A. C. Hennum, H. Hettema, E. Hjertens, S. Hst, I.-M. Høyvik, M. F. Iozzi, B. Jansk, H. J. A. Jensen, D. Jonsson, P. Jørgensen, J. Kauczor, S. Kirpekar, T. Kjaergaard, W. Klopper, S. Knecht, R. Kobayashi, H. Koch, J. Kongsted, A. Krapp, K. Kristensen, A. Ligabue, O. B. Lutnæs, J. I. Melo, K. V. Mikkelsen, R. H. Myhre, C. Neiss, C. B. Nielsen, P. Norman, J. Olsen, J. M. H. Olsen, A. Osted, M. J. Packer, F. Pawlowski, T. B. Pedersen, P. F. Provasi, S. Reine, Z. Rinkevicius, T. A. Ruden, K. Ruud, V. V. Rybkin, P. Sałek, C. C. M. Samson, A. S. de Mers, T. Saue, S. P. A. Sauer, B. Schimmelpfennig, K. Sneskov, A. H. Steindal, K. O. SylvesterHvid, P. R. Taylor, A. M. Teale, E. I. Tellgren, D. P. Tew, A. J. Thorvaldsen, L. Thgersen, O. Vahtras, M. A. Watson, D. J. D. Wilson, M. Ziolkowski, H. ˚ gren, Wiley Interdiscip. Rev. Comput. Mol. Sci. 2014, 4, 269. A [12] K. J. Bowers, E. Chow, H. Xu, R. O. Dror, M. P. Eastwood, B. A. Gregersen, J. L. Klepeis, I. Kolossvary, M. A. Moraes, F. D. Sacerdoti, J. K. Salmon, Y. Shan, D. E. Shaw, In Proceedings of the 2006 ACM/IEEE Conference on Supercomputing, SC ’06; ACM: New York, NY. [13] B. Delley, J. Chem. Phys. 1990, 92, 508. [14] K. Refson, Comput. Phys. Commun. 2000, 126, 310.
12
Journal of Computational Chemistry 2017, DOI: 10.1002/jcc.24807
[15] M. Schmidt, K. Baldridge, J. Boatz, S. Elbert, M. Gordon, J. Jensen, S. Koseki, N. Matsunaga, K. Nguyen, S. Su, T. Windus, M. Dupuis, J. A. Montgomery, J. Comput. Chem. 1993, 14, 1347. [16] J. Gale, J. Chem. Soc. Faraday Trans. 1997, 93, 629. [17] M. J. Frisch, G. W. Trucks, H. B. Schlegel, G. E. Scuseria, M. A. Robb, J. R. Cheeseman, G. Scalmani, V. Barone, B. Mennucci, G. A. Petersson, H. Nakatsuji, M. Caricato, X. Li, H. P. Hratchian, A. F. Izmaylov, J. Bloino, G. Zheng, J. L. Sonnenberg, M. Hada, M. Ehara, K. Toyota, R. Fukuda, J. Hasegawa, M. Ishida, T. Nakajima, Y. Honda, O. Kitao, H. Nakai, T. Vreven, J. A. Montgomery, Jr., J. E. Peralta, F. Ogliaro, M. Bearpark, J. J. Heyd, E. Brothers, K. N. Kudin, V. N. Staroverov, R. Kobayashi, J. Normand, K. Raghavachari, A. Rendell, J. C. Burant, S. S. Iyengar, J. Tomasi, M. Cossi, N. Rega, J. M. Millam, M. Klene, J. E. Knox, J. B. Cross, V. Bakken, C. Adamo, J. Jaramillo, R. Gomperts, R. E. Stratmann, O. Yazyev, A. J. Austin, R. Cammi, C. Pomelli, J. W. Ochterski, R. L. Martin, K. Morokuma, V. G. Zakrzewski, G. A. Voth, P. Salvador, J. J. Dannenberg, S. Dapprich, A. D. Daniels, O. Farkas, J. B. Foresman, J. V. Ortiz, J. Cioslowski, D. J. Fox, Gaussian09 Revision a.1. Available at: http://gaussian.com/g09citation/. [18] J. Ponder, TINKER—Software Tools for Molecular Design. Available at: http://dasher.wustl.edu/tinker/ (accessed on 26 January, 2016) [19] A. D. Bochevarov, E. Harder, T. F. Hughes, J. R. Greenwood, D. A. Braden, D. M. Philipp, D. Rinaldo, M. D. Halls, J. Zhang, R. A. Friesner, Int. J. Quantum Chem. 2013, 113, 2110. [20] B. R. Brooks, R. E. Bruccoleri, B. D. Olafson, D. J. States, S. Swaminathan, M. Karplus, J. Comput. Chem. 1983, 4, 187. [21] H.-J. Werner, P. J. Knowles, G. Knizia, F. R. Manby, M. Sch€ utz, Wiley Interdiscip. Rev. Comput. Mol. Sci. 2012, 2, 242. [22] D. A. Pearlman, D. A. Case, J. W. Caldwell, W. S. Ross, T. E. Cheatham, S. Debolt, D. Ferguson, G. Seibel, P. Kollman, Comput. Phys. Commun. 1995, 91, 1. [23] M. Valiev, E. Bylaska, N. Govind, K. Kowalski, T. Straatsma, H. V. Dam, D. Wang, J. Nieplocha, E. Apra, T. Windus, W. de Jong, Comput. Phys. Commun. 2010, 181, 1477. [24] J. D. Gezelter. OpenMD—Molecular Dynamics in the Open. Available at: http://openmd.org (accessed on 26 January, 2016) [25] F. Neese, Wiley Interdiscip. Rev. Comput. Mol. Sci. 2012, 2, 73. [26] Hypercube, Inc. Hyperchem. Available at: http://www.hyper.com (accessed on 26 January, 2016) [27] J. M. Turney, A. C. Simmonett, R. M. Parrish, E. G. Hohenstein, F. A. Evangelista, J. T. Fermann, B. J. Mintz, L. A. Burns, J. J. Wilke, M. L. Abrams, N. J. Russ, M. L. Leininger, C. L. Janssen, E. T. Seidl, W. D. Allen, H. F. Schaefer, R. A. King, E. F. Valeev, C. D. Sherrill, T. D. Crawford, Wiley Interdiscip. Rev. Comput. Mol. Sci. 2012, 2, 556. [28] W. L. Jorgensen, J. Tirado-Rives, J. Comput. Chem. 2005, 26, 1689. [29] Y. Shao, Z. Gan, E. Epifanovsky, A. T. B. Gilbert, M. Wormit, J. Kussmann, A. W. Lange, A. Behn, J. Deng, X. Feng, D. Ghosh, M. Goldey, P. R. Horn, L. D. Jacobson, I. Kaliman, R. Z. Khaliullin, T. Kus, A. Landau, J. Liu, E. I. Proynov, Y. M. Rhee, R. M. Richard, M. A. Rohrdanz, R. P. Steele, E. J. Sundstrom, H. L. Woodcock, III, P. M. Zimmerman, D. Zuev, B. Albrecht, E. Alguire, B. Austin, G. J. O. Beran, Y. A. Bernard, E. Berquist, K. Brandhorst, K. B. Bravaya, S. T. Brown, D. Casanova, C.-M. Chang, Y. Chen, S. H. Chien, K. D. Closser, D. L. Crittenden, M. Diedenhofen, R. A. DiStasio, Jr., H. Do, A. D. Dutoi, R. G. Edgar, S. Fatehi, L. Fusti-Molnar, A. Ghysels, A. Golubeva-Zadorozhnaya, J. Gomes, M. W. D. Hanson-Heine, P. H. P. Harbach, A. W. Hauser, E. G. Hohenstein, Z. C. Holden, T.-C. Jagau, H. Ji, B. Kaduk, K. Khistyaev, J. Kim, J. Kim, R. A. King, P. Klunzinger, D. Kosenkov, T. Kowalczyk, C. M. Krauter, K. U. Lao, A. D. Laurent, K. V. Lawler, S. V. Levchenko, C. Y. Lin, F. Liu, E. Livshits, R. C. Lochan, A. Luenser, P. Manohar, S. F. Manzer, S.P. Mao, N. Mardirossian, A. V. Marenich, S. A. Maurer, N. J. Mayhall, E. Neuscamman, C. M. Oana, R. Olivares-Amaya, D. P. O’Neill, J. A. Parkhill, T. M. Perrine, R. Peverati, A. Prociuk, D. R. Rehn, E. Rosta, N. J. Russ, S. M. Sharada, S. Sharma, D. W. Small, A. Sodt, T. Stein, D. Stueck, Y.-C. Su, A. J. W. Thom, T. Tsuchimochi, V. Vanovschi, L. Vogt, O. Vydrov, T. Wang, M. A. Watson, J. Wenzel, A. White, C. F. Williams, J. Yang, S. Yeganeh, S. R. Yost, Z.-Q. You, I. Y. Zhang, X. Zhang, Y. Zhao, B. R. Brooks, G. K. L. Chan, D. M. Chipman, C. J. Cramer, W. A. Goddard, III, M. S. Gordon, W. J. Hehre, A. Klamt, H. F. Schaefer, III, M. W. Schmidt, C. D. Sherrill, D. G. Truhlar, A. Warshel, X. Xu, A. AspuruGuzik, R. Baer, A. T. Bell, N. A. Besley, J.-D. Chai, A. Dreuw, B. D.
WWW.CHEMISTRYVIEWS.COM
WWW.C-CHEM.ORG
[30]
[31] [32] [33] [34]
[35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48]
Dunietz, T. R. Furlani, S. R. Gwaltney, C.-P. Hsu, Y. Jung, J. Kong, D. S. Lambrecht, W. Liang, C. Ochsenfeld, V. A. Rassolov, L. V. Slipchenko, J. E. Subotnik, T. Van Voorhis, J. M. Herbert, A. I. Krylov, P. M. W. Gill, M. Head-Gordon, Mol. Phys. 2015, 113, 184. Materials Design, Gibbs—Thermodynamics of Fluids and Adsorption. Available at: http://www.materialsdesign.com/medea/gibbs (accessed on 26 January, 2016) Spartan Software, Wavefunction, Inc, 2016. Available at: https://www. wavefun.com/products/spartan.html (accessed on 26 January, 2016) J. R. Mick, E. Hailat, V. Russo, K. Rushaidat, L. Schwiebert, J. J. Potoff, Comput. Phys. Commun. 2013, 184, 2662. J. M. Soler, E. Artacho, J. D. Gale, A. Garca, J. Junquera, P. Ordejon, D. Sanchez-Portal, J. Phys. Condens. Matter 2002, 14, 2745. C. W. Glass, S. Reiser, G. Rutkai, S. Deublein, A. Kster, G. GuevaraCarrion, A. Wafai, M. Horsch, M. Bernreuther, T. Windmann, H. Hasse, J. Vrabec, Comput. Phys. Commun. 2014, 185, 3302. F. Furche, R. Ahlrichs, C. Httig, W. Klopper, M. Sierka, F. Weigend, Wiley Interdiscip. Rev. Comput. Mol. Sci. 2014, 4, 91. D. Dubbeldam, S. Calero, D. E. Ellis, R. Q. Snurr, Mol. Simul. 2016, 42, 81. G. Kresse, J. Hafner, Phys. Rev. B 1993, 47, 558. M. G. Martin, Mol. Simul. 2013, 39, 1212. A. Z. Panagiotopoulos, J. Phys. Condens. Matter 2000, 12, R25. M. Tuckerman, B. J. Berne, G. J. Martyna, J. Chem. Phys. 1992, 97, 1990. T. Mulder, V. A. Harmandaris, A. V. Lyulin, N. F. A. van der Vegt, M. A. J. Michels, Macromol. Theory Simul. 2008, 17, 393. M. Laso, N. C. Karayiannis, M. M€ uller, J. Chem. Phys. 2006, 125, 164108. J. Ramos, L. D. Peristeras, D. N. Theodorou, Macromolecules 2007, 40, 9640. M. Leetmaa, N. V. Skorodumova, Comput. Phys. Commun. 2014, 185, 2340. U. Hansmann, Chem. Phys. Lett. 1997, 281, 140. J. Errington, J. Chem. Phys. 2003, 118, 9915. D. N. Theodorou, Ind. Eng. Chem. Res. 2010, 49, 3047. D. Frenkel, B. Smit, Understanding Molecular Simulation: From Algorithms to Applications, Computational Science Series; Academic Press: San Diego, CA, 2002.
[49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59]
[60] [61] [62] [63] [64] [65] [66] [67] [68] [69]
SOFTWARE NEWS AND UPDATES
M. Macedonia, E. Maginn, Mol. Phys. 1999, 96, 1375. J. K. Shah, E. J. Maginn, J. Chem. Phys. 2011, 135, T. J. H. Vlugt, R. Krishna, B. Smit, J. Phys. Chem. B 1999, 103, 1102. A. Baumgrtner, K. Binder, J. Chem. Phys. 1979, 71, 2541. A. J. Pertsin, J. Hahn, H. P. Grossmann, J. Comput. Chem. 1994, 15, 1121. L. D. Peristeras, I. G. Economou, D. N. Theodorou, Macromolecules 2005, 38, 386. J. I. Siepmann, D. Frenkel, Mol. Phys. 1992, 75, 59. C. J. Fennell, J. D. Gezelter, J. Chem. Phys. 2006, 124, 234104. D. Wolf, P. Keblinski, S. R. Phillpot, J. Eggebrecht, J. Chem. Phys. 1999, 110, 8254. B. W. McCann, O. Acevedo, J. Chem. Theory Comput. 2013, 9, 944. H. J. Berendsen, J. P. Postma, W. F. van Gunsteren, J. Hermans, In Intermolecular Forces, B. Pullman, Ed.; Springer: Dordrecht, 1981; pp. 331– 342. D. Paschek, J. Chem. Phys. 2004, 120, 6674. M. G. Martin, J. I. Siepmann, J. Phys. Chem. B 1998, 102, 2569. B. Chen, J. J. Potoff, J. I. Siepmann, J. Phys. Chem. B 2001, 105, 3093. R. Singh, E. Marin-Rimoldi, E. J. Maginn, Ind. Eng. Chem. Res. 2015, 54, 4385. E. Marin-Rimoldi, J. K. Shah, E. J. Maginn, Fluid Phase Equilib. 2016, 407, 117. E. J. Maginn, A. T. Bell, D. N. Theodorou, J. Phys. Chem. 1993, 97, 4173. D. H. Olson, G. T. Kokotailo, S. L. Lawton, W. M. Meier, J. Phys. Chem. 1981, 85, 2238. H. B. Abdul-Rehman, M. A. Hasanain, K. F. Loughlin, Ind. Eng. Chem. Res. 1990, 29, 1525. B. A. Younglove, J. F. Ely, J. Phys. Chem. Ref. Data 1987, 16, 577. Z. Du, G. Manos, T. J. H. Vlugt, B. Smit, AIChE J. 1998, 44, 1756.
Received: 6 February 2017 Revised: 22 March 2017 Accepted: 24 March 2017 Published online on 00 Month 2017
Journal of Computational Chemistry 2017, DOI: 10.1002/jcc.24807
13