Skip to main content

An standardized interface to QM Codes

Project description

Atom Driver

Glue for all your QC codes.

Supported Drivers

Installing

Atom Driver can be installed using pip; however, you must install QC codes yourself.

# Install confomer
pip install git+https://gitlab.com/john-herbert-group/conformer.git
# Install atom driver
pip install git+https://gitlab.com/john-herbert-group/atomdriver.git

Basic QC Environment

If you would like a handful of QC backends you can start a Conda environment and install xTB and PySCF and install Atom Driver on top of it [^conda]

# Add conda-forge if you haven't already
conda config --add channels conda-forge

# Create a new environment
conda create -n atomdriver python=3.11 xtb-python xtb pyscf

# Activate 
conda activate atomdriver

# Install Conformer and Atom Driver with pip **see footnote**

# USING SSH
pip install git+ssh://git@gitlab.com/john-herbert-group/conformer.git git+ssh://git@gitlab.com/john-herbert-group/atomdriver.git

# USING HTTP
pip install git+https://gitlab.com/john-herbert-group/conformer.git git+https://gitlab.com/john-herbert-group/atomdriver.git

[^conda]: Strickly speaking Conda and Pip should not be mixed! You can have a relativly stable environment if you install Python and a handful of dependencies with Conda and then install the pip dependencies. Do not go back and add addional Conda packages! You may have to remove and recreate the environment to make changes.

Quick Start

For simple workflow you can run calculations with the atomdriver.util.run. For more complex workflows you may wish to use the atomdriver.util.Worker class.

from atomdriver.util import run
from atomdriver.drivers.libxtb import LibxTB
from conformer.systems import System

methanol = System.from_tuples([
    ("C",    0.0000000,   -0.0107162,   -0.6532941),
    ("O",    0.0000000,   -0.0950958,    0.7424134),
    ("H",    0.9153226,    0.5105599,   -1.0084225),
    ("H",   -0.9153226,    0.5105599,   -1.0084225),
    ("H",    0.0000000,   -1.0368018,   -1.0751488),
    ("H",    0.0000000,    0.8407457,    1.0724513),
])
xtb_driver = LibxTB.from_options("xtb", calc_gradient=True, calc_charges=True)
res = run(methanol, xtb_driver)

print(res.status)
# 2 (RecordStatus.COMPLETE)

print(res.properties["total_energy"])
# -8.2243278718041

print(res.properties["partial_charges"].data)
# [[ 0.04554668]
#  [-0.42977159]
#  [ 0.02308721]
#  [ 0.02308721]
#  [ 0.05096463]
#  [ 0.28708585]]

print(res.properties["nuclear_gradient"].data)
# [[-1.52686431e-17  2.45336649e-03  1.26468951e-02]
#  [ 4.99102075e-17 -2.12577019e-02 -9.37319720e-03]
#  [ 9.54169642e-03  3.19852718e-03  4.68753733e-04]
#  [-9.54169642e-03  3.19852718e-03  4.68753733e-04]
#  [ 2.09659150e-17 -1.02904049e-02 -7.39062368e-03]
#  [-6.73798886e-18  2.26976860e-02  3.17941833e-03]]

Yes it's a pun!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

atomdriver_qc-0.1.2.tar.gz (68.5 kB view details)

Uploaded Source

Built Distribution

atomdriver_qc-0.1.2-py3-none-any.whl (38.8 kB view details)

Uploaded Python 3

File details

Details for the file atomdriver_qc-0.1.2.tar.gz.

File metadata

  • Download URL: atomdriver_qc-0.1.2.tar.gz
  • Upload date:
  • Size: 68.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.9

File hashes

Hashes for atomdriver_qc-0.1.2.tar.gz
Algorithm Hash digest
SHA256 500efe160ed010f686e02dc45158f17903889e1c8d2d367461b4666899026511
MD5 2d1af7685a29a3c9144d4356ae2e0cf5
BLAKE2b-256 b2d10c610dce394832a611309a4dc7c4fb119e8113898f3b921a0ab61470903b

See more details on using hashes here.

File details

Details for the file atomdriver_qc-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for atomdriver_qc-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 9168a78d3b7fd2332f598524d51dcf2dbf9eb14ed0048560efd55d77e2a8493a
MD5 c2e1bfefc2d06f6f9f3b46127c6204a1
BLAKE2b-256 45d87144726e911dfa7375af0fd4db4c0e98b266d3d08f6ea286859d614d81e1

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page