CompChemUtils

CompChemUtils is a set of tools for computational chemistry 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

python3 -m 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 git+ssh://git@gitlab.com:ugognw/python-comp-chem-utils.git

or, similarly:

poetry add git+ssh://git@gitlab.com:ugognw/python-comp-chem-utils.git

Usage

Example

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

Example

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

Example

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/

Documentation

View the latest version of the documentation on Read the Docs.