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]]
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
Built Distribution
File details
Details for the file atomdriver_qc-0.1.1.tar.gz
.
File metadata
- Download URL: atomdriver_qc-0.1.1.tar.gz
- Upload date:
- Size: 68.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5a14499412603221d39212d1ed8daf27e35b75d8b73b9975abab1b3fa6c41126 |
|
MD5 | 1488c4c372147eb061e4b9becbdfbc43 |
|
BLAKE2b-256 | 6171fd474eb66f7900e76ccde1b60d6b3e96a66464aacddfb7c342a373db83d1 |
File details
Details for the file atomdriver_qc-0.1.1-py3-none-any.whl
.
File metadata
- Download URL: atomdriver_qc-0.1.1-py3-none-any.whl
- Upload date:
- Size: 38.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e016bda39c7355ba1ae299e5c180d2e3ca1b0084e588dfe0dd112ff6ca3f611b |
|
MD5 | be2a8061a6a6c9316ef2c6ff81403eb0 |
|
BLAKE2b-256 | c20ce00241b7634a9e986900a553007efe13f4e8caae3289aa0cc99f4801435a |