CASSANDRA. Computational Atomistic Simulation Software At Notre Dame for Research Advances

Size: px
Start display at page:

Download "CASSANDRA. Computational Atomistic Simulation Software At Notre Dame for Research Advances"

Transcription

1 1 CASSANDRA Computational Atomistic Simulation Software At Notre Dame for Research Advances User Manual 1.2 2/15/2018 Written by: Edward J. Maginn, Jindal K. Shah, Eliseo Marin-Rimoldi, Brian P. Keene, Sandip Khan, Ryan Gotchy Mullen, Andrew Paluch, Neeraj Rai, Lucienne Romanielo, Thomas Rosch, Brian Yoo c University of Notre Dame du Lac, 2018

2 2 Preface and Disclaimer Cassandra is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. This user manual is distributed along with the Cassandra software to aid in setting up various input files required for carrying out a Cassandra Monte Carlo simulation. Every effort is made to release the most updated and complete version of the manual when a new version of the software is released. To report any inconsistencies, errors or missing information, or to suggest improvements, send to Edward Maginn (ed@nd.edu).

3 3 Acknowledgements Support for this work was provided by a grant from the National Science Foundation entitled SI2-SSE: Development of Cassandra, a General, Efficient and Parallel Monte Carlo Multiscale Modeling Software Platform for Materials Research, grant number ACI Ed Maginn would like to acknowledge financial support from Sandia National Laboratory s Computer Science Research Institute, which enabled him to take a research leave and lay the foundation for Cassandra in collaboration with Jindal Shah, who stayed behind at Notre Dame and helped keep the group going. The hospitality of Steve Plimpton and co-workers at Sandia is gratefully acknowledged. Finally, we would also like to thank the Center for Research Computing at Notre Dame, which provided support, encouragement, and infrastructure to help bring Cassandra to life. People who have contributed to Cassandra through algorithm development and / or writing code (to date) include: Ed Maginn Jindal Shah Eliseo Marin Brian Keene Sandip Khan Ryan Gotchy Mullen Andrew Paluch Neeraj Rai Lucienne Romanielo Tom Rosch Brian Yoo Some legacy code was used in the creation of Cassandra, and the following former students are recognized for their work: David Eike Jim Larentzos Craig Powers

4 4

5 Contents 1 Introduction Distribution Force Field Bonds Angles Dihedrals Impropers Nonbonded Repulsion-Dispersion Interactions Electrostatics Cassandra Basics Flow Diagram Cassandra Simulation Setup Cassandra File Preparation MCF File

6 6 CONTENTS Input File Fragment Library Generation Running a Simulation Restarting a Simulation Cassandra Output Files Files Required to Run Cassandra Simulation Input File Run Name Simulation Type Number of species VDW Style Charge Style Mixing Rule Starting Seed Minimum Cutoff Pair Energy Storage Molecule Files Simulation Box Temperature Pressure Chemical Potential Move Probabilities Start Type

7 CONTENTS Run Type Simulation Length Property Output Fragment Files Verbosity in log file File Info CBMC parameters Molecular Connectivity File Atom Info Bond Info Angle Info Dihedral Info Intramolecular Scaling Fragment Info Fragment Connectivity Utilities Generate a Molecular Connectivity File Generate Library of Fragment Configurations Simulating Rigid Solids and Surfaces Input file PDB file Molecular connectivity file

8 8 CONTENTS 6.4 Fragment library files Configuration xyz file Implementing the Metropolis Acceptance Criteria Canonical Monte Carlo Translating a Molecule Rotating a Molecule Regrowing a Molecule Canonical Partition Function Isothermal-Isobaric Monte Carlo Scaling the Volume Grand Canonical Monte Carlo Inserting a Molecule withconfigurational Bias Monte Carlo Deleting a Molecule that was Inserted viaconfigurational Bias Monte Carlo Regrowing a Molecule with Configurational Bias Monte Carlo Gibbs Ensemble Monte Carlo Gibbs Ensemble-NVT Gibbs Ensemble-NPT Volume Exchange Moves Molecule Exchange Moves Multicomponent Systems Appendix Inserting a Molecule Randomly Deleting a Molecule Inserted Randomly

9 Chapter 1 Introduction Cassandra is an open source Monte Carlo package capable of simulating any number of molecules composed of rings, chains, or both. It can be used to simulate compounds such as small organic molecules, oligomers, aqueous solutions and ionic liquids. It handles a standard Class I -type force field having fixed bond lengths, harmonic bond angles and improper angles, a CHARMM or OPLS-style dihedral potential, a Lennard-Jones 12-6 potential and fixed partial charges. It does not treat flexible bond lengths. Cassandra uses OpenMP parallelization and comes with a number of scripts, utilities and examples to help with simulation setup. Cassandra is capable of simulating systems in the following ensembles: Canonical (NVT) Isothermal-Isobaric (NPT) Grand canonical (µvt) Constant volume Gibbs (NVT-Gibbs) Constant Pressure Gibbs (NPT- Gibbs) 1.1 Distribution Cassandra is distributed as a tar file cassandra.tar. You can unpack the distribution by running the command > tar -xzf Cassandra V1.2.tar.gz 9

10 10 CHAPTER 1. INTRODUCTION Upon successful unpacking of the archive file, the Cassandra V1.2 directory will have a number of subdirectories. Please refer to the README file in the main Cassandra directory for a detailed information on each of the subdirectories. Documentation - contains this user guide Examples - contains example input files and short simulations of various systems in the above ensembles. MCF - molecular connectivity files for a number of molecules. These can be used as the basis for generating your own MCF files for molecules of interest. Scripts - useful scripts to set up simulation input files. Src - Cassandra source code.

11 Chapter 2 Force Field 2.1 Bonds Cassandra is designed assuming all bond lengths are fixed. If you wish to utilize a force field developed with flexible bond lengths, we recommend that you either use the nominal or equilibrium bond lengths of the force field as the fixed bond lengths specified for a Cassandra simulation or carry out an energy minimization of the molecule with a package that treats flexible bond lengths and utilize the bond lengths obtained from the minimization. Table 2.1: Cassandra units for bonds Parameter Symbol Units Bond length l Å 2.2 Angles Cassandra supports two types of bond angles: fixed : The angle declared as fixed is not perturbed during the course of the simulation. harmonic : The bond angle energy is calculated as E θ = K θ (θ θ 0 ) 2 (2.1) 11

12 12 CHAPTER 2. FORCE FIELD where the user must specify K θ and θ 0. Note that a factor of 1/2 is not used in the energy calculation of a bond angle. Make sure you know how the force constant is defined in any force field you use. Table 2.2: Cassandra units for angles Parameter Symbol Units Nominal bond angle θ 0 degrees Bond angle force constant K θ K/rad Dihedrals Cassandra can handle four different types of dihedral angles: OPLS : The functional form of the dihedral potential is E φ = a 0 +a 1 (1+cos(φ))+a 2 (1 cos(2φ))+a 3 (1+cos(3φ)) (2.2) where a 0, a 1, a 2 and a 3 are specified by the user. CHARMM : The functional form of the potential is E φ = a 0 (1+cos(a 1 φ δ)) (2.3) where a 0, a 1 and δ are specified by the user. harmonic : The dihedral potential is of the form: E φ = K φ (φ φ 0 ) 2 (2.4) where K φ and φ 0 are specified by the user. none : There is no dihedral potential between the given atoms. 2.4 Impropers Improper energy calculations can be carried out with the following two options:

13 2.5. NONBONDED 13 Table 2.3: Cassandra units for dihedrals Functional Form Parameter Units OPLS a 0, a 1, a 2, a 3 kj/mol CHARMM a 0 kj/mol a 1 dimensionless δ degrees harmonic K φ K/rad 2 φ 0 degrees none : The improper energy is set to zero for the improper angle. harmonic : The following functional form is used to calculate the energy due to an improper angle E ψ = K ψ (ψ ψ 0 ) 2 (2.5) where K ψ and ψ 0 are specified by the user. Table 2.4: Cassandra units for impropers Parameter Symbol Units Force constant K ψ K/rad 2 Improper ψ 0 degrees 2.5 Nonbonded The nonbonded interactions between two atoms i and j are due to repulsion-dispersion interactions and electrostatic interactions (if any) Repulsion-Dispersion Interactions The repulsion-dispersion interactions can take one of the following forms:

14 14 CHAPTER 2. FORCE FIELD Lennard-Jones 12-6 potential (LJ): [ (σij ) 12 V(r ij ) = 4ǫ ij r ij ( σij r ij ) 6 ] (2.6) where ǫ ij and σ ij are the energy and size parameters set by the user. For unlike interactions, different combining rules can be used, as described elsewhere. Note that this option only evaluates the energy up to a specified cutoff distance. As described below, analytic tail corrections to the pressure and energy can be specified to account for the finite cutoff distance. Cut and shift potential: [ (σij ) 12 V(r ij ) = 4ǫ ij r ij ( σij r ij ) 6 ] [ ( ) 12 ( ) ] 6 σij σij 4ǫ ij r cut r cut (2.7) whereǫ ij and σ ij arethe energyand size parametersset by the userand r cut is the cutoff distance. This option forces the potential energy to be zero at the cutoff distance. For unlike interactions, different combining rules can be used, as described elsewhere. Cut and switch potential: [ (σij ) 12 V(r ij ) = 4ǫ ij r ij ( σij r ij ) 6 ] f (2.8) The factor f takes the following values: 1.0 r ij r on (r f = 2 off r2 ij )2 (r 2 off 3r2 on +2r2 ij ) r (roff 2 r2 on) 3 on <r ij <r off (2.9) 0.0 r ij r off where ǫ ij and σ ij are the energy and size parameters set by the user. This option smoothly forces the potential to go to zero at a distance r off, and begins altering the potential at a distance of r on. Both of these parameters must be specified by the user. For unlike interactions, different combining rules can be used, as described elsewhere. Mie potential (generalized form of LJ): V(r ij ) = ( ) n ( n ) m [( ) n n m σij ǫ ij n m m r ij ( σij r ij ) m ] (2.10) where ǫ ij and σ ij are the energy and size parameters and n and m are the repulsive and attractive exponents set by the user. This option allows for the use of a generalized LJ potential (for LJ, n = 12 and m = 6). Note that this option only evaluates the energy up to a specified cutoff distance. Both n and m can take on separate integer or float values set by the user. For unlike interactions, different combining rules can be used, as described elsewhere.

15 2.5. NONBONDED 15 Mie cut and shift potential: V(r ij ) = ( ) n ( n ) m [( ) n n m σij ǫ ij n m m r ij ( σij r ij ) m ] ( ) n ( n ) m [( ) n ( ) m ] n m σij σij ǫ ij n m m r cut r cut (2.11) where ǫ ij and σ ij are the energy and size parameters and n and m are the repulsive and attractive exponents set by the user. This option forces the potential energy to be zero at the cutoff distance (i.e. setting n = 12 and m = 6 provides the same potential as the LJ cut and shift option). For unlike interactions, different combining rules can be used, as described elsewhere. Tail corrections: If the Lennard-Jones potential is used, standard Lennard-Jones tail corrections are used to approximate the long range dispersion interactions Table 2.5: Cassandra units for repulsion-dispersion interactions Parameter Symbol Units Energy parameter ǫ/k B K Collision diameter σ Å Electrostatics Electrostatic interactions are given by Coulomb s law V elec (r ij ) = 1 4πǫ 0 q i q j r ij. (2.12) where q i and q j are the partial charges set by the user, which are placed on atomic positions given by r i and r j. In a simulation, the electrostatic interactions are calculated using either an Ewald summation, the Damped Shifted Force method [1], or a direct summation using the minimum image convention. Note that the total energy that is printed out in the property file is extensive. Consequently, to obtain intensive energies, the printed energies must divided by the total number of molecules in the system.

16 16 CHAPTER 2. FORCE FIELD Table 2.6: Cassandra units for coulombic interactions Parameter Symbol Units Charge q e

17 2.5. NONBONDED 17 Table 2.7: Summary of Cassandra units for input variables Bond length l Å Angles Nominal bond angle θ 0 degrees Bond angle force constant K θ K/rad 2 Dihedral angle OPLS a 0, a 1, a 2, a 3 kj/mol CHARMM a 0 kj/mol a 1 dimensionless δ degrees harmonic K φ K/rad 2 φ 0 degrees Improper angle Force constant K ψ K/rad 2 Improper angle ψ 0 degrees Nonbonded Energy parameter ǫ/k B K Collision diameter σ Å Charge q e Simulation Parameters Simulation box length Å Volume Å 3 Distances Å Rotational width degrees Temperature K Pressure bar Chemical potential kj/mol Energy kj/mol

18 18 CHAPTER 2. FORCE FIELD

19 Chapter 3 Cassandra Basics 3.1 Flow Diagram A flow diagram that overviews the setup for a Cassandra simulation is displayed on figure 3.1. This diagram employs two automation scripts located in the /Scripts/ directory: mcfgen.py and library setup.py. These scripts are particularly useful when simulating large molecules. For details about how to use them, please refer to sections 5.1 and 5.2 of this user guide, and to the README files located in the subdirectories inside the directory /Scripts/. 3.2 Cassandra Simulation Setup Once a system is identified, setting up a Cassandra simulation from scratch requires preparation of the following files. A molecular connectivity file (MCF) (*.mcf) containing the molecular connectivity information on bonds, angles, dihedrals, impropers and whether the molecule is composed of fragments. For information on the MCF file, please refer to section 4.2. An input file (*.inp) (see section 4.1) If the molecule is composed of fragments, then a fragment library file for each of the fragments is required. For instructions on how to generate these files, please refer to the section

20 20 CHAPTER 3. CASSANDRA BASICS Figure 3.1: Flow diagram representing a typical setup of a Cassandra simulation MCF files for united-atom models of methane, isobutane, dimethylhexane, cyclohexane and diethylether are provided in the MCF directory. Input files for NVT, NPT, GCMC and GEMC ensembles are located in the Examples directory which also contains fragment library files for a number of molecules simulated in these ensembles.

21 3.3. CASSANDRA FILE PREPARATION Cassandra File Preparation MCF File One MCF file is required for each unique species in a simulation. A species is defined as a collection of atoms associatedwith eachotherthroughbonds. Thusamoleculeis aspecies asisan ion. If youwantedtosimulate sodium sulfate, you would need separate MCF files for the sodium ion and the sulfate ion. MCF files can be created manually or by using the scripts provided with the code, as described in the section 5.1. Instructions for generating an MCF file can also be found in the Scripts/MCF Generation/README file. We will collect MCF files submitted to us by users and will post them on the Cassandra website If you have an MCF file you would like us to post, send it to ed@nd.edu Input File An input file is required for a Cassandra simulation. The input file specifies conditions for the simulation and various keywords required for the simulation in a given ensemble. Please refer to Chapter 4.1 for further details Fragment Library Generation Cassandra makes use of reservoir sampling schemes to correctly and efficiently sample the various coupled intramolecular degrees of freedom associated with branch points and rings. For more information, please see Ref. [2]. The molecule is decomposed into fragments that are either branch points or ring groups, each coupled to other fragments via a single dihedral angle. Thus, the total number of fragments of a molecule is the sum of branch points and ring groups in the molecule. The neighboring fragments are connected by two common atoms present in each of the fragments. Note that the ring group contains all the ring atoms and those directly bonded to the ring atoms. For each fragment identified, Cassandra runs a pre simulation in the gas phase to sample the intramolecular degrees of freedom. A library of a large number of these conformations are stored for use in an actual simulation. The gas phase library generation has been automated with the script library setup.py located in the Scripts/Frag Library Setup directory. Use the following command for generating the fragment library. > python $PATH/Frag Library Setup/library setup.py $PATH/Src/cassandra executable input filename mol1.pdb (mol1.cml) mol2.pdb (mol2.cml)... where input filename is the name of the input file for the actual simulation and mol1.pdb mol2.pdb... or mol1.cml mol2.cml... correspond to the names of the pdb (or cml) files used to generated the MCF files. Make sure that if a file does not exist in the current working directory, its path relative to the current working directory is specified.

22 22 CHAPTER 3. CASSANDRA BASICS 3.4 Running a Simulation To launch a Cassandra simulation, run the following command: > cassandra executable input filename The executable will read input filename and execute the instructions. Make sure that the required files (MCF, fragment library files) are located in the directories as given in the input file. 3.5 Restarting a Simulation Restarting a simulation requires either a checkpoint file (*.chk produced by Cassandra) or a configuration file obtained from xyz files generated from a previous simulation. Please refer to Section to find information about the keywords checkpoint and read config. 3.6 Cassandra Output Files Cassandra generates several output files which can be used for later analysis. All have as a prefix the Run Name specified in the input file. See Chapter 4.1 for details. The type of output is specified by the file name suffix. The following are generated: Log file (*.log): Contains basic information on what the run is, timing information and reports the various parameters specified by the user. A complete copy of the input file is reproduced. Other important information includes the move acceptance rates. You can use the log file to keep track of what conditions were simulated. Coordinate file (*.xyz or *.box#.xyz): For each box in the system, a set of xyz coordinates are written out with a frequency specified by the user (Coord Freq). The file has as a header the number of atoms in the box. Following this, the atomic coordinates of molecule 1 of species 1 are written, then the coordinates of molecule 2 of species 1 are written, etc. After all the coordinates of the molecules of species 1 are written, the coordinates of the molecules of species 2 are written, etc. You can use this file to do all your structural analysis and post processing. Note that if you generate your initial configuration using the make config command, the first snapshot of the coordinate file will contain the initial configuration of all the species in the system for a given box. You can use this configuration to check on whether the initial configuration is reasonable, or use it as an input to other codes. Note that the initial configuration will be generated using a configurational biased scheme, so it may be a better starting configuration than if you used other methods.

23 3.6. CASSANDRA OUTPUT FILES 23 Checkpoint file (*.chk): A checkpoint file is written every Coord Freq steps. This can be used to restart a simulation from this point using all of the same information as the run that was used to generate the checkpoint file. To do this, you must use the checkpoint restart option (see Chapter 4.1). It will basically pick up where the simulation left off, using the same random number seed, maximum displacements, etc. This is useful in case your job crashes and you want to continue running a job. You can also use the checkpoint file to start a new simulation using the configuration of the checkpoint file as an initial configuration and the optimized maximum displacements. To do this, use the script read old.py. You will need to set a new random number seed if you do this. See the documentation in Chapter 4.1 for more details. H-matrix file (*.H or *.box#.h): This file is written to every Coord Freq MC steps. The first line is the box volume in angstrom 3. The next three lines are the box coordinates in angstrom in an H-matrix form. Since Cassandra only supports cubic boxes at the moment, this is just a diagonal and symmetric matrix, but is included here for later versions that will enable non-orthogonal boxes. After this, a blank line is written. The next line is the box number, and the final line(s) is(are) the species ID and number of molecules for that species in this box. If there are three species, there will be three lines. This output is repeated every Coord Freq times. This file allows you to compute the density of the box during constant pressure simulations. Property file (*.prp# or *.box#.prp#): This file lists the instantaneous thermodynamic and state properties for each box. Note that you can have more than one property file (hence the# after prp ) and more than one box (also why there is a # after box ). The user specifies which properties are to be written and in what order, and these are then reproduced in this file. The file is written to every Prop Freq steps. A header is written to the first two lines to designate what each property is. You may use this file to compute thermodynamic averages.

24 24 CHAPTER 3. CASSANDRA BASICS

25 Chapter 4 Files Required to Run Cassandra 4.1 Simulation Input File This is a required file that is given as an argument to the Cassandra executable. Example input files for each ensemble are provided in the Examples directory that can be modified for new simulations. The input file is divided into sections. Each section begins with a section header that starts with a #, e.g. # Run Name, and ends with a blank line. Section # Move Probability Info is an exception and terminates with # Done Move Probability Info, because subsections e.g. # Prob Translation are separated by blank lines. Comment lines begin with! and are ignored. Sections in the input file can be listed in any order, but the order and format of keywords and parameters given in each section are important unless otherwise noted below. Previously, some keywords were capitalized, e.g. CUBIC, some contained an initial capital, e.g. Units, and some were all lowercase, e.g. kappa ins. New in version 1.2, all keywords are supported in lowercase text; each word in a section header must still begin with an initial capital Run Name # Run Name Character The run name is specified on the next line following the keyword. This name is used as a prefix for all the files produced by the simulation. For example, # Run Name dee.out Cassandra will then use dee.out as prefix for all output files created. 25

26 26 CHAPTER 4. FILES REQUIRED TO RUN CASSANDRA Simulation Type # Sim Type Character Sets the ensemble (and thus the suite of moves) of a Cassandra simulation. The following ensembles are supported: nvt or nvt mc (canonical ensemble) npt or npt mc (isothermal-isobaric ensemble) gcmc (grand canonical ensemble) gemc (Gibbs ensemble) gemc npt (Multi-species Gibbs ensemble) nvt min (canonical ensemble, only moves which lower the energy are accepted) fragment or nvt mc fragment (canonical ensemble simulation of a fragment) ring fragment or nvt mc ring fragment (canonical ensemble simulation of a ring fragment) Simulation types fragment and ring fragment are used only for generating a fragment library. For example, # Sim Type npt will run a Monte Carlo simulation in the isothermal-isobaric ensemble in which the number of molecules of each species N, the pressure P and temperature T are held constant Number of species # Nbr Species Integer Total number of species in the simulation. For ionic systems, each ion is counted as a separate species. For example, for a mixture of two species, use the following: # Nbr Species 2

27 4.1. SIMULATION INPUT FILE VDW Style # VDW Style Character(i,1) [Character(i,2) Real(i,3) Real(i,4)/Logical(i,4)] This keyword specifies the functional form of repulsion dispersion interactions to be used and if tail corrections are added for box i. One line is required for each box. Character(i,1) specifies the van der Waals model and can be lj for a Lennard-Jones 12-6 potential, mie for a Mie potential, or none to turn off all repulsiondispersion interactions. Character(i,2) and Real(i,3) are required for lj or mie. Character(i,2) specifies how the Lennard-Jones potential is truncated. Options are cut, cut tail, cut switch, or cut shift. Refer to Chapter 2 for the functional forms. The other parameters Real(i,3) and Real(i,4)/Logical(i,4) depend on the selection of Character(i,2) as described below: cut: This option cuts the potential at the distance specified by Real(i,3). The fourth parameter is omitted. For example, to simulate one box with a 14 Å cutoff specify the following: # VDW Style lj cut 14.0 Similarly, for a two box simulations such as used in the Gibbs ensemble where both boxes have a 14 Å cutoff, use the following: # VDW Style lj cut 14.0 lj cut 14.0 cut tail: This options cuts the potential off at a distance corresponding to Real(i,3) and applies analytic tail corrections to the energy and pressure. An optional fourth argument Logical(i,4) can be set to true, in which case Real(i,3) is ignored and the cutoff distance is always set to half of the simulation box length. The cutoff will change during the course of the simulation when attempting volume moves. This option is provided to enable reproduction of literature simulations that use a cut off distance of half the simulation box length, but its use is discouraged. For example, to simulate one box with a 14 Å cutoff using tail corrections, specify the following: # VDW Style lj cut tail 14.0 For a two box simulation where the first box has a 14 Å cutoff and the second one has a 20 Å cutoff, use the following:

28 28 CHAPTER 4. FILES REQUIRED TO RUN CASSANDRA # VDW Style lj cut tail 14.0 lj cut tail 20.0 cut switch: This option cuts the potential off and smoothly brings the potential to zero using a spline. The potential is cutoff and the spline turned on at a distance specified by Real(i,3) (r on in Eq 2.8) and the potential goes to zero at a distance specified by Real(i,4) (r off in Eq 2.8). For example, a one box simulation using the cut switch option could be specified as follows: # VDW Style lj cut switch In this case, the Lennard-Jones potential would end at 12.0 Å and be smoothly taken to zero at 14.0 Å. r on < r off or Real(i,3) < Real(i,4). cut shift: This option cuts the potential off at a distance specified by Real(i,3) and shifts the entire potential so that at this distance the potential is zero. The fourth parameter Real(i,4)/Logical(i,4) is omitted. The functional form of this potential is given in eq 2.7. To perform a two box simulation with a cut shift option in which both boxes have a 10.5 Å cutoff, use the following: # VDW Style lj cut shift 10.5 lj cut shift 10.5 Note: For all options, cutoff distances must be less than or equal to the shortest edge length of a simulation box Charge Style # Charge Style Character(i,1) [Character(i,2) Real(i,3) Real(i,4)] Cassandra allows the use of fixed partial charges on atomic centers using a Coulomb potential of the form given in Eq If this section is missing from the input file, the electrostatic energy of the simulation will not be computed. If you do not wish to use a Coulomb potential for box i, set Character(i,1) to none. If

29 4.1. SIMULATION INPUT FILE 29 none is selected for Character(i,1) then Character(i,2), Real(i,3) and Real(i,4) are omitted. For example, # Charge Style none should be used if you have no partial charges and are simulating a single box (or the section can just be omitted). To compute the electrostatic energy for box i, this section must be included and Character(i,1) set to coul. For this option, Character(i,2) can be set to ewald if you want to use an Ewald sum to compute Coulombic interactions, dsf if you want to use the Damped Shifted Force method by Fennell et al.[1], or it can be set to cut, in which case the Coulombic interactions will be cut off and the long range interactions ignored. For the Ewald option, Real(i,3) is the real space cutoff distance and Real(i,4) specifies the accuracy of the Ewald summation. A reasonable value for the accuracy is Note that the number of reciprocal vectors for the Ewald summation is determined in the code based on the accuracy parameter. For more details, see the paper by Fincham [3]. For example, # Charge Style coul ewald E-5 will use the Ewald sum for a single box. The real space cutoff will be 12 Å and the accuracy will be If you have two boxes, like in a Gibbs ensemble calculation, then you could use the following: # Charge Style coul ewald E-5 coul ewald E-5 This will use an Ewald sum for both boxes. In the first box, the real space cutoff will be 12 Å while in the second box a larger cutoff of 30 Å will be used. Note: When performing Gibbs ensemble simulations of vapor-liquid equilibria, the vapor box is often much larger than the liquid box. In this case, you will want to use a longer real space cutoff for the larger vapor box to avoid using too many reciprocal space vectors. Also note that the real space cutoffs must always be less than or equal to half of the shortest edge length of a simulation box. If you wish to use the Damped Shifted Force method, the entry Real(i,3) is the electrostatic energy cutoff distance and Real(i,4) is an optional entry to specify the damping parameter. If not specified, Cassandra will set this value algorithmically from the cutoff radius. For example, # Charge Style coul dsf

30 30 CHAPTER 4. FILES REQUIRED TO RUN CASSANDRA will use the Damped Shifted Force method for a single box. The electrostatic energycutoff will be set to 12 Å and the damping parameter will be set to 0.20, which is a reasonable value for typical liquid phase simulations. Note: If the cutoff in VDW Style is set to half of the simulation box length, any cutoff distance specified in the Charge Style section will default to the half of the simulation box length. In the case of Ewald summation, however, the accuracy will be the same as Real(i,4) Mixing Rule # Mixing Rule Character Sets the method by which van der Waals interactions between unlike atoms are calculated. Acceptable options are lb for Lorentz-Berthelot, geometric for geometric mixing rule and custom for allowing the user to provide specific values. To use either lb or geometric keywords with the Mie potential, all atomtypes must have the same repulsive and dispersive exponents. If this section is missing, lb is used as default. To illustrate the use of the custom option, consider a mixture of methane (species 1) and butane (species 2) united atom models using a Lennard-Jones potential. Methane has a single atomtype, CH4. Butane has two atomtypes: pseudoatoms 1 and 4 are type CH3, pseudoatoms 2 and 3 are type CH2. The cross interaction table is as follows: # Mixing Rule custom CH4 CH CH4 CH CH3 CH The order in which atom types are listed is unimportant, but the atom types must match exactly the types given in each MCF. The Lennard-Jones potential requires two parameters: an energy parameter with units K, and a collision diameter with units Å. The Mie potential requires four parameters: an energy parameter with units K, a collision diameter with units Å, a repulsive exponent, and a dispersive exponent Starting Seed # Seed Info Integer(1) Integer(2) Inputs for the starting random number seeds for the simulation. Cassandra uses a random number generator proposed by L Ecuyer [4], which takes five seeds to calculate a random number, out of which three

31 4.1. SIMULATION INPUT FILE 31 are defined internally while two Integer(1) and Integer(2) are supplied by the user. When a checkpoint file is used to restart a simulation (see # Start Type below), the user supplied seeds will be overwritten by those present in the checkpoint file. If # Start Type is set to read config, then the seeds specified in the input file are used. As an example, # Seed Info is an acceptable way of specifying the seeds. Note that two independent simulations can be run using the same input information if different seeds are used. If two simulations having exactly the same input information and the same seeds are run, the results will be identical Minimum Cutoff # Rcutoff Low Real Sets the minimum allowable distance in Å between two atoms. Any MC move bringing two sites closer than this distance will be immediately rejected. It avoids numerical problems associated with random moves that happen to place atoms very close to one another such that they will have unphysically strong repulsion or attraction. This distance must be less than the intramolecular distance of all atoms in a species which are not bonded to one another. For models that use dummy sites without explicitly defining bonds between dummy and atomic sites of the molecules (for example, the TIP4P water model), it is important that the minimum distance is set to be less than the shortest distance between any two sites on the molecule. For most systems, 1 Å seems to work OK, but for models with dummy sites, a shorter value may be required Pair Energy Storage # Pair Energy Logical Cassandra can use a time saving feature in which the energies between molecules are stored and used during energy evaluations after a move, thereby saving a loop over all molecules. This requires more memory, but it can be faster. The default is to not use this feature. If you wish to use this, set Logical to true Molecule Files # Molecule Files

32 32 CHAPTER 4. FILES REQUIRED TO RUN CASSANDRA Character(i,1) Integer(i,2) This specifies the name of the molecular connectivity file (MCF) and the maximum total number of molecules of a given species specified by this MCF. A separate line is required for each species present in the simulation. Character(i,1) is the name of the MCF for species i. Integer(i,2) is the maximum number of molecules expected for the species. For example # Molecule Files butane.mcf 100 hexane.mcf 20 octane.mcf 5 specifies that there are three different species, and the MCFs state the names of the files where information on the three species can be found. Species 1 is butane, species 2 is hexane and species 3 is octane. There can be a maximum of 100 butane molecules, 20 hexane molecules and 5 octane molecules in the total system. The maximum number of molecules specified here will be used to allocate memory for each species, so do not use larger numbers than are needed Simulation Box # Box Info Integer(1) Character(i) Real(i,1) [Real(i,2) Real(i,3)] This section sets parameters for the simulation boxes. Integer(1) specifies the total number of boxes in the simulation. Gibbs ensemble simulations must have two boxes. Character(i) is the shape of the ith simulation box. The supported keywords are cubic, orthogonal, and cell matrix. If Character(i) is cubic, Real(i,1) is the length of the box edges in Å. Information for additional boxes is provided in an analogous fashion and is separated from the previous box by a blank line. For a two box simulation, box information is given as: # Box Info 2 cubic 30.0 cubic 60.0 This will construct a 30 x 30 x 30 Å cube and the second a 60 x 60 x 60 Å cube.

33 4.1. SIMULATION INPUT FILE 33 The options orthogonal and cell matrix are only supported for constant volume simulations (i.e. NVT or GCMC) which only have 1 box. If Character(1) is orthogonal, Real(1,1) Real(1,2) Real(1,3) are the length, width and height that define the simulation box. For example, # Box Info 1 orthogonal This will create a simulation box with dimensions 30.0 x 35.0 x 40.0 Å. A non-orthogonal box is created by setting Character(1) to cell matrix. In this case, three basis vectors are needed to define the simulation box. Each vector is entered as a column of a 3x3 matrix. For example, # Box Info 1 cell matrix defines a simulation box with basis vectors (30, 0, 0), (0, 35, 2) and (0, 0, 40) Temperature # Temperature Info Real(i) Real(i) is the temperature in Kelvin for box i. For GEMC, the temperature of box 2 will be read from a second line: # Temperature Info Pressure # Pressure Info Real(i)

34 34 CHAPTER 4. FILES REQUIRED TO RUN CASSANDRA Real(i) is the pressure setpoint in bar for box i. For GEMC, the pressure of box 2 will be read from a second line: # Pressure Info If the simulation type does not require an input pressure (e.g., NVT), this section will be ignored Chemical Potential # Chemical Potential Info Real(1)... Real(n) where n is the number of insertable species and Real(i) is the chemical potential setpoint (shifted by a species-specific constant) of insertable species i in kj/mol. Each chemical potential will be assigned in the order species appear in the Molecule Files section. For species with insertion method none, the chemical potential can be listed as none or omitted. This section is only read for grand canonical simulations. See Eq. (7.32) for more information. For example, the adsorption of methane (species 2) in a zeolite (species 1) can be computed by inserting methane molecules into a box with a zeolite crystal. In this example, only one chemical potential (for methane) is required and the following are equivalent: # Chemical Potential Info # Chemical Potential Info none Move Probabilities # Move Probability Info [subsections] # Done Probability Info This section specifies the probabilities associated with different types of MC moves to be performed during the simulation. The section begins with the header # Move Probability Info and is terminated by the footer # Done Probability Info. All the move probability subsections must be between the section header and footer.

35 4.1. SIMULATION INPUT FILE 35 If the move probabilities do not sum to 1.0, then the probability of each move will be divided by the total. Translation # Prob Translation Real(1) Real(i,1)... Real(i,n) *One line required for each box i where n is the number of species. Real(1) is the probability of performing a center of mass translation move. Real(i,j) is the maximum displacement in Å of species j in box i. This subsection is optional in all ensembles. For example, if you have three species and two boxes, you could specify the translation probability as # Prob Translation This will tell Cassandra to attempt center of mass translations 25% of the total moves. For box 1, the maximum displacement will be 2.0 Å for species 1, 2.5 Å for species 2, and 1.0 Å for species 3. For box 2, the maximum displacement for all species is 12.0 Å. For a simulation that involves solid frameworks, set the maximum displacement of the solid species to zero. Every molecule in the simulation with a maximum displacement greater than zero has an equal chance of being moved. Rotation # Prob Rotation Real(1) Real(i,1)... Real(i,n) *One line required for each box i where n is the number of species. The probability of performing a rotation move is specified by Real(1) while Real(i,j) denotes the maximum rotation for species j in box i in degrees about the x, y or z-axis. The axis will be chosen with uniform probability. This subsection is optional for all ensembles. For example, if you are simulating a single species in two boxes, you could specify the rotational probability as # Prob Rotation

36 36 CHAPTER 4. FILES REQUIRED TO RUN CASSANDRA Twenty-five percent of the attempted moves will be rotations. Molecules in box 1 will be rotated a maximum of 30 around the x, y, or z-axis. Molecules in box 2 will be rotated a maximum of 180 around the x, y, or z-axis. If all species are point particles (such as single-site Lennard-Jones particles), this section should be omitted. For a multi-species system, set Real(i,j) to zero for point particles and solid frameworks. Linear molecules are a special case. A molecule is identified as linear if all angles in the MCF are fixed at 180. If a linear molecule were aligned with the axis of rotation, then the molecular orientation would not be changed. Therefore, linear molecules are rotated by choosing a random unit vector with uniform probability without regard to the molecule s current orientation or the maximum rotation. As with non-linear molecules, if Real(i,j) is zero, no molecules of species j will be rotated. For a single box simulation of a non-linear molecule (species 1), a linear molecule (species 2), and a point particle (species 3), you could specify # Prob Rotation Molecules of species 1 will be rotated a maximum of 30 around the x, y or z-axis, molecules of species 2 will be rotated by choosing a random unit vector, and the point particles will not be rotated. Angle # Prob Angle Real(1) A molecule will be selected at random and its angle will be perturbed based on its Boltzmann weighted distribution. The probability of attempting this move is the only required input. It is specified by Real(1). Note that this move is rarely needed since the fragment libraries should already provide efficient sampling of angles. This move, however, may improve sampling of angles for large molecules in the case where parts of its fragments are rarely regrown by a regrowth move. # Prob Angle 0.3 This will tell Cassandra to attempt angle moves 30% of the total moves for all molecules containing angles within a given box.

37 4.1. SIMULATION INPUT FILE 37 Dihedral # Prob Dihedral Real(1) Real(1)... Real(n) The probability of performing a dihedral move is specified by Real(1) while Real(n) denotes the maximum width of a dihedral angle displacement for each species. The maximum width is given in degrees. Note that this move is rarely needed since the regrowth moves should already provide efficient sampling of dihedrals. This move, however, may improve sampling of dihedrals for large molecules in the case where the parts of its fragments are rarely regrown (albeit a small maximum width is provided). # Prob Dihedral This will tell Cassandra to attempt dihedral moves 30% of the total moves for all molecules containing dihedrals within a given box. The maximum dihedral width will be 20 for species 1 and 0.0 for species 2. Since the maximum dihedral width of species 2 is set to 0.0 in both boxes, no dihedral moves will be attempted on species 2. Note that a single max dihedral width is provided, even if species 1 may contain many dihedrals. This is also true for simulations with more than one box. Also note that the same max dihedral width is used for systems containing more than one box. Regrowth # Prob Regrowth Real(1) Real(2,1)... Real(2,n) where n is the number of species. A regrowth move consists of deleting part of the molecule randomly and then regrowing the deleted part via configurational bias algorithm. This can result in relatively substantial conformational changes for the molecule, but the cost of this move is higher than that of a simple translation or rotation. The probability of attempting a regrowth move is specified by Real(1) while Real(2,i) specifies the relative probability of performing this move on species i. The relative probabilities must sum to 1 otherwise Cassandra will quit with an error. This subsection is optional for all ensembles. For example, if simulating 70 molecules of species 1 and 30 molecules of species 2, you could specify the following: # Prob Regrowth

38 38 CHAPTER 4. FILES REQUIRED TO RUN CASSANDRA Thirty percent of the attempted moves will be regrowth moves. Seventy percent of the regrowth moves will be attempted on a molecule of species 1 and the balance of regrowth moves on a molecule of species 2. Real(2,i) should be set to zero for monatomic, linear, or rigid species, including solid frameworks. Volume # Prob Volume Real(1) Real(2) [Real(3)] Real(1) is the relative probability of attempting a box volume change. Since volume changes are computationally expensive, this probability should normally not exceed 0.05 and values from are typical. Real(2) is the maximum volume displacement in Å 3 for box 1. Real(3) is the maximum volume displacement in Å 3 for box 2, and is only required for GEMC-NPT simulations. The attempted change in box volume is selected from a uniform distribution. This subsection is required for NPT, GEMC-NPT and GEMC-NVT simulations. For example, if you are simulating a liquid with a single box in the NPT ensemble, you would specify the following: # Prob Volume This will tell Cassandra to attempt volume moves 2% of the total moves. The box volume would be changed by random amounts ranging from -300 Å 3 to +300 Å 3. For a liquid box 20 Å per side, this would result in a maximum box edge length change of about 0.25 Å, which is a reasonable value. Larger volume changes should be used for vapor boxes. If you wish to perform a GEMC-NPT simulation, you might specify the following: # Prob Volume This will tell Cassandra to attempt volume moves 2% of the total moves. The first box volume (assumed here to be smaller and of higher density, such as would occur if it were the liquid box) would be changed by random amounts ranging from -300 Å 3 to +300 Å 3. The second box volume would be changed by random amounts ranging from Å 3 to Å 3. As with all move probabilities, you can experiment with making larger or smaller moves. Note that if the # Run Type is set to equilibration, Cassandra will attempt to optimize the magnitude of the volume change to achieve about 50% acceptance rates. The volume perturbation move is only supported for cubic boxes.

39 4.1. SIMULATION INPUT FILE 39 Insertion and Deletion Moves # Prob Insertion Real(1) Character(2,1)... Character(2,n) where n is the number of species. Real(1) sets the probability of attempting insetion moves. Character(2,i) is the insertion method and can be either cbmc or none. If cbmc, species i will be inserted by assembling its fragments using configurational bias Monte Carlo. If none, species i will not be inserted or deleted. This subsection is required for GCMC simulations. If there is more than one insertable species, each is chosen for an insertion attempt with equal probability. For example, if you are performing a GCMC simulation with two species that can be inserted, you might specify the following # Prob Insertion 0.1 cbmc cbmc This will tell Cassandra to attempt insertions 10% of the total moves and both species will be inserted using CBMC. If only species 1 is to be inserted or deleted, use # Prob Insertion 0.1 cbmc none # Prob Deletion Real(1) Real(1) is the probability of attempting to delete a molecule during a simulation, and must match the insertion probability to satisfy microscopic reversibility. The molecule to delete is selected by first choosing a species with uniform probability, and then choosing a molecule of that species with uniform probability. If a species has the insertion method none, no attempt is made to delete it. This subsection is required for GCMC simulations. # Prob Swap Real(1) Character(2,1)... Character(2,n) [prob swap species Real(3,1)... Real(3,n)] [prob swap from box Real(4,1)... Real(4,i)] where n is the number of species and i is the number of boxes. Real(1) is the probability of attempting to transfer a molecule from one box to another. Similar to the # Prob Insertion subsection, Character(2,i) is the insertion method and can be cbmc or none. If cbmc, species i will be inserted by assembling its fragments using configurational bias Monte Carlo. If none, species i will not be transferred between boxes.

40 40 CHAPTER 4. FILES REQUIRED TO RUN CASSANDRA This subsection is required for a GEMC simulation. For example, while performing a GEMC simulation for three species the first two of which are exchanged while the third is not, specify the following: # Prob Swap 0.1 cbmc cbmc none This will tell Cassandra to attempt swap moves 10% of the total moves. Attempts will be made to transfer species 1 and 2 between available boxes while molecules of species 3 will remain in the boxes they are present in at the start of the simulation. By default, a molecule is chosen for the attempted swap with uniform probability (amongst swappable molecules). As a result, if one species has a much higher mole fraction in the system (e.g. if calculating methane solubility in liquid water), then most attempted swaps will be of the more abundant species. This behavior can be changed by using the optional keywords prob swap species and prob swap from box. The keyword prob swap species must be given with n options: Real(3,j) is the probability of selecting species j. The keyword prob swap from box must be given with i options: Real(4,j) is the probability of selecting a molecule from box j. For example, to select a molecule of species 1 for 90% of attempted swaps and to select box 2 as the donor box for 75% of attempted swaps, use: # Prob Swap 0.1 cbmc cbmc none prob swap species prob swap from box The probability of selecting a species with insertion method none must be 0. Flip Move # Prob Ring Real(1) Real(2) This subsection is used when flip moves are to be attempted to sample bond angles and dihedral angles in a ring fragment. For more details on this move see Ref. [2]. Note that this subsection is used only in input files that generate configuration libraries of ring moieties. The input file of the actual simulation would involve the # Prob Regrowth keyword. The relative probability of attempting a flip move is specified by Real(1) while the maximum angular displacement in degrees for the move is given by Real(2). For example, if the flip is to be attempted 30% of the time and the maximum angular displacement for the move is 20 specify the following: # Prob Ring

41 4.1. SIMULATION INPUT FILE Start Type # Start Type Character(1) This section specifies whether Cassandra generates an initial configuration or uses a previously generated configuration to start a simulation. Character(1) can be one of four keywords: make config, read config, add to config, or checkpoint. make config will generate an initial configuration using a configurational biased scheme. The number of molecules of each species is specified as follows: # Start Type make config Integer(1)... Integer(n) where n is the number of species and Integer(i) is the number of molecules of species i to insert into the box. This keyword can be repeated for each box. For example, to generate an initial configuration with 100 molecules of species 1 and 75 molecules of species 2 # Start Type make config If the simulation also has a second box with 25 molecules of species 2 only # Start Type make config make config 0 25 read config will use the coordinates from an.xyz file. For example, a configuration generated at one temperature may be used to initiate a simulation at another temperature. After read config the number of molecules of each species must be given, followed by the.xyz filename: # Start Type read config Integer(1)... Integer(n) Character(1) where n is the number of species, Integer(i) is the number of molecules of species i to read from file Character(1). This keyword can be repeated for each box. For example, to start a simulation using a configuration of 50 molecules each of species 1 and 2: # Start Type

42 42 CHAPTER 4. FILES REQUIRED TO RUN CASSANDRA read config liquid.xyz If the simulation also has a second box with 10 molecules of species 1 and 90 molecules of species 2: # Start Type read config liquid.xyz read config vapor.xyz The.xyz files must have the following format: <number of atoms> comment line <element> <x> <y> <z>... add to config will read the coordinates from an.xyz file, but then insert additional molecules. After add to config specify the number of molecules of each species to be read, followed by the.xyz filename, followed by the number of molecules of each species to be added: # Start Type add to config Integer(1)... Integer(n) Character(1) Integer(n+1)... Integer(2n) where n is the number of species, Integer(1) through Integer(n) are the number of molecules of each species to read from file Character(1), and Integer(n+1) through Integer(2n) are the number of molecules of each species to add to the configuration. This keyword can be repeated for each box. For example, to start a simulation by reading in a zeolite (speces 1) configuration and adding 30 molecules of methane (species 2): # Start Type add to config 1 0 MFI.xyz 0 30 where the file MFI.xyz contains the coordinates of a unit cell of MFI silicalite. checkpoint this keyword is used to restart a simulation from a checkpoint file. During the course of a simulation, Cassandra periodically generates a checkpoint file (*.chk) containing information about the total number of translation, rotation and volume moves along with the random number seeds and the coordinates of each molecule and its box number at the time the file is written. Cassandra provides the capability ofrestartingfrom this state point in the event that a simulation crashesorrunning a production simulation from an equilibrated configuration. For this purpose, in addition to the checkpoint keyword, additional information in the form of the name of the checkpoint file Character(1) is required in the following format: # Start Type checkpoint Character(1)

43 4.1. SIMULATION INPUT FILE 43 For example, to continue simulations from a checkpoint file methane vle T148.chk, you might specify: # Start Type checkpoint methane vle T148.chk Note that when a checkpoint file is used to restart a simulation, the seeds for random number generation supplied by the user will be overwritten by those present in the checkpoint file. By contrast, if # Start Type is set to read config, then the seeds specified in the input file are used. Unless starting from a checkpoint file, input files for a multi-box simulation must have one line for each box in the Start Type section. Each line can start with a different keyword. For example, a GEMC simulation of a water(1)-methane(2) mixture can begin from an equilibrated water box and a new vapor box: # Start Type read config water.xyz make config Run Type # Run Type Character(1) Integer(1) [Integer(2)] This section is used to specify whether a given simulation is an equilibration or a production run. For an equilibration run, the maximum translational, rotational, torsional and volume widths (for an NPT or a GEMC simulation) are adjusted to achieve 50% acceptance rates. During a production run, the maximum displacement width for different moves are held constant. Depending on the type of the simulation, Character(1) can be set to either equilibration or production. For an equilibration run, Integer(1) denotes the number of MC steps performed for a given thermal move before the corresponding maximum displacement width is updated. Integer(2) is the number of MC volume moves after which the volume displacement width is updated. This number is optional if no volume moves are performed during a simulation (for example in an NVT or a GCMC simulation). When the run type is set to production, the MC moves refer to the frequency at which the acceptance ratios for various moves will be computed and output to the log file. These acceptance rates should be checked to make sure proper sampling is achieved. For an NPT equilibration run in which the widths of the thermal move are to be updated after 1000 MC moves and maximum volume displacements after 100 volume moves, specify the following:

44 44 CHAPTER 4. FILES REQUIRED TO RUN CASSANDRA # Run Type equilibration For an NVT production run in which the acceptance ratios of various thermal moves are printed to the log file after every 250 MC steps of a given thermal move, use the following: # Run Type production Simulation Length # Simulation Length Info units Character(1) prop freq Integer(2) coord freq Integer(3) run Integer(4) [steps per sweep Integer(5)] [block averages Integer(6)] This section specifies the frequency at which thermodynamic properties and coordinates are output to a file. The units keyword determines the method by which the simulation is terminated and data is output. Character(1) can be minutes, steps, or sweeps. Thermodynamic quantities are output every Integer(2) units, coordinates are written to the disk every Integer(3) units and the simulation will stop after Integer(4) units. If Character(1) is minutes, then the simulation runs for a specified time. For example, to run a simulation for 60 minutes with thermodynamic properties written every minute and coordinates output every 10 minutes, use: # Simulation Length Info units minutes prop freq 1 coord freq 10 run 60 If Character(1) is steps, the simulation runs for a specified number of MC steps. An MC step is defined as a single MC move, regardless of type and independent of system size. To run a simulation of 50,000 steps such that thermodynamic quantities are printed every 100 MC steps and coordinates are output every 10,000 steps, use: # Simulation Length Info units steps prop freq 100 coord freq 10000

45 4.1. SIMULATION INPUT FILE 45 run If Character(1) is sweeps, the simulation runs for a specified number of MC sweeps. The number of MC steps per sweep can be defined using the optional keyword steps per sweep Integer(5) The default steps per sweep value is the sum of the weights of each move type. A sweep is typically defined as the number of MC moves needed for every move to be attempted for every molecule. For example, in a water box of 100 molecules in the NPT ensemble, a sweep would be 201 moves 100 translations, 100 rotations and 1 volume change. To run a simulation of 1,000 sweeps with thermodynamic quantities are printed every 100 sweeps and coordinates are output every 100 sweeps, use the following: # Simulation Length Info units sweeps prop freq 100 coord freq 100 run 1000 steps per sweep 201 The optional keyword block avg freq switches the thermodynamic output from instantaneous values to block average values, where Integer(6) is the number of units per block. The number of blocks is given by Integer(4)/Integer(6) and the number of data points per block is Integer(6)/Integer(2). For example, during a run of 1,000,000 steps, with properties computed every 100 steps and averaged every 100,000 steps, specify # Simulation Length Info units steps run block avg freq prop freq 100 coord freq 100 This simulation will output 10 averages, and each average will be computed from 1000 data points Property Output # Property Info Integer(i) Character(j) *One line for each property j This section provides information on the properties that are output. More than one section is allowed for multiple boxes. In this case, each section is separated by a blank line. Integer(i) is the identity of the box for which the properties are desired. Character(i,j) is the property that is to be output. Each property is specified on a separate line. The supported keywords are: energy total: Total energy of the system (extensive) in kj/mol

46 46 CHAPTER 4. FILES REQUIRED TO RUN CASSANDRA energy lj: Lennard-Jones energy of the sytem in kj/mol energy elec: Electrostatic energy of the sytem in kj/mol energy intra: Total intramolecular energy of the system including bonded and non-bonded interactions in kj/mol enthalpy: Enthalpy of the system (extensive) kj/mol. The enthalpy is computed using the pressure setpoint for isobaric simulations and the computed pressure for all other ensembles. pressure: Pressure of the system in bar volume: Volume of the system in Å 3 nmols: Number of molecules of each species density: Density of each species in #/Å 3 mass density: Density of the system in kg/m 3 For example, if you would like total energy, volume and pressure of a one box system to be written, you may specify the following: # Property Info 1 energy total volume pressure For a GEMC-NVT simulation, total energy and density of all the species in box 1 and total energy, density of all the species in box 2 along with the pressure may be output using the following format: # Property Info 1 energy total density # Property Info 2 energy total density pressure Fragment Files # Fragment Files Character(i) Integer(i) *One line for each fragment i In this section, information about the fragment library is specified. Character(i) gives the location of the fragment library of fragment i; Integer(i) is the corresponding integer id specifying the type of the fragment. This section is automatically generated by library setup.py. However, if there is a need to change this section, follow the example given below. For a simulation involving two species of which the first one contains three distinct fragments and species 2 has two identical fragments, this section might look like:

47 4.1. SIMULATION INPUT FILE 47 # Fragment Files frag 1 1.dat 1 frag 2 1.dat 2 frag 3 1.dat 3 frag 1 2.dat 4 frag 1 2.dat 4 This will tell Cassandra to use the files frag 1 1.dat, frag 2 1.dat and frag 3 1.dat for the three fragments of species 1. Since species 2 has two identical fragment, Cassandra will use the same fragment library frag 1 2.dat for these fragments Verbosity in log file # Verbose Logfile Logical This optional section is used to control the level of detail about the simulation setup that is output to the log file. Controlling this can be useful for development purposes. If this section is missing, Logical is set to false by default. Supported options for Logical are true or false File Info # File Info Character This section is used only while generating a fragment library. Cassandra will use the filename specified in Character to store different conformations of the fragment being simulated. Once again, this section is automatically handled by library setup.py. However, if the user wishes to modify this part, use the following template: # File Info frag.dat This will tell Cassandra to store the fragment library in the file named frag.dat.

48 48 CHAPTER 4. FILES REQUIRED TO RUN CASSANDRA CBMC parameters # CBMC Info kappa ins Integer(1) kappa dih Integer(2) rcut cbmc Real(3,1) [Real(3,2)] Cassandra utilizes a configurational bias methodology based on sampling a library of fragment conformations [2]. This section sets a number of parameters required for biased insertion/deletion (refer to the sections # Prob Insertion, # Prob Deletion and # Prob Swap) and configurational regrowth (# Prob Regrowth section) of molecules. This section is only required if molecules are regrown, inserted and/or deleted. Keywordkappa insisrequiredifthesection# Start Typeisgivenwithkeywordmake configoradd to config, or if the section # Sim Type is gcmc, gemc or gemc npt. For a biased insertion, a fragment is chosen to insert first in proportion to the number of atoms in fragment. For example, to insert a united-atom molecule of ethylbenzene, the ring fragment has 7 pseudoatoms while the other has 3. The ring fragment will be inserted first with a probability of 0.7. By contrast, to insert a united-atom molecule of dodecane, all ten fragments have 3 pseudoatoms and so one is chosen with uniform probability. After choosing a Boltzmann-distributed conformation and an orientation with uniform probability, Integer(1) trial positions are generated for the center-of-mass of the fragment. One of the trial positions is then selected randomly based on the Boltzmann weight of the energy of the trial position. Keyword kappa dih is required if any species composed of multiple fragments is inserted/deleted or regrown. Additional fragments are added to the growing molecule using Integer(2) trial dihedral angles that connect the new fragment to the existing part of molecule. Keyword rcut cbmc is required if section # CBMC Info is required. For all the trials, energy of the partially grown molecule with itself and surrounding molecules is to be calculated. For this purpose, a short cutoff is used. Real(4,i) specifies the cutoff distance in Å for box i. A short cutoff is fast, but might miss some overlaps. You can experiment with this value to optimize it for your system. For a GEMC simulation in which 12 candidate positions are generated for biased insertion/deletion, 10 trials for biased dihedral angle selection and the cutoff for biasing energy calculation is set to 5.0 Å in box 1 and 6.5 Å in box 2, this section would look like: # CBMC Info kappa ins 12 kappa dih 10 rcut cbmc

49 4.2. MOLECULAR CONNECTIVITY FILE Molecular Connectivity File A Molecular Connectivity File (MCF) defines the information related to bonds, angles, dihedrals, impropers fragments and non bonded interactions for a given species. One MCF is required for each species present in the system. The information contained in this file involves the force field parameters, atoms participating in each of the interactions and the functional form used in each potential contribution. The keywords are preceeded by a # and comments follow a!. Similarly to the input file, the order of the keywords is not important. A complete list of the keywords is provided below. Note that parameters for all of the following keywords must be separated by spaces only. Do not use the tab character. Note that MCFs are generated by the script mcfgen.py automatically. The following description is provided for the users who wish to modify the MCF or manually write the MCF Atom Info # Atom Info Integer(1) Integer(2) Character(3)*6 Character(4)*2 Real(5) Real(6) Character(7)*20 Optional Parms Character(fin) This keyword specifies the information for non-bonded interactions. It is a required keyword in the MCF. If not specified, the code will abort. The inputs are specified below: Integer(1): Total number of atoms in the species. Integer(2): Atom index. Character(3)*6: Atom type up to 6 characters. This string of characters should be unique for each interaction site in the system, i.e. do not use the same atom type for two atoms in the same (or different) species unless the (pseudo)atoms have the same atom types. Character(4)*2: Atom element name up to 2 characters. Real(5): Mass of the atom in amu. Note that for united atom models, this would be the mass of the entire pseudoatom. Real(6): Charge on the atom. Character(7): The functional form for van der Waals (vdw) interactions. Options are LJ for Lennard-Jones, Mie for the Mie potential, or NONE if the atom type does not have vdw interactions. LJ and Mie cannot be used in the same simulation. This must match what is given for # VDW Style (subsection 4.1.4) in the input file.

50 50 CHAPTER 4. FILES REQUIRED TO RUN CASSANDRA Character(fin): The final entry on the line is ring only if the atom is part of a ring fragment. Note that a ring fragment is defined as those atoms that belong to the ring (e.g. in cyclohexane, all the six carbons) and any atom directly bonded to these ring atoms (e.g. in cyclohexane, all the hydrogens). In other words, all of the ring and exoring atoms are given the ring flag. For atoms that are not part of rings, leave this field blank. Additional parameters are required for LJ and Mie potentials. For LJ, Real(8): The energy parameter in K. Real(9): Collision diameter (σ) in Å. For Mie, Real(8): The energy parameter in K. Real(9): Collision diameter (σ) in Å. Real(10): The repulsive exponent. Real(11): The dispersive exponent. Note that for species with a single fragment, the branch point atom is listed as the first atom. For example, for a united atom pentane model: # Atom Info 5 1 CH3 s1 C LJ CH2 s1 C LJ CH2 s1 C LJ CH2 s1 C LJ CH3 s1 C LJ The number below the keyword # Atom Info specifies a species with 5 interaction sites, consistent with a united atom pentane model. The first column specifies the atom ID of each of the pseudo atoms. The second and third columns provide the atom type and atom name, respectively. The fourth column represents the atomic mass of each pseudoatom. Note that the mass of CH3 s1 is for this united atom model, as it involves a carbon and three hydrogen atoms. The same applies for all other interaction sites. The fifth column contains the partial charges placed on each of these pseudoatoms. The sixth, seventh and eighth columns contain the repulsion-dispersion functional form, the energy parameter and the collision diameter respectively. In this case, the usual Lennard-Jones functional form is used. Note that none of these atoms used the flag ring, as no rings are present in this molecule.

51 4.2. MOLECULAR CONNECTIVITY FILE 51 For a molecule containing rings, for example cyclohexane: # Atom Info 6 1 CH s1 C LJ ring 2 CH s1 C LJ ring 3 CH s1 C LJ ring 4 CH s1 C LJ ring 5 CH s1 C LJ ring 6 CH s1 C LJ ring Note the flag ring was appended as the last column for this cyclic molecule. For the SPC/E water model: # Atom Info 3 1 O1 s1 O LJ H2 s1 H NONE 3 H3 s1 H NONE This is a molecule with a single fragment, so the branch point atom is the first atom in the list. For a single-site model of CO2 using the Mie potential: # Atom Info 1 1 CO2 C Mie where the last two parameters are the repulsive and dispersive exponents, respectively Bond Info # Bond Info Integer(1) Integer(i,2) Integer(i,3) Integer(i,4) Character(i,5) Real(i,6) Real(i,7) This section provides information on the number of bonds in a molecule and atoms involved in each bond along with its type. It is a required keyword in the MCF. If not specified, the code will abort. The inputs are specified below: Integer(1): Total number of bonds in the species. From the next line onwards, the bonds are listed sequentially and information for each bond is included on a separate line.

52 52 CHAPTER 4. FILES REQUIRED TO RUN CASSANDRA Integer(i,2): Index of the i th bond. Integer(i,3) Integer(i,4): IDs of the atoms participating in the bond. Character(i,5): Type of the bond. At present only fixed is permitted. Real(i,6): Specifies the bond length for a particular bond in Å. Note that at present, Cassandra simulations can be carried out only for fixed bond length systems. For example, for the water model SPC/E, the # Bond Info section is the following: # Bond Info fixed fixed 1.0 In the above example, two bonds are specified whose fixed length is set to 1.0 Å Angle Info # Angle Info Integer(1) Integer(i,2) Integer(i,3) Integer(i,4) Integer(i,5) Character(i,6) Real(i,7) Real(i,8) The section lists the information on the angles in the species. It is a required keyword in the MCF. If not specified, the code will abort. Integer(1): Number of angles in the species. Integer(i,2): Index of the i th angle. Integer(i,3) Integer(i,4) Integer(i,5): IDs of the atoms participating in the i th angle. Note that Integer(i,4) is the ID of the central atom. Character(i,6): Type of the angle. Currently, Cassandra supports fixed and harmonic (Eq. section 2.1) angles. For the fixed option, Real(i,7) is the value of the angle and Real(i,8) is ignored by the code if specified. In the case of harmonic potential type, Real(i,7) specifies the harmonic force constant (K/rad 2 ) while Real(i,8) is the nominal bond angle (in degrees). For example, for a united atom pentane molecule with flexible angles, this section is the following:

53 4.2. MOLECULAR CONNECTIVITY FILE 53 # Angle Info harmonic harmonic harmonic In the above example, the three angles between the pseudoatoms found in the pentane model are specified. The three angles have an harmonic potential, whose force constant is equal and is set to K/rad 2. Finally, the equilibrium angle for these angles is An example for SPC/E water model with fixed angles is provided below: # Angle Info fixed This model has only one angle that is set to Note that this angle is fixed, so there is no force constant Dihedral Info # Dihderal Info Integer(1) Integer(i,2) Integer(i,3) Integer(i,4) Integer(i,5) Integer(i,6) Character(i,7) Real(i,8) Real(i,9) Real(i,10) Real(i,11) This section of the MCF lists the number of dihedral angles and associated information for a given species. It is a required keyword in the MCF. If not specified, the code will abort. Integer(1): Lists the number of dihedral angles. Integer(i,2): Index of the i th dihedral angle. Integer(i,3): Integer(i,6) - IDs of the atoms in the i th dihedral angle. Character(i,7) : Dihedral potential type. Acceptable options are OPLS, CHARMM, harmonic and none. If OPLS dihedral potential type is selected, then the real numbers Real(i,8) - Real(i,11) are the coefficients in the Fourier series (see Eq 2.2). The units are in kj/mol. For the CHARMM dihedral potential type, three additional parameters are specified: a 0,a 1 and δ (section 2.3). If harmonic dihedral potential type is used, then two additional parameters, K phi and φ 0 (section Eq 2.4), are specified. For the none dihedral potential type, no additional parameters are necessary. For example, for a united atom pentane molecule using an OPLS dihedral potential type, the dihedrals are specified as follows:

54 54 CHAPTER 4. FILES REQUIRED TO RUN CASSANDRA # Dihedral Info OPLS OPLS In this model two dihedral angles are specified by atoms 1,2,3,4 and 2,3,4,5. This model uses an OPLS functional form and thus four parameters are provided after the OPLS flag Intramolecular Scaling # Intra Scaling Real(i,1) Real(i,2) Real(i,3) Real(i,4) Real(i,5) Real(i,6) Real(i,7) Real(i,8) This section sets the intramolecular scaling for 1-2, 1-3, 1-4 and 1-N interactions within a given species. 1-2 means interactions between atom 1 and another atom 2 directly bonded to it, 1-3 means interactions between atom 1 and other atoms 3 separated from atom 1 by exactly two bonds, etc. The first line corresponds to the VDW scaling: Real(i,1) Real(i,2) Real(i,3) Real(i,4) apply to 1-2, 1-3, 1-4 and 1-N interactions, where N corresponds to all atoms separated from atom 1 by more than three bonds. The second line corresponds to the Coulomb scaling: Real(i,5) Real(i,6) Real(i,7) Real(i,8) apply to 1-2, 1-3, 1-4 and 1-N interactions. Note that intramolecular scaling applies to all the boxes in the simulation. For example, # Intra Scaling would turn off 1-2 and 1-3 interactions, would scale the VDW and Coulombic interactions for 1-4 atoms by 50% and would use full interactions for all other atom pairs in the species. If the # Intra Scaling section is missing from the MCF, it will be looked for in the input file Fragment Info # Fragment Info Integer(1) Integer(i,2) Integer(i,3) Integer(i,4) Integer(i,5)... Integer(i,2+Integer(i,3))

55 4.2. MOLECULAR CONNECTIVITY FILE 55 This section defines the total number of fragments in a given species. It is an optional keyword. However, if the species is composed of fragments, then this section must be specified. The inputs are specified below: Integer(1): Total number of fragments. Integer(i,2): Index of the i th fragment. Integer(i,3): Number of atoms in the i th fragment. Integer(i,4)... Integer(i,2+integer(i,3)): List of the atom IDs in the fragment. The first atom ID is that for the branch point atom. Atom ordering for the remaining atoms must match the order of atoms in the fragment library files. For example, for a pentane united atom model: # Fragment Info This specifies three fragments. Each of these fragments has three atoms. The first atom specified for each of the fragments is the branch point atom Fragment Connectivity # Fragment Connectivity Integer(1) Integer(i,2) Integer(i,3) Integer(i,4) The section lists the fragment connectivity - which fragment is bonded to which other fragment. It is a required keyword if Fragment Info is specified. Integer(1): total number of fragment connections. Integer(i,2): index of the i th fragment connectivity. Integer(i,3) Integer(i,4): fragment IDs participating in the connectivty. For example, for a pentane united atom model: # Fragment Connectivity

56 56 CHAPTER 4. FILES REQUIRED TO RUN CASSANDRA In this example, there are three fragments, therefore, two fragment connectivities must be specified. Note that fragment 1 is connected to fragment 2 and fragment 2 is connected to fragment 3.

57 Chapter 5 Utilities 5.1 Generate a Molecular Connectivity File The script mcf gen.py is a tool that aims to ease the setup of molecular connectivity files from scratch (see section 4.2 to learn more about MCFs), as the generation of these files by hand can be error prone. In this section, a pentane MCF will be generated to demonstrate the use of this tool. The Transferable Potentials for Phase Equilibria (TraPPE) force field will be used to represent the pentane molecular interactions. This force field involves a pairwise-additive 12-6 Lennard-Jones potential to represent the dispersion-repulsion interactions. Additionally, bond angles and dihedral angles are represented through harmonic and OPLS functional forms, respectively. Bond lengths are kept constant. The force field mathematical expression becomes U = angles K θ (θ θ 0 ) 2 + dihedrals 1 2 K 1[1+cos(φ)]+ 1 2 K 2[1 cos(2φ)]+ 1 2 K 3[1+cos(3φ)]+ 1 2 K 4[1 cos(4φ)]+ [ (σij ) 12 4ǫ ij i i>j r ij ( σij r ij ) 6 ] First, generate (or obtain) a PDB file or a CML file. To generate a PDB or CML file, software such as Gaussview or Avogadro can be used. Alternatively, PDB files can be downloaded from the internet (e.g. In this example, a pentane PDB file using the program Gaussview v5.08 was be generated, as shown below. Append a column containing the atom types. 57

58 58 CHAPTER 5. UTILITIES Avogadro v1.1.1 can also be used to generate CML files. Below is an example of a CML file generated using Avogadro

59 5.1. GENERATE A MOLECULAR CONNECTIVITY FILE 59 Modify the pentane united atom CML file. Note that the atom type is appended as a last column between quotation marks. In the terminal, run the following command: >python mcfgen.py pentane.pdb --fftemplate This command will create an.ff file. The first three sections of the FF file are displayed next. Do not modify these. The force field parameters for non-bonded (not shown), bonded, angle, dihedral (not shown) and coulombic interactions (not shown) must be entered next to the corresponding keyword. For example, the angle type CH3 CH2 CH2 has an angle of This value must be placed next to the Angle keyword.

60 60 CHAPTER 5. UTILITIES For more examples of filled ff files, please refer to the examples contained in the /Scripts/MCF Generation/ directory. Using the filled.ff file, run: > python mcfgen.py pentane.pdb Check the file newly created pentane.mcf for any possible errors. This example can be found in the directory /Scripts/MCF Generation/PDB/ Note that if an MCF for a rigid solid is being created, this last step must include the solid flag, as > python mcfgen.py zeolite.pdb --solid 5.2 Generate Library of Fragment Configurations The goal of the script library setup.py is to automate the generation of fragment libraries. As a starting point, the script requires the simulation input file, and the MCF and PDB files for each of the species. To run this script, type > library setup.py $PATH$/cassandra.exe input file.inp pdbfilespecies1.pdb pdfilespecies2.pdb... This script will create the necessary files to create the fragment libraries. It will also run Cassandra to generate these libraries, whose location will be at /species?/frag?/frag?.inp

61 5.2. GENERATE LIBRARY OF FRAGMENT CONFIGURATIONS 61 where? refers to the species number, for example, species 1, species 2 etc. Note that the script overwrites the section of the input file where needed (i.e. # Frag Info) with the aforementioned directory locations.

62 62 CHAPTER 5. UTILITIES

63 Chapter 6 Simulating Rigid Solids and Surfaces Simulations involving a rigid solid or surface can be performed in constant volume ensembles (i.e., NVT and GCMC). For example, an adsorption isotherm can be computed with a GCMC simulation in which fluid molecules are inserted into a crystalline solid. In addition to the files described in Chapter 4, the following files are required to run a simulation with a rigid solid or surface: a molecular connectivity file with force field parameters for each atom in the solid (*.mcf) a fragment library file listing the coordinates of each atom in the solid (*.dat) a configuration file with the initial coordinates of the all atoms in the system (*.xyz) The MCF and fragment library file can be created using the scripts discussed in Sections 5.1 and 5.2. Each of these scripts requires a starting PDB configuration file. The input file also requires specific parameters as given in the following section. Sample input scripts for GCMC simulations of various fluids in silicalite are included in the Examples/GCMC directory of the Cassandra distribution. 6.1 Input file The input file should be completed as described in Section 4.1, but with the following parameters: Under the keyword # Prob Translation, the translation width for the solid is 0. Under the keyword # Prob Rotation, the rotation width for the solid is 0. Under the keyword # Prob Regrowth, the regrowth probability for the solid is 0. 63

64 64 CHAPTER 6. SIMULATING RIGID SOLIDS AND SURFACES The volume dimensions under the keyword # Box Info must match the crystal dimensions. Under the keyword # Start Type, the read config or add to config options must be used. GCMC simulations require the following additional parameters: Under the keyword # Prob Insertion insertion method for the solid is none. Under the keyword # Chemical Potential Info, no chemical potential is required for the solid. 6.2 PDB file A PDB configuration file for a zeolite can be created in the following ways, among others: Manually, with atomic coordinates from the literature. For example, the atomic coordinates of silicalite are published in Ref. [5]. From a Crystallographic Information File (CIF), which can be downloaded from the Database of Zeolite Structures ( From the home page, click on the menu Framework Type and select your zeolite. The website will display structural information about the zeolite and will have a link to download a CIF. The CIF contains information about the zeolite structure such as cell parameters, space groups, T and O atom coordinates. A CIF can be converted into a PDB file using either Mercury or VESTA, both of which are available to download for free. For example, using VESTA: 1. From the File menu, click Open. Then download the CIF (e.g. MFI.cif) 2. From the Objects menu, click Boundary. Enter the desired number of replicas along each axis. To output a single unit cell, enter -0 to 1 in the x, y and z ranges. To output a 2x2x2 crystal, enter -1 to 1 in the x, y and z ranges. 3. From the File menu, click Export Data. Enter a filename ending with.pdb (e.g. MFI.pdb) 6.3 Molecular connectivity file Since the solid structure will be rigid, no bond distances, angle parameters or dihedral parameters are needed in the MCF. The PDB file for the rigid solid does not list CONECT information, so the mcfgen.py script will not include bond, angle, or dihedral sections in the force field template (*.ff) or MCF. The number of fragments will be zero. Only nonbonded parameters are needed.

65 6.4. FRAGMENT LIBRARY FILES Fragment library files The library setup.py script will not create a fragment library since the MCF lists zero fragments. 6.5 Configuration xyz file A simulation is initiated from an xyz file using the read config or add to config options. Section details the read config and add to config options.

66 66 CHAPTER 6. SIMULATING RIGID SOLIDS AND SURFACES

67 Chapter 7 Implementing the Metropolis Acceptance Criteria All Monte Carlo moves are implemented in Cassandra to preserve detailed balance between each pair of microstates m and n Π mn α mn p m = Π nm α nm p n (7.1) whereπ mn isthe probabilityofacceptingthe movefrommicrostatemto microstaten, α mn isthe probability of attempting the move that will form n from m, and p m is the probability of m in the ensemble of interest. In Cassandra, detailed balance is enforced via the Metropolis criterion ( Π mn = min 1, α ) nm p n α mn p m (7.2) The ratio in Eq. (7.2) will often involve an exponential, e.g. e β U. To preserve precision in the energy calculation, the acceptance probability is computed { [ ( )]} αmn p m Π mn = exp max 0,ln α nm p n (7.3) The logarithm, defined in code as ln pacc, is tested in the function accept or reject() which is defined in file accept or reject.f90. If ln pacc is greater than 0 and less than a maximum numerical value, Π mn is computed and compared to a random number. 67

68 68 CHAPTER 7. IMPLEMENTING THE METROPOLIS ACCEPTANCE CRITERIA 47 accept_or_reject =. FALSE IF (ln_pacc <= 0.0_DP) THEN accept_or_reject =. TRUE ELSE IF ( ln_pacc < max_kbt) THEN pacc = DEXP(-ln_pacc) IF ( rranf() <= pacc ) THEN accept_or_reject =. TRUE END IF END IF Code 7.1: accept or reject.f Canonical Monte Carlo In the canonical ensemble, the number of molecules N, the volume V and temperature T are all constant. The position, orientation and conformation of a semi-flexible molecule with fixed bond-lengths containing M atoms is given by a 2M +1-dimensional vector q. The positions, orientations and conformations of all N molecules are denoted q N. The probability of observing microstate m with configuration q N m is N p m = e βu(q m) Z(N,V,T) dqn (7.4) where β is the inverse temperature 1/k B T, U is the potential energy, the differential volume dq N is included to make p m dimensionless and Z is the configurational partition function Z(N,V,T) = e βu(qn) dq N. (7.5) The integral is over all N(2M + 1) degrees of freedom. The ratio of microstate probabilities follows from Eq. (7.4) N p m = e βu(q m) dq N /Z(N,V,T) p n e βu(qn n ) dq N /Z(N,V,T) = e β(un Um) = e β U (7.6)

69 7.1. CANONICAL MONTE CARLO 69 Table 7.1: Variable symbols and code names for translating and rotating a molecule Symbol Code name β beta(ibox) U delta e The configurational partition function Z and differential volume dq N both cancel, leaving only the ratio of Boltzmann factors. New configurations are generated by attempting moves that translate, rotate and regrow a randomly selected molecule Translating a Molecule A molecule is translatedby movingits center of mass in each Cartesian direction by a random amount chosen from the uniform distribution on the interval [-δr max,δr max ]. The maximum displacement δr max must be given in the input file. The translation move is symmetric in forward and reverse directions. That is, either microstate n can be formed from microstate m and vice versa by moving one molecule within δr max in each Cartesian direction, or microstate n cannot be formed at all. As a result, α mn = α nm. The acceptance probability for a translation move follows from Eq. (7.6) ( ) ( ) αmn p m pm ln = ln = β U (7.7) α nm p n p n In Cassandra, the translation move is implemented in the subroutine Translate defined in move translate.f90. The relevant lines from version 1.2 are quoted below. The variable names in the move translate.f90 code are identified with the symbols from Eq. (7.7) in Table ln_pacc = beta(ibox) * delta_e 267 accept = accept_or_reject( ln_pacc) Code 7.2: move translate.f Rotating a Molecule A linear molecule is rotated differently than a nonlinear molecule. A molecule is identified as linear if it is composed of 2 atoms or if all the angles are rigid with a bond angle of 180. If the molecule is linear: 1. Pick three random angles: φ on [ π,π], cos(θ) on [-1,1], and ψ on [ π,π].

70 70 CHAPTER 7. IMPLEMENTING THE METROPOLIS ACCEPTANCE CRITERIA 2. With the origin at the molecule s center of mass, rotate by φ around z, rotate by θ around x, and rotate by ψ around z, as shown in Fig Even though three angles are randomly chosen, the probability of the resulting orientation is d cos(θ)dφ/4π. Figure 7.1: Procedure for rotating linear molecules.image from mathworld.wolfram.com/eulerangles.html. If the molecule is nonlinear: 1. Randomly select an axis: x, y, or z. 2. Choose a random angular displacement δθ from [ δθ max,δθ max ]. δθ max must be given in the input file. 3. Rotate the molecule around a vector parallel to the selected axis and through its center of mass by δθ. In either case, the rotation move is symmetric, α mn = α nm, and the acceptance criteria is given by Eq. (7.7). The rotation move is implemented in subroutine Rotate defined in move rotate.f ln_pacc = beta(ibox) * delta_e 269 accept = accept_or_reject( ln_pacc) Code 7.3: move rotate.f Regrowing a Molecule Internal degrees of freedom in flexible molecules are sampled by deleting one or more fragments from the molecule and replacing the deleted fragments with conformations from a reservoir of fragment conformations. If the molecule consists of only a single fragment (e.g, water, all atom methane, united atom propane, all atom cyclohexane), the entire molecule is deleted and replaced as follows:

71 7.1. CANONICAL MONTE CARLO Randomly select a molecule i with uniform probability 1/N, record its center-of-mass position and delete it. 2. Select a molecular conformation with Boltzmann probability e βu(q(i) int,n ) /Z int, where q (i) int,n are the internal bond or improper angles of molecule i in microstate n and Z int is the configurational partition function over internal degrees of freedom (see Eq. (7.13)). 3. Pick three random angles: φ on [ π,π], cos(θ) on [-1,1], and ψ on [ π,π]. Rotate the molecule as shown in Fig The probability of the resulting orientation is dq rot /Z rot, which for a nonlinear molecule is dcos(θ)dφdψ/8π Place the molecule with the selected conformation and orientation at the same center-of-mass position as the deleted molecule. Regrowing a monoatomic particle has no effect. Regrowing a linear molecule is the same as rotating it. The overall probability α mn of regrowing a molecule with the selected orientation and conformation is α mn = 1 N e βu(q (i) n ) dq int (7.8) Z rot Z int dq rot where q n (i) denotes the position, orientationand conformation of molecule i in microstate n and U(q n (i) ) is the potential energy of the isolated molecule i, i.e. the intramolecular potential energy. The reverse probability α nm is identical except for the intramolecular potential energy U(q m (i) ) of molecule i in microstate m. Using Eqs. (7.6) and (7.8), the acceptance criteria for the regrowth of a single fragment molecule is ( ) αmn p m (U(q N ln = β[ α nm p n ) U(q N m) ) ( )] U(q n (i) ) U(q m (i) ) n = β U β U (i) int = β U(i) inter (7.9) Only the change in the intermolecular potential energy between molecule i and the other N 1 molecules contributes to the acceptance criteria. The code that implements Eq. (7.9) is shown in Code 7.7 in Section If the molecule consists of more than one fragment (e.g., all atom ethane, all atom toluene, united atom butane), a bond is cut and the severed fragments are regrown using Configurational Bias Monte Carlo (CBMC). See Section for more details Canonical Partition Function In Sections , the microstate probability is normalized by the configuration partition function Z because the only relevant degrees of freedom are configurational. In other ensembles, the full partition

72 72 CHAPTER 7. IMPLEMENTING THE METROPOLIS ACCEPTANCE CRITERIA function Q appears, integrated over both configuration space q N and momenta space p N q Q(N,V,T) = 1 h N(2M+1) N! e βh(pn q,qn) dp N q dqn (7.10) where the 2M+1 momenta p q are conjugate to the generalized coordinates q. The momenta and configuration integrals are separable, and the single molecule momenta integrals are all identical. Q(N,V,T) = 1 [ ][ ] N e βu(qn) dq N 1 N! h 2M+1 e βk(pq) dp q = 1 [ ] N Q(1,V,T) N! Z(N,V,T) (7.11) Z(1,V,T) where Q(1,V,T) is the partition function of a single molecule in a box. The center of mass integrals for a single molecule are separable from the integrals over rotational and internal degrees of freedom: Q(1,V,T) = Q com Q rot+int = VΛ 3 Q rot+int (7.12) where Λ is the de Broglie wavelength of the molecule and the rotational and internal momenta integrals in Q rot+int are not separable since the moments of inertia will depend on the conformation adopted by the molecule. The configurational partition function is further separable into center of mass (translational), orientational and internal degrees of freedom: Z(1,V,T) = VZ rot Z int (7.13) where the volume V is the translational partition function and Z rot equals 4π for a linear molecule and 8π 2 for a nonlinear molecule. 7.2 Isothermal-Isobaric Monte Carlo In the isothermal-isobaric ensemble, the number of particles N, the pressure P and temperature T are all constant while the volume V and energy E fluctuate. The partition function is (N,P,T) = e βpv Q(N,V,T)dV (7.14)

73 7.2. ISOTHERMAL-ISOBARIC MONTE CARLO 73 where Q is dimensionless and has dimensions of volume. The kinetic contribution to is independent of the pressure or volume and consequently separable from the configurational contribution, Z Z (N,P,T) = e βpv Z(N,V,T)dV (7.15) The probability of the system having volume V is p(v) = Z(N,V,T)e βpv Z (N,P,T) dv (7.16) The probability of observing microstate m with configuration q N m and volume V m is p m = e βu(qn m ) dq N m Z(N,V m,t) Q(N,V m,t)e βpvm dv (N,P,T) = e βum βpvm Z (N,P,T) dqn mdv (7.17) where the differential element dq N m has subscript m becuase it scales with the volume V m. The ratio of microstate probabilities is p m p n = e β(un Um)+βP(Vn Vm) ( ) N ( ) N dqm = e β U+βP V dqm (7.18) dq n dq n Scaling the Volume In Cassandra, new volumes are sampled as follows: 1. Pick a random volume V with uniform probability from the interval [ δv max, δv max ]. The trial volume is V + V. 2. Scale the box lengths uniformly. 3. Scale the center of mass of each molecule uniformly. The probability of selecting V is the same as selecting V which makes scaling the volume symmetric, α mn = α nm. Scaling the configurations changes the differential element dq N m surrounding configuration qn m.

74 74 CHAPTER 7. IMPLEMENTING THE METROPOLIS ACCEPTANCE CRITERIA Table 7.2: Variable symbols and code names for volume scaling move. Symbol Code name β beta(this box) U delta e P pressure(this box) V delta volume N total molecules V n box list(this box)%volume box list old%volume V m Only the molecular centers of mass change, so we can separate dq into 3 center of mass coordinates dr com and 2M-2 orientational and internal coordinates dq rot+int. The scaled center of mass positions are held constant, making dr com = Vds com. The acceptance probability for a volume scaling move is ( ) αmn p m ln = ln α nm p n ( pm p n ) = β U +βp V +N ln ( Vm V n ) (7.19) The volume scaling move is implemented in subroutine Volume Change defined in move volume.f90. Code 7.4: move volume.f ln_pacc = beta(this_box) * delta_e & beta(this_box) * pressure(this_box) * delta_volume & total_molecules * DLOG(box_list(this_box)%volume/box_list_old%volume) 427 accept = accept_or_reject( ln_pacc) 7.3 Grand Canonical Monte Carlo In the grand canonical ensemble, the chemical potential µ, the volume V and temperature T are held constant while the number of molecules N and energy E fluctuate. The partition function is Ξ(µ,V,T) = Q(N,V,T) e βµn (7.20) N=0 The probability of the system having N molecules is p(n) = Q(N,V,T)eβµN Ξ(µ,V,T) (7.21)

75 7.3. GRAND CANONICAL MONTE CARLO 75 The probability of observing microstate m with N m molecules and configuration q Nm m is ) p m = e βu(qnm m dq Nm Z(N m,v,t) = e βum+βµnm Ξ(µ,V,T) Q(N m,v,t)e βµnm Ξ(µ,V,T) ] Nm (7.22) [ Q(1,V,T) Z(1,V,T) dq Note that Eq. (7.22) does not contain the factorial N m! that accounts for indistinguishable particles. In a simulation, particles are distinguishable: they are numbered and specific particles are picked for MC moves. The ratio of microstate probabilities is p m p n = e β U βµ N [ ] N Q(1,V,T) Z(1,V,T) dq (7.23) Alternatively, Eq. (7.23) can be recast to use the fugacity f instead of the chemical potential µ. The relationship between µ and f is ( ) ( ) Q(1,V,T) Q(1,V,T) µ = k B T ln = k B T ln N βfv (7.24) Inserting Eq. (7.24) into Eq. (7.23) yields p m p n = e β U [ ] N βfv Z(1,V,T) dq (7.25) Fluctuations in the number of molecules are achieved by inserting and deleting molecules. A successful insertion increases the number of molecules from N to N + 1, i.e. N = 1. A successful deletion decreases the number of molecules from N to N - 1, i.e. N = 1. Random insertions and deletions (see Section 7.6) in the liquid phase typically have very high U due to core overlap and dangling bonds, respectively, making the probability of acceptance very low. Instead, insertions in Cassandra are attempted using Configurational Bias Monte Carlo Inserting a Molecule with Configurational Bias Monte Carlo In Configurational Bias Monte Carlo(CBMC), the molecular conformation of the inserted molecule is molded to the insertion cavity. First, the molecule is parsed into fragments such that each fragment is composed

76 76 CHAPTER 7. IMPLEMENTING THE METROPOLIS ACCEPTANCE CRITERIA of (a) a central atom and the atoms directly bonded to it (see Fig. 7.2), or (b) a ring of atoms and all the atoms directly bonded to them. Then, a position, orientation and molecular conformation of the molecule to be inserted are selected via the following steps: Figure 7.2: (a) An all-atommodel ofpropane. (b) The same model as in (a), but parsedinto three fragments. 1. Select the order in which each fragment of the (N +1)th molecule will be placed. The probability of the resulting sequence is p seq. (See example in Table. 7.3.) (a) The first fragment i is chosen with uniform probability 1/N frag. (b) Subsequent fragments must be connected to a previously chosen fragment and are chosen with the uniform probability 1/N cnxn, where the number of connections N cnxn = ij δ ijh i (1 h j ) is summed over all fragments i and j. h i is 1 if fragment i has been previously chosen and 0 otherwise. δ ij is 1 if fragments i and j are connected and 0 otherwise. 2. Select a conformation for fragment i with Boltzmann probability e βu(q frag i ) dq fragi /Z fragi, where q fragi are the internal degrees of freedom (angles and/or impropers) associated with fragment i. 3. Select an orientation with uniform probability dq rot /Z rot. 4. Select a coordinate for the center of mass (COM) of fragment i: (a) Select κ ins trial coordinates r k, each with uniform probability dr/v. Since one of the trial coordinates will be selected later, the individual probabilities are additive. The probability of the collection of trial coordinates is κ ins dr/v. (b) Compute the change in potential energy Uk ins of inserting fragment i at each position r k into configuration q N m. (c) Select one of the trial coordinates with probability e β Uins k / k e β Uins k. 5. For each additional fragment j: (a) Select a fragment conformation with Boltzmann probability e βu(q frag ) j dq fragj /Z fragj (b) Select the first of κ dih trial dihedrals φ 0 with uniform probability from the interval [0, 2π κ dih ). Additional trial dihedrals are equally spaced around the unit circle, φ k = φ k 1 + 2π/κ dih. The probability of selecting φ 0 is κ dih dφ/2π.

CASSANDRA. Computational Atomistic Simulation Software At Notre Dame for Research Advances

CASSANDRA. Computational Atomistic Simulation Software At Notre Dame for Research Advances 1 CASSANDRA Computational Atomistic Simulation Software At Notre Dame for Research Advances User Manual 1.1 Written by: Edward J. Maginn, Jindal K. Shah, Eliseo Marin-Rimoldi, Brian P. Keene, Sandip Khan,

More information

2008 Biowerkzeug Ltd.

2008 Biowerkzeug Ltd. 2008 Biowerkzeug Ltd. 1 Contents Summary...3 1 Simulation...4 1.1 Setup...4 1.2 Output...4 2 Settings...5 3 Analysis...9 3.1 Setup...9 3.2 Input options...9 3.3 Descriptions...10 Please note that we cannot

More information

Hands-on : Model Potential Molecular Dynamics

Hands-on : Model Potential Molecular Dynamics Hands-on : Model Potential Molecular Dynamics OUTLINE 0. DL_POLY code introduction 0.a Input files 1. THF solvent molecule 1.a Geometry optimization 1.b NVE/NVT dynamics 2. Liquid THF 2.a Equilibration

More information

What is Classical Molecular Dynamics?

What is Classical Molecular Dynamics? What is Classical Molecular Dynamics? Simulation of explicit particles (atoms, ions,... ) Particles interact via relatively simple analytical potential functions Newton s equations of motion are integrated

More information

Introduction to molecular dynamics

Introduction to molecular dynamics 1 Introduction to molecular dynamics Yves Lansac Université François Rabelais, Tours, France Visiting MSE, GIST for the summer Molecular Simulation 2 Molecular simulation is a computational experiment.

More information

A Nobel Prize for Molecular Dynamics and QM/MM What is Classical Molecular Dynamics? Simulation of explicit particles (atoms, ions,... ) Particles interact via relatively simple analytical potential

More information

Exercise 2: Solvating the Structure Before you continue, follow these steps: Setting up Periodic Boundary Conditions

Exercise 2: Solvating the Structure Before you continue, follow these steps: Setting up Periodic Boundary Conditions Exercise 2: Solvating the Structure HyperChem lets you place a molecular system in a periodic box of water molecules to simulate behavior in aqueous solution, as in a biological system. In this exercise,

More information

k θ (θ θ 0 ) 2 angles r i j r i j

k θ (θ θ 0 ) 2 angles r i j r i j 1 Force fields 1.1 Introduction The term force field is slightly misleading, since it refers to the parameters of the potential used to calculate the forces (via gradient) in molecular dynamics simulations.

More information

Computer simulation methods (2) Dr. Vania Calandrini

Computer simulation methods (2) Dr. Vania Calandrini Computer simulation methods (2) Dr. Vania Calandrini in the previous lecture: time average versus ensemble average MC versus MD simulations equipartition theorem (=> computing T) virial theorem (=> computing

More information

Molecular Dynamics Simulations. Dr. Noelia Faginas Lago Dipartimento di Chimica,Biologia e Biotecnologie Università di Perugia

Molecular Dynamics Simulations. Dr. Noelia Faginas Lago Dipartimento di Chimica,Biologia e Biotecnologie Università di Perugia Molecular Dynamics Simulations Dr. Noelia Faginas Lago Dipartimento di Chimica,Biologia e Biotecnologie Università di Perugia 1 An Introduction to Molecular Dynamics Simulations Macroscopic properties

More information

CARBON 2004 Providence, Rhode Island. Adsorption of Flexible n-butane and n-hexane on Graphitized Thermal Carbon Black and in Slit Pores

CARBON 2004 Providence, Rhode Island. Adsorption of Flexible n-butane and n-hexane on Graphitized Thermal Carbon Black and in Slit Pores CARBON Providence, Rhode Island Adsorption of Flexible n-butane and n-hexane on Graphitized Thermal Carbon Black and in Slit Pores D. D. Do* and H. D. Do, University of Queensland, St. Lucia, Qld 7, Australia

More information

IFM Chemistry Computational Chemistry 2010, 7.5 hp LAB2. Computer laboratory exercise 1 (LAB2): Quantum chemical calculations

IFM Chemistry Computational Chemistry 2010, 7.5 hp LAB2. Computer laboratory exercise 1 (LAB2): Quantum chemical calculations Computer laboratory exercise 1 (LAB2): Quantum chemical calculations Introduction: The objective of the second computer laboratory exercise is to get acquainted with a program for performing quantum chemical

More information

These are some preliminary notes on non-orthorhombic unit cell simulations using Music

These are some preliminary notes on non-orthorhombic unit cell simulations using Music These are some preliminary notes on non-orthorhombic unit cell simulations using Music 1) Introduction: Methods and how it is implemented in Music 2) Where and how we specify fundamental cell parameters

More information

Build_model v User Guide

Build_model v User Guide Build_model v.2.0.1 User Guide MolTech Build_model User Guide 2008-2011 Molecular Technologies Ltd. www.moltech.ru Please send your comments and suggestions to contact@moltech.ru. Table of Contents Input

More information

XYZ file format Protein Data Bank (pdb) file format Z - matrix

XYZ file format Protein Data Bank (pdb) file format Z - matrix Chemistry block (exercise 1) In this exercise, students will be introduced how to preform simple quantum chemical calculations. Input files for Gaussian09. Output file structure. Geometry optimization,

More information

Structure-Property Relationships of Porous Materials for Carbon Dioxide Separation and Capture

Structure-Property Relationships of Porous Materials for Carbon Dioxide Separation and Capture Supporting Information Structure-Property Relationships of Porous Materials for Carbon Dioxide Separation and Capture Christopher E. Wilmer, 1 Omar K. Farha, 2 Youn-Sang Bae, 3,a Joseph T. Hupp, 2 and

More information

Permeation of Hexane Isomers across ZSM-5 Zeolite Membranes

Permeation of Hexane Isomers across ZSM-5 Zeolite Membranes 2618 Ind. Eng. Chem. Res. 2000, 39, 2618-2622 Permeation of Hexane Isomers across ZSM-5 Zeolite Membranes Rajamani Krishna* and Dietmar Paschek Department of Chemical Engineering, University of Amsterdam,

More information

Phase Equilibria of binary mixtures by Molecular Simulation and PR-EOS: Methane + Xenon and Xenon + Ethane

Phase Equilibria of binary mixtures by Molecular Simulation and PR-EOS: Methane + Xenon and Xenon + Ethane International Journal of ChemTech Research CODEN( USA): IJCRGG ISSN : 0974-4290 Vol.5, No.6, pp 2975-2979, Oct-Dec 2013 Phase Equilibria of binary mixtures by Molecular Simulation and PR-EOS: Methane +

More information

Assignment 2 Atomic-Level Molecular Modeling

Assignment 2 Atomic-Level Molecular Modeling Assignment 2 Atomic-Level Molecular Modeling CS/BIOE/CME/BIOPHYS/BIOMEDIN 279 Due: November 3, 2016 at 3:00 PM The goal of this assignment is to understand the biological and computational aspects of macromolecular

More information

Molecular Simulations of Adsorption Isotherms for Linear and Branched Alkanes and Their Mixtures in Silicalite

Molecular Simulations of Adsorption Isotherms for Linear and Branched Alkanes and Their Mixtures in Silicalite 1102 J. Phys. Chem. B 1999, 103, 1102-1118 Molecular Simulations of Adsorption Isotherms for Linear and Branched Alkanes and Their Mixtures in Silicalite T. J. H. Vlugt, R. Krishna, and B. Smit* Department

More information

Understanding Molecular Simulation 2009 Monte Carlo and Molecular Dynamics in different ensembles. Srikanth Sastry

Understanding Molecular Simulation 2009 Monte Carlo and Molecular Dynamics in different ensembles. Srikanth Sastry JNCASR August 20, 21 2009 Understanding Molecular Simulation 2009 Monte Carlo and Molecular Dynamics in different ensembles Srikanth Sastry Jawaharlal Nehru Centre for Advanced Scientific Research, Bangalore

More information

Theoretical comparative study on hydrogen storage of BC 3 and carbon nanotubes

Theoretical comparative study on hydrogen storage of BC 3 and carbon nanotubes J. At. Mol. Sci. doi: 10.4208/jams.121011.011412a Vol. 3, No. 4, pp. 367-374 November 2012 Theoretical comparative study on hydrogen storage of BC 3 and carbon nanotubes Xiu-Ying Liu a,, Li-Ying Zhang

More information

Project 4/5 - Molecular dynamics part II: advanced study of Lennard-Jones fluids, deadline December 1st (noon)

Project 4/5 - Molecular dynamics part II: advanced study of Lennard-Jones fluids, deadline December 1st (noon) Format for delivery of report and programs The format of the project is that of a printed file or hand-written report. The programs should also be included with the report. Write only your candidate number

More information

Why Proteins Fold? (Parts of this presentation are based on work of Ashok Kolaskar) CS490B: Introduction to Bioinformatics Mar.

Why Proteins Fold? (Parts of this presentation are based on work of Ashok Kolaskar) CS490B: Introduction to Bioinformatics Mar. Why Proteins Fold? (Parts of this presentation are based on work of Ashok Kolaskar) CS490B: Introduction to Bioinformatics Mar. 25, 2002 Molecular Dynamics: Introduction At physiological conditions, the

More information

Contents. 1 Introduction and guide for this text 1. 2 Equilibrium and entropy 6. 3 Energy and how the microscopic world works 21

Contents. 1 Introduction and guide for this text 1. 2 Equilibrium and entropy 6. 3 Energy and how the microscopic world works 21 Preface Reference tables Table A Counting and combinatorics formulae Table B Useful integrals, expansions, and approximations Table C Extensive thermodynamic potentials Table D Intensive per-particle thermodynamic

More information

Lecture 11: Potential Energy Functions

Lecture 11: Potential Energy Functions Lecture 11: Potential Energy Functions Dr. Ronald M. Levy ronlevy@temple.edu Originally contributed by Lauren Wickstrom (2011) Microscopic/Macroscopic Connection The connection between microscopic interactions

More information

Phase transitions of quadrupolar fluids

Phase transitions of quadrupolar fluids Phase transitions of quadrupolar fluids Seamus F. O Shea Department of Chemistry, University of Lethbridge, Lethbridge, Alberta, Canada, T1K 3M4 Girija S. Dubey Brookhaven National Laboratory, Upton, New

More information

Melting line of the Lennard-Jones system, infinite size, and full potential

Melting line of the Lennard-Jones system, infinite size, and full potential THE JOURNAL OF CHEMICAL PHYSICS 127, 104504 2007 Melting line of the Lennard-Jones system, infinite size, and full potential Ethan A. Mastny a and Juan J. de Pablo b Chemical and Biological Engineering

More information

CE 530 Molecular Simulation

CE 530 Molecular Simulation 1 CE 530 Molecular Simulation Lecture 14 Molecular Models David A. Kofke Department of Chemical Engineering SUNY Buffalo kofke@eng.buffalo.edu 2 Review Monte Carlo ensemble averaging, no dynamics easy

More information

Molecular Dynamics Simulation of a Nanoconfined Water Film

Molecular Dynamics Simulation of a Nanoconfined Water Film Molecular Dynamics Simulation of a Nanoconfined Water Film Kyle Lindquist, Shu-Han Chao May 7, 2013 1 Introduction The behavior of water confined in nano-scale environment is of interest in many applications.

More information

Gibbs ensemble simulation of phase equilibrium in the hard core two-yukawa fluid model for the Lennard-Jones fluid

Gibbs ensemble simulation of phase equilibrium in the hard core two-yukawa fluid model for the Lennard-Jones fluid MOLECULAR PHYSICS, 1989, VOL. 68, No. 3, 629-635 Gibbs ensemble simulation of phase equilibrium in the hard core two-yukawa fluid model for the Lennard-Jones fluid by E. N. RUDISILL and P. T. CUMMINGS

More information

The Effect of Model Internal Flexibility Upon NEMD Simulations of Viscosity

The Effect of Model Internal Flexibility Upon NEMD Simulations of Viscosity Draft: September 29, 1999 The Effect of Model Internal Flexibility Upon NEMD Simulations of Viscosity N. G. Fuller 1 and R. L. Rowley 1,2 Abstract The influence of model flexibility upon simulated viscosity

More information

CHEM 498Q / CHEM 630Q: Molecular Modeling of Proteins TUTORIAL #3a: Empirical force fields

CHEM 498Q / CHEM 630Q: Molecular Modeling of Proteins TUTORIAL #3a: Empirical force fields Department of Chemistry and Biochemistry, Concordia University! page 1 of 6 CHEM 498Q / CHEM 630Q: Molecular Modeling of Proteins TUTORIAL #3a: Empirical force fields INTRODUCTION The goal of this tutorial

More information

Computation of non-bonded interactions: Part 1

Computation of non-bonded interactions: Part 1 Computation of non-bonded interactions: Part 1 Computation of non-local (non-bonded) interactions in the potential function E p non-local scales with the number of atoms as N. For the large molecular systems

More information

Molecular Dynamics, Stochastic simulations, and Monte Carlo

Molecular Dynamics, Stochastic simulations, and Monte Carlo UMEÅ UNIVERSITY September 11, 2018 Department of Physics Modeling and Simulation, 7.5hp Molecular Dynamics, Stochastic simulations, and Monte Carlo Peter Olsson Miscellanous comments The following instructions

More information

Title Theory of solutions in the energy r of the molecular flexibility Author(s) Matubayasi, N; Nakahara, M Citation JOURNAL OF CHEMICAL PHYSICS (2003), 9702 Issue Date 2003-11-08 URL http://hdl.handle.net/2433/50354

More information

Copyright 2001 University of Cambridge. Not to be quoted or copied without permission.

Copyright 2001 University of Cambridge. Not to be quoted or copied without permission. Course MP3 Lecture 4 13/11/2006 Monte Carlo method I An introduction to the use of the Monte Carlo method in materials modelling Dr James Elliott 4.1 Why Monte Carlo? The name derives from the association

More information

PORE SIZE DISTRIBUTION OF CARBON WITH DIFFERENT PROBE MOLECULES

PORE SIZE DISTRIBUTION OF CARBON WITH DIFFERENT PROBE MOLECULES PORE SIZE DISTRIBUTION OF CARBON WITH DIFFERENT PROBE MOLECULES Atichat Wongkoblap*, Worapot Intomya, Warangkhana Somrup, Sorod Charoensuk, Supunnee Junpirom and Chaiyot Tangsathitkulchai School of Chemical

More information

Department of Chemical Engineering University of California, Santa Barbara Spring Exercise 3. Due: Thursday, 5/3/12

Department of Chemical Engineering University of California, Santa Barbara Spring Exercise 3. Due: Thursday, 5/3/12 Department of Chemical Engineering ChE 210D University of California, Santa Barbara Spring 2012 Exercise 3 Due: Thursday, 5/3/12 Objective: To learn how to write & compile Fortran libraries for Python,

More information

Non-equilibrium molecular dynamics simulation study of the behavior of hydrocarbon-isomers in silicalite

Non-equilibrium molecular dynamics simulation study of the behavior of hydrocarbon-isomers in silicalite Fluid Phase Equilibria 194 197 (2002) 309 317 Non-equilibrium molecular dynamics simulation study of the behavior of hydrocarbon-isomers in silicalite S. Furukawa a,b,, C. McCabe a,c, T. Nitta b, P.T.

More information

Monte Carlo Methods. Ensembles (Chapter 5) Biased Sampling (Chapter 14) Practical Aspects

Monte Carlo Methods. Ensembles (Chapter 5) Biased Sampling (Chapter 14) Practical Aspects Monte Carlo Methods Ensembles (Chapter 5) Biased Sampling (Chapter 14) Practical Aspects Lecture 1 2 Lecture 1&2 3 Lecture 1&3 4 Different Ensembles Ensemble ame Constant (Imposed) VT Canonical,V,T P PT

More information

On the application of consistency criteria to. calculate BET areas of micro- and mesoporous. metal-organic frameworks

On the application of consistency criteria to. calculate BET areas of micro- and mesoporous. metal-organic frameworks Supporting Information On the application of consistency criteria to calculate BET areas of micro- and mesoporous metal-organic frameworks Diego A. Gómez-Gualdrón a, Peyman Z. Moghadam a, Joseph T. Hupp

More information

Exercises for Windows

Exercises for Windows Exercises for Windows CAChe User Interface for Windows Select tool Application window Document window (workspace) Style bar Tool palette Select entire molecule Select Similar Group Select Atom tool Rotate

More information

MONTE CARLO METHOD. Reference1: Smit Frenkel, Understanding molecular simulation, second edition, Academic press, 2002.

MONTE CARLO METHOD. Reference1: Smit Frenkel, Understanding molecular simulation, second edition, Academic press, 2002. MONTE CARLO METHOD Reference1: Smit Frenkel, Understanding molecular simulation, second edition, Academic press, 2002. Reference 2: David P. Landau., Kurt Binder., A Guide to Monte Carlo Simulations in

More information

THE DL MULTI USER MANUAL. M. Leslie, CCLRC, Daresbury Laboratory, Daresbury, Warrington WA4 4AD, England

THE DL MULTI USER MANUAL. M. Leslie, CCLRC, Daresbury Laboratory, Daresbury, Warrington WA4 4AD, England THE DL MULTI USER MANUAL M. Leslie, CCLRC, Daresbury Laboratory, Daresbury, Warrington WA4 4AD, England Version 2.00 Jan 2003 c CCLRC 1 ABOUT DL MULTI DL MULTI is an extension to the standard DL POLY package

More information

Introduction to Spark

Introduction to Spark 1 As you become familiar or continue to explore the Cresset technology and software applications, we encourage you to look through the user manual. This is accessible from the Help menu. However, don t

More information

LAMMPS Performance Benchmark on VSC-1 and VSC-2

LAMMPS Performance Benchmark on VSC-1 and VSC-2 LAMMPS Performance Benchmark on VSC-1 and VSC-2 Daniel Tunega and Roland Šolc Institute of Soil Research, University of Natural Resources and Life Sciences VSC meeting, Neusiedl am See, February 27-28,

More information

510 Subject Index. Hamiltonian 33, 86, 88, 89 Hamilton operator 34, 164, 166

510 Subject Index. Hamiltonian 33, 86, 88, 89 Hamilton operator 34, 164, 166 Subject Index Ab-initio calculation 24, 122, 161. 165 Acentric factor 279, 338 Activity absolute 258, 295 coefficient 7 definition 7 Atom 23 Atomic units 93 Avogadro number 5, 92 Axilrod-Teller-forces

More information

PDF-4+ Tools and Searches

PDF-4+ Tools and Searches PDF-4+ Tools and Searches PDF-4+ 2018 The PDF-4+ 2018 database is powered by our integrated search display software. PDF-4+ 2018 boasts 72 search selections coupled with 125 display fields resulting in

More information

ICCP Project 2 - Advanced Monte Carlo Methods Choose one of the three options below

ICCP Project 2 - Advanced Monte Carlo Methods Choose one of the three options below ICCP Project 2 - Advanced Monte Carlo Methods Choose one of the three options below Introduction In statistical physics Monte Carlo methods are considered to have started in the Manhattan project (1940

More information

ChemNetworks. A Complex Network Analysis Tool For Chemical Systems. User s Manual. Version 1.0. November 2013

ChemNetworks. A Complex Network Analysis Tool For Chemical Systems. User s Manual. Version 1.0. November 2013 ChemNetworks A Complex Network Analysis Tool For Chemical Systems User s Manual Version 1.0 November 2013 Dr. Abdullah Ozkanlar and Prof. Aurora E. Clark Department of Chemistry, Washington State University

More information

Progress toward a Monte Carlo Simulation of the Ice VI-VII Phase Transition

Progress toward a Monte Carlo Simulation of the Ice VI-VII Phase Transition Progress toward a Monte Carlo Simulation of the Ice VI-VII Phase Transition Christina Gower 2010 NSF/REU PROJECT Physics Department University of Notre Dame Advisor: Dr. Kathie E. Newman August 6, 2010

More information

Supporting information

Supporting information Electronic Supplementary Material ESI for Physical Chemistry Chemical Physics. This journal is the Owner Societies 2018 Supporting information Understanding three-body contributions to coarse-grained force

More information

Molecular dynamics simulation. CS/CME/BioE/Biophys/BMI 279 Oct. 5 and 10, 2017 Ron Dror

Molecular dynamics simulation. CS/CME/BioE/Biophys/BMI 279 Oct. 5 and 10, 2017 Ron Dror Molecular dynamics simulation CS/CME/BioE/Biophys/BMI 279 Oct. 5 and 10, 2017 Ron Dror 1 Outline Molecular dynamics (MD): The basic idea Equations of motion Key properties of MD simulations Sample applications

More information

Biomolecules are dynamic no single structure is a perfect model

Biomolecules are dynamic no single structure is a perfect model Molecular Dynamics Simulations of Biomolecules References: A. R. Leach Molecular Modeling Principles and Applications Prentice Hall, 2001. M. P. Allen and D. J. Tildesley "Computer Simulation of Liquids",

More information

Example questions for Molecular modelling (Level 4) Dr. Adrian Mulholland

Example questions for Molecular modelling (Level 4) Dr. Adrian Mulholland Example questions for Molecular modelling (Level 4) Dr. Adrian Mulholland 1) Question. Two methods which are widely used for the optimization of molecular geometies are the Steepest descents and Newton-Raphson

More information

Motion II. Goals and Introduction

Motion II. Goals and Introduction Motion II Goals and Introduction As you have probably already seen in lecture or homework, and if you ve performed the experiment Motion I, it is important to develop a strong understanding of how to model

More information

JASS Modeling and visualization of molecular dynamic processes

JASS Modeling and visualization of molecular dynamic processes JASS 2009 Konstantin Shefov Modeling and visualization of molecular dynamic processes St Petersburg State University, Physics faculty, Department of Computational Physics Supervisor PhD Stepanova Margarita

More information

Title Super- and subcritical hydration of Thermodynamics of hydration Author(s) Matubayasi, N; Nakahara, M Citation JOURNAL OF CHEMICAL PHYSICS (2000), 8109 Issue Date 2000-05-08 URL http://hdl.handle.net/2433/50350

More information

Molecular Modeling and Conformational Analysis with PC Spartan

Molecular Modeling and Conformational Analysis with PC Spartan Molecular Modeling and Conformational Analysis with PC Spartan Introduction Molecular modeling can be done in a variety of ways, from using simple hand-held models to doing sophisticated calculations on

More information

Chem 7040 Statistical Thermodynamics Problem Set #6 - Computational Due 1 Oct at beginning of class

Chem 7040 Statistical Thermodynamics Problem Set #6 - Computational Due 1 Oct at beginning of class Chem 7040 Statistical Thermodynamics Problem Set #6 - Computational Due 1 Oct at beginning of class Good morning, gang! I was coerced into giving a last-minute Chem Dept recruiting talk in balmy Minnesota

More information

CHEM 498Q / CHEM 630Q: Molecular Modeling of Proteins TUTORIAL #3a: Empirical force fields

CHEM 498Q / CHEM 630Q: Molecular Modeling of Proteins TUTORIAL #3a: Empirical force fields Department of Chemistry and Biochemistry, Concordia University page 1 of 6 CHEM 498Q / CHEM 630Q: Molecular Modeling of Proteins TUTORIAL #3a: Empirical force fields INTRODUCTION The goal of this tutorial

More information

Computational Chemistry - MD Simulations

Computational Chemistry - MD Simulations Computational Chemistry - MD Simulations P. Ojeda-May pedro.ojeda-may@umu.se Department of Chemistry/HPC2N, Umeå University, 901 87, Sweden. May 2, 2017 Table of contents 1 Basics on MD simulations Accelerated

More information

Chem 253. Tutorial for Materials Studio

Chem 253. Tutorial for Materials Studio Chem 253 Tutorial for Materials Studio This tutorial is designed to introduce Materials Studio 7.0, which is a program used for modeling and simulating materials for predicting and rationalizing structure

More information

OPENATOM for GW calculations

OPENATOM for GW calculations OPENATOM for GW calculations by OPENATOM developers 1 Introduction The GW method is one of the most accurate ab initio methods for the prediction of electronic band structures. Despite its power, the GW

More information

Assignment 1: Molecular Mechanics (PART 1 25 points)

Assignment 1: Molecular Mechanics (PART 1 25 points) Chemistry 380.37 Fall 2015 Dr. Jean M. Standard August 19, 2015 Assignment 1: Molecular Mechanics (PART 1 25 points) In this assignment, you will perform some molecular mechanics calculations using the

More information

On the Calculation of the Chemical Potential. Using the Particle Deletion Scheme

On the Calculation of the Chemical Potential. Using the Particle Deletion Scheme On the Calculation of the Chemical Potential Using the Particle Deletion Scheme Georgios C. Boulougouris,2, Ioannis G. Economou and Doros. Theodorou,3,* Molecular Modelling of Materials Laboratory, Institute

More information

Peptide folding in non-aqueous environments investigated with molecular dynamics simulations Soto Becerra, Patricia

Peptide folding in non-aqueous environments investigated with molecular dynamics simulations Soto Becerra, Patricia University of Groningen Peptide folding in non-aqueous environments investigated with molecular dynamics simulations Soto Becerra, Patricia IMPORTANT NOTE: You are advised to consult the publisher's version

More information

PDF-4+ Tools and Searches

PDF-4+ Tools and Searches PDF-4+ Tools and Searches PDF-4+ 2019 The PDF-4+ 2019 database is powered by our integrated search display software. PDF-4+ 2019 boasts 74 search selections coupled with 126 display fields resulting in

More information

Introduction Statistical Thermodynamics. Monday, January 6, 14

Introduction Statistical Thermodynamics. Monday, January 6, 14 Introduction Statistical Thermodynamics 1 Molecular Simulations Molecular dynamics: solve equations of motion Monte Carlo: importance sampling r 1 r 2 r n MD MC r 1 r 2 2 r n 2 3 3 4 4 Questions How can

More information

Table of Contents. Table of Contents LAMMPS trajectories into QuantumATK

Table of Contents. Table of Contents LAMMPS trajectories into QuantumATK Table of Contents Table of Contents LAMMPS trajectories into QuantumATK Preparing a LAMMPS script Running LAMMPS Importing to QuantumATK Postprocessing LAMMPS trajectories References 1 2 2 3 3 5 8 QuantumATK

More information

Phase Equilibria and Molecular Solutions Jan G. Korvink and Evgenii Rudnyi IMTEK Albert Ludwig University Freiburg, Germany

Phase Equilibria and Molecular Solutions Jan G. Korvink and Evgenii Rudnyi IMTEK Albert Ludwig University Freiburg, Germany Phase Equilibria and Molecular Solutions Jan G. Korvink and Evgenii Rudnyi IMTEK Albert Ludwig University Freiburg, Germany Preliminaries Learning Goals Phase Equilibria Phase diagrams and classical thermodynamics

More information

Hyeyoung Shin a, Tod A. Pascal ab, William A. Goddard III abc*, and Hyungjun Kim a* Korea

Hyeyoung Shin a, Tod A. Pascal ab, William A. Goddard III abc*, and Hyungjun Kim a* Korea The Scaled Effective Solvent Method for Predicting the Equilibrium Ensemble of Structures with Analysis of Thermodynamic Properties of Amorphous Polyethylene Glycol-Water Mixtures Hyeyoung Shin a, Tod

More information

Introduction to Benchmark Test for Multi-scale Computational Materials Software

Introduction to Benchmark Test for Multi-scale Computational Materials Software Introduction to Benchmark Test for Multi-scale Computational Materials Software Shun Xu*, Jian Zhang, Zhong Jin xushun@sccas.cn Computer Network Information Center Chinese Academy of Sciences (IPCC member)

More information

BCMB/CHEM 8190 Lab Exercise Using Maple for NMR Data Processing and Pulse Sequence Design March 2012

BCMB/CHEM 8190 Lab Exercise Using Maple for NMR Data Processing and Pulse Sequence Design March 2012 BCMB/CHEM 8190 Lab Exercise Using Maple for NMR Data Processing and Pulse Sequence Design March 2012 Introduction Maple is a powerful collection of routines to aid in the solution of mathematical problems

More information

Mass Asset Additions. Overview. Effective mm/dd/yy Page 1 of 47 Rev 1. Copyright Oracle, All rights reserved.

Mass Asset Additions.  Overview. Effective mm/dd/yy Page 1 of 47 Rev 1. Copyright Oracle, All rights reserved. Overview Effective mm/dd/yy Page 1 of 47 Rev 1 System References None Distribution Oracle Assets Job Title * Ownership The Job Title [list@yourcompany.com?subject=eduxxxxx] is responsible for ensuring

More information

Expt MM 1. MOLECULAR MODELING AND PREDICTIONS OF EQUILIBRIUM CONSTANT FOR MENTHONE (trans) AND ISOMENTHONE (cis) ISOMERS (MM)

Expt MM 1. MOLECULAR MODELING AND PREDICTIONS OF EQUILIBRIUM CONSTANT FOR MENTHONE (trans) AND ISOMENTHONE (cis) ISOMERS (MM) Expt MM 1 MOLECULAR MODELING AND PREDICTIONS OF EQUILIBRIUM CONSTANT FOR MENTHONE (trans) AND ISOMENTHONE (cis) ISOMERS (MM) Important Modification Note the software in use may be changed in 2008 to Scigress.

More information

Example: H 2 O (the car file)

Example: H 2 O (the car file) Example: H 2 O (the car file) As a practical example of DFT methods we calculate the energy and electronic properties of the water molecule. In order to carry out the DFT calculation you will need a set

More information

Creating Empirical Calibrations

Creating Empirical Calibrations 030.0023.01.0 Spreadsheet Manual Save Date: December 1, 2010 Table of Contents 1. Overview... 3 2. Enable S1 Calibration Macro... 4 3. Getting Ready... 4 4. Measuring the New Sample... 5 5. Adding New

More information

Ion-Gated Gas Separation through Porous Graphene

Ion-Gated Gas Separation through Porous Graphene Online Supporting Information for: Ion-Gated Gas Separation through Porous Graphene Ziqi Tian, Shannon M. Mahurin, Sheng Dai,*,, and De-en Jiang *, Department of Chemistry, University of California, Riverside,

More information

CECAM Tutorial Stuttgart, Oct. 2012

CECAM Tutorial Stuttgart, Oct. 2012 CECAM Tutorial Stuttgart, Oct. 2012 09.10.2012 ESPResSo++ CECAM Tutorial 1 / 40 ESPResSo++ ESPResSo++ is an open-source simulation package designed to perform molecular dynamics and monte carlo simulations

More information

Monte Carlo simulations of vapor-liquid-liquid equilibrium of ternary

Monte Carlo simulations of vapor-liquid-liquid equilibrium of ternary 1 Monte Carlo simulations of vapor-- equilibrium of ternary petrochemical mixtures Suren Moodley a, Kim Bolton b, and Deresh Ramjugernath a a Thermodynamics Research Unit, School of Chemical Engineering,

More information

Ideal Gas Behavior. NC State University

Ideal Gas Behavior. NC State University Chemistry 331 Lecture 6 Ideal Gas Behavior NC State University Macroscopic variables P, T Pressure is a force per unit area (P= F/A) The force arises from the change in momentum as particles hit an object

More information

Multiple time step Monte Carlo

Multiple time step Monte Carlo JOURNAL OF CHEMICAL PHYSICS VOLUME 117, NUMBER 18 8 NOVEMBER 2002 Multiple time step Monte Carlo Balázs Hetényi a) Department of Chemistry, Princeton University, Princeton, NJ 08544 and Department of Chemistry

More information

Chapter: 22. Visualization: Making INPUT File and Processing of Output Results

Chapter: 22. Visualization: Making INPUT File and Processing of Output Results Chapter: 22 Visualization: Making INPUT File and Processing of Output Results Keywords: visualization, input and output structure, molecular orbital, electron density. In the previous chapters, we have

More information

Supporting Information

Supporting Information Supporting Information Structure and Dynamics of Uranyl(VI) and Plutonyl(VI) Cations in Ionic Liquid/Water Mixtures via Molecular Dynamics Simulations Katie A. Maerzke, George S. Goff, Wolfgang H. Runde,

More information

Dihedral Angles. Homayoun Valafar. Department of Computer Science and Engineering, USC 02/03/10 CSCE 769

Dihedral Angles. Homayoun Valafar. Department of Computer Science and Engineering, USC 02/03/10 CSCE 769 Dihedral Angles Homayoun Valafar Department of Computer Science and Engineering, USC The precise definition of a dihedral or torsion angle can be found in spatial geometry Angle between to planes Dihedral

More information

All-atom Molecular Mechanics. Trent E. Balius AMS 535 / CHE /27/2010

All-atom Molecular Mechanics. Trent E. Balius AMS 535 / CHE /27/2010 All-atom Molecular Mechanics Trent E. Balius AMS 535 / CHE 535 09/27/2010 Outline Molecular models Molecular mechanics Force Fields Potential energy function functional form parameters and parameterization

More information

Imperfect Gases. NC State University

Imperfect Gases. NC State University Chemistry 431 Lecture 3 Imperfect Gases NC State University The Compression Factor One way to represent the relationship between ideal and real gases is to plot the deviation from ideality as the gas is

More information

Solutions to Assignment #4 Getting Started with HyperChem

Solutions to Assignment #4 Getting Started with HyperChem Solutions to Assignment #4 Getting Started with HyperChem 1. This first exercise is meant to familiarize you with the different methods for visualizing molecules available in HyperChem. (a) Create a molecule

More information

Intermolecular Forces and Monte-Carlo Integration 열역학특수연구

Intermolecular Forces and Monte-Carlo Integration 열역학특수연구 Intermolecular Forces and Monte-Carlo Integration 열역학특수연구 2003.3.28 Source of the lecture note. J.M.Prausnitz and others, Molecular Thermodynamics of Fluid Phase Equiliria Atkins, Physical Chemistry Lecture

More information

The Potential Energy Surface (PES) And the Basic Force Field Chem 4021/8021 Video II.iii

The Potential Energy Surface (PES) And the Basic Force Field Chem 4021/8021 Video II.iii The Potential Energy Surface (PES) And the Basic Force Field Chem 4021/8021 Video II.iii Fundamental Points About Which to Be Thinking It s clear the PES is useful, so how can I construct it for an arbitrary

More information

Advanced Molecular Molecular Dynamics

Advanced Molecular Molecular Dynamics Advanced Molecular Molecular Dynamics Technical details May 12, 2014 Integration of harmonic oscillator r m period = 2 k k and the temperature T determine the sampling of x (here T is related with v 0

More information

Multiscale Materials Modeling

Multiscale Materials Modeling Multiscale Materials Modeling Lecture 02 Capabilities of Classical Molecular Simulation These notes created by David Keffer, University of Tennessee, Knoxville, 2009. Outline Capabilities of Classical

More information

Supplementary Materials for

Supplementary Materials for advances.sciencemag.org/cgi/content/full/4/4/eaaq1636/dc1 Supplementary Materials for Readily accessible shape-memory effect in a porous interpenetrated coordination network Mohana Shivanna, Qing-Yuan

More information

Calculating Vibrational Spectra from Molecular Dynamics

Calculating Vibrational Spectra from Molecular Dynamics Calculating Vibrational Spectra from Molecular Dynamics A Simulating a Trajectory with Wannier Centers To calculate IR spectra from Molecular Dynamics, it is necessary to have dipole information for the

More information

Description of the MULFIT program February 1998 by G. G. Ferenczy, C. A. Reynolds and P. J. Winn modified by A. J.

Description of the MULFIT program February 1998 by G. G. Ferenczy, C. A. Reynolds and P. J. Winn modified by A. J. Description of the MULFIT program February 1998 by G. G. Ferenczy, C. A. Reynolds and P. J. Winn modified by A. J. Stone, 2006 2009 1 Introduction This program is the realisation of a method for calculating

More information

Assignment 2: Conformation Searching (50 points)

Assignment 2: Conformation Searching (50 points) Chemistry 380.37 Fall 2015 Dr. Jean M. Standard September 16, 2015 Assignment 2: Conformation Searching (50 points) In this assignment, you will use the Spartan software package to investigate some conformation

More information

Elasticity Constants of Clay Minerals Using Molecular Mechanics Simulations

Elasticity Constants of Clay Minerals Using Molecular Mechanics Simulations Elasticity Constants of Clay Minerals Using Molecular Mechanics Simulations Jin-ming Xu, Cheng-liang Wu and Da-yong Huang Abstract The purpose of this paper is to obtain the elasticity constants (including

More information

Crystal Structure Prediction using CRYSTALG program

Crystal Structure Prediction using CRYSTALG program Crystal Structure Prediction using CRYSTALG program Yelena Arnautova Baker Laboratory of Chemistry and Chemical Biology, Cornell University Problem of crystal structure prediction: - theoretical importance

More information