Jerry Crum
3/6/2020
This is a package for automating structure generation and characterization of zeolites for computational chemistry.
This package is built around the ASE atoms object, and thus requires installation of ASE (https://wiki.fysik.dtu.dk/ase/install.html).
Numpy is also required.
Clone this git repository into your PYTHONPATH (i.e. anaconda3/lib/python3.X/site-packages/), and you are good to go. Also, you can clone this git repository anywhere you want, and then add the location to your PYTHONPATH.
This function ill place one divalent cation into a zeolite framework that contains two negative charge centers. The cation is placed at each of 6 rings around each of the aluminum atoms. This creates 12 structures. Depending on the placement of your Al, some of the strucutres may not be unique.
The structures will be placed in the path provided as an input. Format of the structures folder names are:
D-aluminum_index-oxygen1_index,oxygen2_index.
The original version of this code was written by Sichi Li in 2017.
atoms: zeolite framework in the form of an ASE atoms object, with two Al T-sites.
M: Symbol of the divalent cation you would like added to the structure. Must be a string, i.e. ‘Cu’.
path: If path is provided, structures will be saved to path location.
This command will load an atoms object of the zeolite code you input. Every zeolite structure listed on iza-strcutres.org/databases/ as of 3/7/2020 are contained in this package.
code: string of the 3 character IZA framework code (i.e. ‘CHA’ or ‘MFI’).
This command will enumerate all the possible structures of where a proton can bind around an isolated hetero atom inside the zeolite framework. Returns a trajectory of the possible structures and a list of all the oxygen indices used (see examples for usage).
atoms: zeolite framework in the form of an ASE atoms object.
tatom: index of the hetero atom you would like to protonate.
path: path to the location where you would like the structures saved. Currently, the structures can only be saved in the VASP POSCAR format.
This command will enumerate all the possible structures of where a proton can bind around a set of paired hetero atoms inside the zeolite framework. Returns a trajectory of the possible structures, and a list of all the oxygen indices used (see examples for usage).
atoms: zeolite framework in the form of an ASE atoms object.
tatom: if both hetero atoms are of the same species, use the symbol (i.e. ‘Al’). Otherwise use a list of the indices for the hetero atoms.
path: path to the location where you would like the structures saved. Currently, the structures can only be saved in the VASP POSCAR format.
This command will list the size of the rings associated with an oxygen atom. For CHA and other zeolite frameworks with only one unique T Site, the oxygens are only associated with three rings. This may be not be true for more complicated zeolites, and further testing is required.
atoms: zeolite framework in the form of an ASE atoms object.
index: index of the oxygen you want to get the rings about, integer.
Note: With latest update, speeds are much improved for ring classification. Also, there is no longer a need to provide the possible rings to the function. Please see example workbook for usage.
This command will replace one atom in the zeolite framework with a new of your choosing.
atoms: zeolite framework in the form of an ASE atoms object.
index: index of the atom you would like to change into a new element.
new_atom: symbol of the element you would like to change index into, must be string.
T Site Pair Identification
Divalent Cation Exchange
If there is something you would like to see added to this package, or if you would like to contribute, please email me at jcrum@nd.edu.
This package contains contributions from Justin R Crum. Thanks to Jian Ren Lim for testing.