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

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

# USING HTTP
pip install atomdriver-qc

[^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.4.tar.gz (71.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

atomdriver_qc-0.1.4-py3-none-any.whl (39.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: atomdriver_qc-0.1.4.tar.gz
  • Upload date:
  • Size: 71.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.6.6

File hashes

Hashes for atomdriver_qc-0.1.4.tar.gz
Algorithm Hash digest
SHA256 2728eddf3738a78ce15810a3295a3327ea3643566711777e917f96316d2a36fb
MD5 8054cbe0f8d65cfaf4fb2ee10deb976a
BLAKE2b-256 a0c369ebde3c5a9bdea57101039d039a539ad9403e3b8f03ede23a7b9b4b5752

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for atomdriver_qc-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 4c6c2bbb3ac212c47a4a9fa8f0a334b2429e820864dfe776aebbdca170997d14
MD5 4ce412a3f2143eff156446049331aa95
BLAKE2b-256 cd57e2a5f29ed245136caef9b6eae8008c3d9ab45a9152aef66175bcbf7ea022

See more details on using hashes here.

Supported by

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