Metadata-Version: 2.4
Name: comp-chem-utils
Version: 0.0.6
Summary: Utilities for computational chemistry.
Project-URL: Source, https://gitlab.com/ugognw/python-comp-chem-utils
Project-URL: Documentation, https://python-comp-chem-utils.readthedocs.io/
Project-URL: Changelog, https://gitlab.com/ugognw/python-comp-chem-utils/-/blob/main/CHANGELOG.rst
Project-URL: Issues, https://gitlab.com/ugognw/python-comp-chem-utils/-/issues
Author-email: Ugochukwu Nwosu <ugognw@gmail.com>, Tiago Joao Ferreira Goncalves <tiagojoaog@gmail.com>
License-File: AUTHORS.rst
License-File: LICENSE
Keywords: catalysis,comp-chem-utils,computational chemistry
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: POSIX
Classifier: Operating System :: Unix
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Topic :: Scientific/Engineering :: Chemistry
Classifier: Topic :: Scientific/Engineering :: Physics
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.10
Requires-Dist: ase>=3.23.0
Requires-Dist: click>=8.1.8
Requires-Dist: matplotlib>=3.10.0
Requires-Dist: numpy<2.0.0,>=1.23.1
Requires-Dist: pillow>=10.1
Requires-Dist: pydantic-settings>=2.0
Requires-Dist: pydantic>=2.5.0
Requires-Dist: pymatgen>=2023.9.2
Requires-Dist: scipy>=1.10.1
Provides-Extra: dev
Requires-Dist: bump-my-version>=1.2.0; extra == 'dev'
Requires-Dist: mypy>=1.17.0; extra == 'dev'
Requires-Dist: pre-commit>=2.20.0; extra == 'dev'
Requires-Dist: ruff>=0.12.3; extra == 'dev'
Provides-Extra: docs
Requires-Dist: furo>=2024.04.27; extra == 'docs'
Requires-Dist: sphinx-autobuild>=2024.10.03; extra == 'docs'
Requires-Dist: sphinx-click>=5.0.1; extra == 'docs'
Requires-Dist: sphinx-copybutton>=0.5.2; extra == 'docs'
Requires-Dist: sphinx-notfound-page>=1.1.0; extra == 'docs'
Requires-Dist: sphinx>=8.0.0; extra == 'docs'
Provides-Extra: test
Requires-Dist: pytest-cov>=6.0.0; extra == 'test'
Requires-Dist: pytest-datadir>=1.7.0; extra == 'test'
Requires-Dist: pytest-xdist>=3.8.0; extra == 'test'
Requires-Dist: pytest>=8.4.1; extra == 'test'
Description-Content-Type: text/x-rst

=============
CompChemUtils
=============

|ccu|_ is a set of tools for computational chemistry workflows.

.. start

Install `ccu`
=============

`ccu` requires: Python_ 3.10+ or PyPy3.

1. Run the following command in your command line:

.. code-block::

    pip install comp-chem-utils

2. Check that you've installed the correct version:

.. code-block::

    $ ccu --version
    0.0.6

You can also install the in-development version with:

.. code-block::

    pip install git+ssh://git@gitlab.com/ugognw/python-comp-chem-utils.git@development

Usage
=====

Determine the symmetry of a water molecule
------------------------------------------

.. code-block:: python

    >>> from ase.build import molecule
    >>> from ccu.structure.axisfinder import find_secondary_axis
    >>> from ccu.structure.symmetry import Rotation, check_symmetry
    >>> h2o = molecule('H2O')
    >>> axis = find_secondary_axis(h2o)
    >>> r = Rotation(180, axis)
    >>> check_symmetry(r, h2o)
    True

Retrieve reaction intermediates for the two-electron |CO2| reduction reaction
-----------------------------------------------------------------------------

.. code-block:: python

    >>> 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
-----------------------------

Place adsorbates on a surface (namely, ``Cu-THQ.traj``) while considering the
symmetry of the adsorbate and the adsorption sites. ::

    ccu adsorb CO Cu-THQ.traj orientations/


.. |ccu| replace:: ``CompChemUtils``
.. _ccu: https://gitlab.com/ugognw/python-comp-chem-utils/
.. _Python: https://www.python.org
.. |click| replace:: ``click``
.. _click: https://click.palletsprojects.com/en/8.1.x/
.. |numpy| replace:: ``numpy``
.. _numpy: https://numpy.org
.. |scipy| replace:: ``scipy``
.. _scipy: https://scipy.org
.. |ase| replace:: ``ase``
.. _ASE: https://wiki.fysik.dtu.dk/ase/index.html
.. |CO2| replace:: CO\ :sub:`2`

.. end

Documentation
=============

View the latest version of the documentation on `Read the Docs`_

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