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.
License and Copyright Information
The SCINE Serenity wrapper is distributed under the BSD 3-clause “New” or “Revised” License. For more license and copyright information, see the file LICENSE.txt in the repository.
Note: This license does not cover the original Serenity source code. For the copyright information of the Serenity code please follow the linked git submodule to the developers 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
Built Distributions
Hashes for scine_serenity_wrapper-3.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3591a218e735d31806327742703676aa7f8c5f6e1b475b996ee644e71b4ee02d |
|
MD5 | 318f29b6c5fd32309d312b16c95e83c3 |
|
BLAKE2b-256 | 428d738e322de2ec91921c72280380ae88bb727977267dc6f196730774ec6dcf |
Hashes for scine_serenity_wrapper-3.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 138a9acea8cd31d5e8db292a49a0a96347fc07de87c3e960d0dd781b57dbe23a |
|
MD5 | 4376493de4ce126ad854de29c1db1b90 |
|
BLAKE2b-256 | 888f5df7161c5e16a603fc19d3c3539810340c2cb60e0503d9ddb51d67ead20b |
Hashes for scine_serenity_wrapper-3.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1a942d9ee7ad1cb2b87c5450d82faae2154208563c8c9bbfc858dc3417991831 |
|
MD5 | 018f409b58247910ff85586779cf7c86 |
|
BLAKE2b-256 | ebd768e50116176c40c6d29c327f870afe7a539c578bda01c2c2c5ec42a9565f |
Hashes for scine_serenity_wrapper-3.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 48e2e75e808c99a1f8a6e759102d5881f32fda2955bb7d3c2f4e3e7804333caa |
|
MD5 | a469605107342155178c5d51fd286e5b |
|
BLAKE2b-256 | 5aeec79e7efd9c8aed1e063d76eabb914a4a861391521108438ac487960d96b5 |
Hashes for scine_serenity_wrapper-3.1.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2800179a2382ab13a01b6814f44c33825911a30f6970f074f5cffb6f7aad82b0 |
|
MD5 | 5be1cb2da4cfc6db2eb8ec4439059c52 |
|
BLAKE2b-256 | d0cc7d768e0e183fad0ccc6f015f1388e9ffb90c3e02f0bb5e8b1b8ee29f9115 |
Hashes for scine_serenity_wrapper-3.1.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ce10a80ae89fecc03b581676d9b72d5d0e6e4a84f6280cc610df1c0e4b259dde |
|
MD5 | 6f454c187624f9339fd66d00e4568f80 |
|
BLAKE2b-256 | 96b309abea585f60038994bdc472335bafc741fad65e1e3326c686ff6a7af2fd |