Skip to content
wfschneidergroupPublic
forked from jtcrum/zse

About

Zeolite Simulation Environment

Resources

Stars

0 stars

Watchers

0 watching

Forks

 
 

Repository files navigation

Zeolite Simulation Environment

Jerry Crum

3/6/2020

Description

This is a package for automating structure generation and characterization of zeolites for computational chemistry.

Requirements

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.

Installation

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.

Current Modules

zse.cation

divalent(atoms, M, path= None)

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.

zse.collections

framework(‘code’)

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’).

zse.protonate

isolated(atoms,tatom,path=’.’)

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.

paired(atoms,tatoms,path=’.’)

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.

zse.rings

get_rings(atoms, index)

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.

zse.substitute

tsub(atoms,index,new_atom)

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.

Future Inclusions

T Site Pair Identification

Divalent Cation Exchange

Contributions

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.

Acknowledgments

This package contains contributions from Justin R Crum. Thanks to Jian Ren Lim for testing.

About

Zeolite Simulation Environment

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages