CompChemUtils#
CompChemUtils is a set of tools for computational catalysis workflows.
Requirements#
Installation#
$ pip install comp-chem-utils
or, if you use poetry:
$ poetry add comp-chem-utils
You can also install the in-development version with:
$ pip install https://gitlab.com/ugognw/python-comp-chem-utils/-/archive/development/ccu-main.zip
or, similarly:
$ poetry add git+https://gitlab.com/ugognw/python-comp-chem-utils/-/archive/development/ccu-main.git
Documentation#
Testing#
To run all the tests run:
$ tox
Note, to combine the coverage data from all the tox environments run:
Windows |
set PYTEST_ADDOPTS=--cov-append
tox
|
---|---|
Other |
PYTEST_ADDOPTS=--cov-append tox
|
Examples#
Determine whether a water molecule is symmetric with respect to a 180 degree rotation about its secondary orientation axis.
>>> from ase.build import molecule
>>> from ccu.structure.axisfinder import find_secondary_axis
>>> from ccu.structure.symmetry import Rotation, RotationSymmetry
>>> h2o = molecule('H2O')
>>> axis = find_secondary_axis(h2o)
>>> r = Rotation(180, axis)
>>> sym = RotationSymmetry(r)
>>> sym.check_symmetry(h2o)
True
Retrieve reaction intermediates for the two-electron CO2 reduction reaction.
>>> from ccu.adsorption.adsorbates import get_adsorbate
>>> cooh = get_adsorbate('COOH_CIS')
>>> cooh.positions
array([[ 0. , 0. , 0. ],
[ 0.98582255, -0.68771934, 0. ],
[ 0. , 1.343 , 0. ],
[ 0.93293074, 1.61580804, 0. ]])
>>> ocho = get_adsorbate('OCHO')
>>> ocho.positions
array([[ 0. , 0. , 0. ],
[ 1.16307212, -0.6715 , 0. ],
[ 0. , 1.343 , 0. ],
[-0.95002987, -0.5485 , 0. ]])
Place adsorbates on a surface (namely, “Cu-THQ.traj”) while considering the symmetry of the adsorbate and the adsorption sites.:
$ ccu adsorption place-adsorbate CO Cu-THQ.traj orientations/
Enable Shell Completion#
Add this to your ~/.bashrc::
eval "$(_CCU_COMPLETE=bash_source ccu)"
Add this to ~/.zshrc::
eval "$(_CCU_COMPLETE=zsh_source ccu)"
Add this to ~/.config/fish/completions/ccu.fish::
eval (env _CCU_COMPLETE=fish_source ccu)