Skip to main content

A wrapper for Serenity

Project description

Introduction

SCINE: Serenity Wrapper is a wrapper around Serenity; it exports the following methods:

  • Density Functional Theory (DFT)

  • Hartree-Fock (HF)

  • (Local) Coupled Cluster (CC, DLPNO-CC)

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:

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

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

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

export SERENITY_RESOURCES=<desired path>/share/serenity/data/
export SCINE_MODULE_PATH=$SCINE_MODULE_PATH:<desired path>/lib

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

The SCINE Serenity 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_serenity_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
manager = su.core.ModuleManager.get_instance()
calculator = manager.get('calculator', 'DFT')

# 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 Serenity wrapper, please cite the corresponding release as archived on Zenodo (DOI 10.5281/zenodo.6695038; 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 Serenity code it wraps. For the latter code and its citations, we refer you to the original Serenity 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_serenity_wrapper-4.0.0-cp312-cp312-manylinux_2_28_x86_64.whl (88.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

scine_serenity_wrapper-4.0.0-cp311-cp311-manylinux_2_28_x86_64.whl (88.7 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

scine_serenity_wrapper-4.0.0-cp310-cp310-manylinux_2_28_x86_64.whl (88.7 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

scine_serenity_wrapper-4.0.0-cp39-cp39-manylinux_2_28_x86_64.whl (88.7 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ x86-64

scine_serenity_wrapper-4.0.0-cp38-cp38-manylinux_2_28_x86_64.whl (88.7 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.28+ x86-64

File details

Details for the file scine_serenity_wrapper-4.0.0-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for scine_serenity_wrapper-4.0.0-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9a7950db5b940941d2c936ede4800e847b03f9d06d286623bfd091bca014a4e6
MD5 e63677d319ad72046b410abbb0bbf3a3
BLAKE2b-256 c127bf1e97e9dcea1a4518336f10038c3f008c02086d9ec0f18e3c46a95d14b9

See more details on using hashes here.

File details

Details for the file scine_serenity_wrapper-4.0.0-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for scine_serenity_wrapper-4.0.0-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 10ed3a3616c081385618c3cd6a25e9137f7f0a19ee1efcdf05a1d18de7127501
MD5 ca6415d44287054d559c88c29aa7b332
BLAKE2b-256 df2b86ba763acd76f3f40a6f954bf7daba0b4165c33eb2897bc85a67fd1350d3

See more details on using hashes here.

File details

Details for the file scine_serenity_wrapper-4.0.0-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for scine_serenity_wrapper-4.0.0-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 09a821f108d1edf93f0fb64c9c6b03f5300b9db0aabb3825af3a1e32a7286701
MD5 0688d8901d82fa52169e4d38e0c99167
BLAKE2b-256 9e0476f2f8a405a361f310cb8a2b63446e5b89f3bdd9c7838f79a86e8f8f2705

See more details on using hashes here.

File details

Details for the file scine_serenity_wrapper-4.0.0-cp39-cp39-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for scine_serenity_wrapper-4.0.0-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 dacd25bee077c9fc4c734c74fc9d868788f4e250139285f33a23bf0acdc06d18
MD5 03fc1c4387038074ae66a0f6d38c8bca
BLAKE2b-256 9e1981ff440673ad34e5b6a814cac742717aa5f20aab904ffacea33ae93739b1

See more details on using hashes here.

File details

Details for the file scine_serenity_wrapper-4.0.0-cp38-cp38-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for scine_serenity_wrapper-4.0.0-cp38-cp38-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 427ea8d700304f560c21d15330c806bc0a4ce9b855c3b0672714ad226e4d881d
MD5 1d31426fd76eab2de76e6d1803c5b910
BLAKE2b-256 0b691f2f5e5d38fb0772d9ce12a5089db1bcef261ab50ab1babcc1f852ce982e

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