Skip to main content
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/actions/workflows/pythonapp.yml/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

Metadata

Release files for nano-qmflows 0.14.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for nano-qmflows 0.14.2
File Size Uploaded
nano-qmflows-0.14.2.tar.gz 3.6 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for nano-qmflows 0.14.2
File
nano_qmflows-0.14.2-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.8 abi3 Linux glibc 2.17+ x86-64 Details
nano_qmflows-0.14.2-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.8 abi3 Linux glibc 2.17+ ARM64 Details
nano_qmflows-0.14.2-cp38-abi3-macosx_11_0_arm64.whl CPython 3.8 abi3 macOS 11.0+ ARM64 Details
nano_qmflows-0.14.2-cp38-abi3-macosx_10_14_x86_64.whl CPython 3.8 abi3 macOS 10.14+ x86-64 Details

Total release size: 57.9 MB

Release files / nano-qmflows-0.14.2.tar.gz

Download URL nano-qmflows-0.14.2.tar.gz
Size 3.6 MB
Tags Source
SHA-256 checksum
How to use checksums
f3c2ffc7d34b04823dd30043d7bf3168d1a21eded4e6ca6e093c6cbb5eb9c7fa
BLAKE2b-256 checksum
How to use checksums
f21df56cf3f86c52f3d12c80b6409b17c39e8e7a6c7cd68bdc2ff6da22af6aa8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.4

Release files / nano_qmflows-0.14.2-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL nano_qmflows-0.14.2-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 13.9 MB
Tags CPython 3.8 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
37ca982bceeeb4b6534fd5c8c80248c7ba64c10a4792f335ad989e706309ff67
BLAKE2b-256 checksum
How to use checksums
2f397f0f2400129fe0bfaed573e93c13ce0d016209649de62d0cd764281905f0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.4

Release files / nano_qmflows-0.14.2-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL nano_qmflows-0.14.2-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 13.8 MB
Tags CPython 3.8 Linux glibc 2.17+ ARM64 abi3
SHA-256 checksum
How to use checksums
a5788f49a84a52b62667a8fd14a9b3638b0740a5ce205e217be52ae5e4b70b3a
BLAKE2b-256 checksum
How to use checksums
d315cc9d7f0fef7cae5592ca852ae52f367bcdbdaf9d2f001889a9af0768964b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.4

Release files / nano_qmflows-0.14.2-cp38-abi3-macosx_11_0_arm64.whl

Download URL nano_qmflows-0.14.2-cp38-abi3-macosx_11_0_arm64.whl
Size 13.0 MB
Tags CPython 3.8 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
eff9249832008b567425873ad0b90573134b0de2e96fb945b6d6d3f5055ec8ed
BLAKE2b-256 checksum
How to use checksums
45a2fa805863c063c8e72d020ee89956c497314bffd83f794f83c4a08188f5ee
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.4

Release files / nano_qmflows-0.14.2-cp38-abi3-macosx_10_14_x86_64.whl

Download URL nano_qmflows-0.14.2-cp38-abi3-macosx_10_14_x86_64.whl
Size 13.5 MB
Tags CPython 3.8 abi3 macOS 10.14+ x86-64
SHA-256 checksum
How to use checksums
10fa5873ede16ae2a62f2ee3c2d4d870f2bca267e8ae5cf0dd9b7c2357afd655
BLAKE2b-256 checksum
How to use checksums
fe8ceb7ee278c8461823784e3f0d263a8670bdfd7b41913c2bf88ec56504d265
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.4

Release history Release notifications | RSS feed

This release

0.14.2 This release

5 release files

0.14.0

5 release files

0.13.1

5 release files

0.13.0

1 release file

0.12.3

1 release file

0.12.2

1 release file

0.12.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page