Skip to main content

A wrapper for xtb

Project description

Introduction

SCINE XTB Wrapper is a wrapper around xtb, it exports:

  • GFN0-xTB

  • GFN1-xTB (formerly GFN-xTB)

  • GFN2-xTB

  • GFN-FF

into the SCINE tool chain. Each method is represented by its own Calculator and the entire wrapper constitutes a SCINE module that can be loaded dynamically at runtime. For more information on these concepts see the Scine::Core repository.

Installation and Usage

The wrapper can be built and installed using the following commands:

export INSTALL_PATH=<desired path>
git submodule init
git submodule update
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DSCINE_BUILD_PYTHON_BINDINGS=ON -DCMAKE_INSTALL_PREFIX=$INSTALL_PATH ..
make -j<number of cores to use>
make install

This will generate and install both the main xtb code and the wrapper in the form of the file xtb.module.so that can be used in SCINE.

In order to make XTB available to SCINE the following two environment variables need to be set:

export XTBPATH=$INSTALL_PATH/share/xtb
export SCINE_MODULE_PATH=$SCINE_MODULE_PATH:$INSTALL_PATH/lib

Afterwards, SCINE programs such as ReaDuct will pick up XTB’s existence and it will be possible to request the implemented methods.

The SCINE XTB wrapper is also available via Python. The underlying SCINE module can be loaded and its implemented calculators accessed using the standard scine_utilities Python bindings. A minimal workflow could look like this:

import scine_utilities as su
import scine_xtb_wrapper

# Generate Structure
structure = su.AtomCollection()
structure.elements = [su.ElementType.H, su.ElementType.H]
structure.positions = [[-0.7, 0, 0], [0.7, 0, 0]]

# Get calculator
calculator = su.core.get_calculator('GFN2', 'xtb')

# Configure calculator
calculator.structure = structure
calculator.set_required_properties([su.Property.Energy, su.Property.Gradients])

# Calculate
results = calculator.calculate()
print(results.energy)
print(results.gradients)

How to Cite

When publishing results obtained with the SCINE XTB wrapper, please cite the corresponding release as archived on Zenodo (DOI 10.5281/zenodo.5782861; please use the DOI of the respective release).

Furthermore, when publishing results obtained with any SCINE module, please cite the following paper:

T. Weymuth, J. P. Unsleber, P. L. Türtscher, M. Steiner, J.-G. Sobez, C. H. Müller, M. Mörchen, V. Klasovita, S. A. Grimmel, M. Eckhoff, K.-S. Csizi, F. Bosia, M. Bensberg, M. Reiher, “SCINE—Software for chemical interaction networks”, J. Chem. Phys., 2024, 160, 222501 (DOI 10.1063/5.0206974).

This wrapper should also not be mistaken for the actual xtb code it wraps. For the latter code and its citations, we refer you to the original xtb repository. There you will find the references of the actual methods used. They are listed in the README.md.

Support and Contact

In case you should encounter problems or bugs with the wrapper, please write a short message to scine@phys.chem.ethz.ch.

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

scine_xtb_wrapper-3.0.2-cp312-cp312-manylinux_2_28_x86_64.whl (7.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

scine_xtb_wrapper-3.0.2-cp311-cp311-manylinux_2_28_x86_64.whl (7.7 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

scine_xtb_wrapper-3.0.2-cp310-cp310-manylinux_2_28_x86_64.whl (7.7 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

scine_xtb_wrapper-3.0.2-cp39-cp39-manylinux_2_28_x86_64.whl (7.7 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ x86-64

scine_xtb_wrapper-3.0.2-cp38-cp38-manylinux_2_28_x86_64.whl (7.7 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.28+ x86-64

File details

Details for the file scine_xtb_wrapper-3.0.2-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for scine_xtb_wrapper-3.0.2-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 af0dee3491dca3ea4fe9e9649acff1158ae7856d565671f6403c9e48623091e1
MD5 9bfc7a86bef47741fee321a47217d342
BLAKE2b-256 4bd36dde92922fac597bb0c1e6e05651ea779c784db520203ec44e7cef1441d8

See more details on using hashes here.

File details

Details for the file scine_xtb_wrapper-3.0.2-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for scine_xtb_wrapper-3.0.2-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8d7ddc36d830ac29d495539ac89e100c76fc1e1ddbe8a4bdd8807144b89edb05
MD5 f8558871eedf4e0e1e607afcff884f40
BLAKE2b-256 00f3789777e9151377829e5ee9c07a4012d132d74db1943466bb2a72d238f025

See more details on using hashes here.

File details

Details for the file scine_xtb_wrapper-3.0.2-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for scine_xtb_wrapper-3.0.2-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 321ce163b11c497c5c648d421986632056ed4b2ae5fd2db3384f753cdd901e0a
MD5 d5acc66d42a44f2f9bcfff5d1d9b94f9
BLAKE2b-256 c895e1fc45a34f558c2a348b739c5c9ca85af15d234139aca5e5a40a47784359

See more details on using hashes here.

File details

Details for the file scine_xtb_wrapper-3.0.2-cp39-cp39-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for scine_xtb_wrapper-3.0.2-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f3aaf0ab19c9a68f279b42ec63cca76c80d56e6532cac8a1233229d6e9af200a
MD5 c931c8b9bd1e0701ef72948ff2aa8f08
BLAKE2b-256 49b040b17ee63f1435eae1c05e5156f3c36a032681585700b9f6906d7cbd8103

See more details on using hashes here.

File details

Details for the file scine_xtb_wrapper-3.0.2-cp38-cp38-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for scine_xtb_wrapper-3.0.2-cp38-cp38-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 84810196f0a30ca58ff53846e984bb6dcb4eef8778ad22f0558bda70ee89e6e8
MD5 d0489085c4b0ea57fa6ce71b787a79f7
BLAKE2b-256 a7e8675d1babb736397627369e8effee396acf1dcbde9dba773b51521a3d0ad7

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