CompChemUtils#

CompChemUtils is a set of tools for computational catalysis workflows.

Requirements#

  • Python 3.10 or later

  • Click (package for command line interfaces)

  • NumPy (N-dimensional array package)

  • SciPy (library for scientific computing)

  • ASE (tools for atomistic simulations)

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#

https://python-comp-chem-utils.readthedocs.io/en/latest

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)