Skip to main content

Derivative coupling calculation

Project description

https://readthedocs.org/projects/qmflows-namd/badge/?version=latest https://zenodo.org/badge/DOI/10.5281/zenodo.2576893.svg https://github.com/SCM-NV/nano-qmflows/workflows/build%20with%20conda/badge.svg https://codecov.io/gh/SCM-NV/nano-qmflows/branch/master/graph/badge.svg?token=L1W0fPrSUn https://badge.fury.io/py/nano-qmflows.svg

nano-qmflows

Nano-QMFlows is a generic python library for computing (numerically) electronic properties for nanomaterials like the non-adiabatic coupling vectors (NACV) using several quantum chemical (QM) packages.

One of the main problems to calculate (numerically) NACVs by standard QM software is the computation of the overlap matrices between two electronically excited states at two consecutive time-steps that are needed in the numerical differentiation to evaluate the coupling. This happens because most of these softwares are inherently static, i.e. properties are computed for a given structural configuration, and the computation of the overlap matrices at different times requires complicated scripting tools to handle input/outputs of several QM packages.

For further information on the theory behind nano-qmflows and how to use the program see the documentation.

Installation

Pre-compiled binaries are available on pypi and can be installed on MacOS and Linux as following:

pip install nano-qmflows --upgrade

Building from source

Building Nano-QMFlows from source first requires an installation of Miniconda as is detailed here.

Then, to install the nano-qmflows library type the following commands inside the conda environment:

# Create the conda environment
conda create -n qmflows -c conda-forge boost eigen "libint>=2.6.0" highfive
conda activate qmflows

# Clone the repo
git clone https://github.com/SCM-NV/nano-qmflows
cd nano-qmflows

# Build and install nano-qmflows
pip install -e . --upgrade

Advantages and Limitations

nano-qmflows is based on the approximation that all excited states are represented by singly excited-state determinants. This means that the computation of the NACVs boils down to the computation of molecular orbitals (MOs) coefficients at given points of time using an electronic structure code and an overlap matrix S(t,t+dt) in atomic orbital basis (AO) computed between two consecutive time step. nano-qmflows main advantage is to use an internal module to compute efficiently the atomic overlap matrix S(t, t+dt) by employing the same basis-set used in the electronic structure calculation. In this way the QM codes are only needed to retrieve the MOs coefficients at time t and t+dt. This approach is very useful because the interfacing nano-qmflows to a QM code is reduced to writing a simple module that reads the MOs coefficients in the specific code format. At this moment, nano-qmflows handles output formats generated by CP2K, Orca, and Gamess, but, as said, it can be easily extended to other codes.

Finally, nano-qmflows can be also used in benchmarks studies to test new code developments in the field of excited state dynamics by providing a platform that uses all the functionalities of QMFlows, which automatizes the input preparation and execution of thousands of QM calculations.

In the near future, nano-qmflows is expected to offer new functionalities.

Interface to Pyxaid

nano-qmflows has been designed mostly to be integrated with Pyxaid, a python program that performs non-adiabatic molecular dynamic (NAMD) simulations using the classical path approximation (CPA). The CPA is based on the assumption that nuclear dynamics of the system remains unaffected by the dynamics of the electronic degrees of freedom. Hence, the electronic dynamics remains driven by the ground state nuclear dynamics. CPA is usually valid for extended materials or cluster materials of nanometric size.

In this framework, nano-qmflows requires as input the coordinates of a pre-computed trajectory (at a lower level or at the same level of theory) in xyz format and the input parameters of the SCF code (HF and DFT). nano-qmflows will then calculate the overlap matrix between different MOs by correcting their phase and will also track the nature of each state at the crossing seam using a min-cost algorithm . The NACVs are computed using the Hammes-Schiffer-Tully (HST) 2-point approximation and the recent Meek-Levine approach. The NACVs are then written in Pyxaid format for subsequent NAMD simulations.

Overview

The Library contains a C++ interface to the libint2 library to compute the integrals and several numerical functions in Numpy. While the scripts are set of workflows to compute different properties using different approximations that can be tuned by the user.

Worflow to calculate Hamiltonians for nonadiabatic molecular simulations

The figure represents schematically a Worflow to compute the Hamiltonians that described the behavior and coupling between the excited state of a molecular system. These Hamiltonians are used by thy PYXAID simulation package to carry out nonadiabatic molecular dynamics.

docs/_images/nac_worflow.png

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

nano-qmflows-0.14.0.tar.gz (189.7 kB view details)

Uploaded Source

Built Distributions

nano_qmflows-0.14.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.5 MB view details)

Uploaded CPython 3.8+ manylinux: glibc 2.17+ x86-64

nano_qmflows-0.14.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (10.4 MB view details)

Uploaded CPython 3.8+ manylinux: glibc 2.17+ ARM64

nano_qmflows-0.14.0-cp38-abi3-macosx_11_0_arm64.whl (9.6 MB view details)

Uploaded CPython 3.8+ macOS 11.0+ ARM64

nano_qmflows-0.14.0-cp38-abi3-macosx_10_14_x86_64.whl (10.0 MB view details)

Uploaded CPython 3.8+ macOS 10.14+ x86-64

File details

Details for the file nano-qmflows-0.14.0.tar.gz.

File metadata

  • Download URL: nano-qmflows-0.14.0.tar.gz
  • Upload date:
  • Size: 189.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.3

File hashes

Hashes for nano-qmflows-0.14.0.tar.gz
Algorithm Hash digest
SHA256 487c47771b6abc5d5ceff033ba732fab35f4a961aef76d32329c3d6d9c74cd97
MD5 f727796ba8d068884d6b3111420d3cee
BLAKE2b-256 15b200f9f6b53361ef81a273a10b7d466d9ef163f8b3b591daeda0ab76b7f1b4

See more details on using hashes here.

Provenance

File details

Details for the file nano_qmflows-0.14.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for nano_qmflows-0.14.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 05c76d4a53d3be247df708cdb453be8069f639ee46ee74c10e98ce3c50902150
MD5 5659b192dffb30134457e5cd7823dfb0
BLAKE2b-256 78eb041499c58e9e926359d93b908a09bda40db633cb31037c387c31348dc502

See more details on using hashes here.

Provenance

File details

Details for the file nano_qmflows-0.14.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for nano_qmflows-0.14.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a7ba2235ab618c0a752a2269d1e5ec5509a2bca7be34ceefc6c491c20698ebbb
MD5 90646f640bd39c52b9f129a7037a9a6e
BLAKE2b-256 e1346c358d3ecaa7944eaed14959c0b47ef9be2052e7878ec1f2a28e3da6df9d

See more details on using hashes here.

Provenance

File details

Details for the file nano_qmflows-0.14.0-cp38-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for nano_qmflows-0.14.0-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f079269536e71e2d3956d4c28c326b807abc0a1a2c46fabc1c2a3f8d6c812c8a
MD5 41b7104d2e54bbbab5b18658cc367acf
BLAKE2b-256 4cb78d7aedbb7a8655f92c666418528489a4895269ce09f8804a6f83f61635d9

See more details on using hashes here.

Provenance

File details

Details for the file nano_qmflows-0.14.0-cp38-abi3-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for nano_qmflows-0.14.0-cp38-abi3-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 9e2c385a1dc5e480bf7d85b352f06c7facd1b4d951299921f008732dddc8021b
MD5 6471877dd2e1c806a9e67190d537b97a
BLAKE2b-256 3d06751f7cd2a737f21baaa5fc20ad96aec79ef22a60ee928f80433ee8da5263

See more details on using hashes here.

Provenance

Supported by

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