跳转到主要内容

衍合耦合计算

项目描述

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是一个通用的Python库,用于使用多个量子化学(QM)软件包计算纳米材料的电子性质(数值),例如非绝热耦合矢量(NACV)。

使用标准量子力学软件计算(数值)NACVs(核吸引势能曲线)的主要问题之一是计算两个电子激发态在连续时间步之间的重叠矩阵。这些重叠矩阵在数值微分中用于评估耦合。这是因为大多数这些软件本质上都是静态的,即对于给定的结构配置计算属性,而在不同时间计算重叠矩阵需要复杂的脚本工具来处理几个量子力学软件的输入/输出。

有关纳米量子流的背后理论和如何使用该程序的更多信息,请参阅文档

安装

预编译的二进制文件可在pypi上找到,并可在MacOS和Linux上按以下方式安装

pip install nano-qmflows --upgrade

从源代码构建

从源代码构建Nano-QMFlows首先需要安装Miniconda,具体详情请参阅此处

然后,要安装nano-qmflows库,请在conda环境中输入以下命令

# 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

优势和局限性

nano-qmflows基于所有激发态都由单激发态行列式表示的近似。这意味着NACVs的计算简化为使用电子结构代码和两个连续时间步之间在原子轨道基(AO)中计算的叠加矩阵S(t,t+dt)计算在给定时间点的分子轨道(MO)系数。nano-qmflows的主要优势是使用内部模块通过使用电子结构计算中使用的相同基组来有效地计算原子叠加矩阵S(t, t+dt)。这样,量子力学代码只需要检索t和t+dt时刻的MO系数。这种方法非常有用,因为将nano-qmflows与量子力学代码接口简化为编写一个简单的模块,该模块读取特定代码格式的MO系数。目前,nano-qmflows可以处理由CP2K、Orca和Gamess生成的输出格式,但如前所述,它可以很容易地扩展到其他代码。

最后,nano-qmflows也可以用于基准研究,通过提供一个使用QMFlows所有功能的平台来测试激发态动力学领域的新代码开发,该平台自动化了数以千计的量子计算的输入准备和执行。

在不久的将来,预计nano-qmflows将提供新的功能。

Pyxaid接口

nano-qmflows主要设计为与Pyxaid集成,Pyxaid是一个Python程序,使用经典路径近似(CPA)执行非绝热分子动力学(NAMD)模拟。CPA基于系统核动力学不受电子自由度动力学影响的假设。因此,电子动力学由基态核动力学驱动。CPA通常适用于扩展材料或纳米级尺寸的簇材料。

在这个框架中,nano-qmflows需要作为输入在xyz格式中输入预先计算轨迹(在较低或同一理论水平)的坐标和SCF代码(HF和DFT)的输入参数。然后,nano-qmflows将通过校正它们的相位来计算不同MO之间的叠加矩阵,并使用最小成本算法跟踪交叉处每个状态的性质。使用Hammes-Schiffer-Tully(HST)2点近似和最近的Meek-Levine方法计算NACVs。然后,将NACVs写入Pyxaid格式,以便进行随后的NAMD模拟。

概述

该库包含一个用于计算积分和多个数值函数的 C++ 接口,该接口连接到 libint2 库。同时,脚本是一组工作流程,用于使用不同的近似方法计算不同的性质,用户可以根据需要进行调整。

用于计算非绝热分子模拟Hamiltonian的工作流程

该图以示意图的形式表示了计算描述分子系统激发态行为和耦合的 Hamiltonian 的工作流程。这些 Hamiltonian 被用于 PYXAID 模拟包中,以执行非绝热分子动力学。

docs/_images/nac_worflow.png

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪一个,请了解更多关于 安装包 的信息。

源代码分发

nano-qmflows-0.14.2.tar.gz (3.6 MB 查看哈希值)

上传时间 源代码

构建分发

nano_qmflows-0.14.2-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.9 MB 查看哈希值)

上传时间 CPython 3.8+ manylinux: glibc 2.17+ x86-64

nano_qmflows-0.14.2-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (13.8 MB 查看哈希值)

上传时间 CPython 3.8+ manylinux: glibc 2.17+ ARM64

nano_qmflows-0.14.2-cp38-abi3-macosx_11_0_arm64.whl (13.0 MB 查看哈希值)

上传时间 CPython 3.8+ macOS 11.0+ ARM64

nano_qmflows-0.14.2-cp38-abi3-macosx_10_14_x86_64.whl (13.5 MB 查看哈希值)

上传时间 CPython 3.8+ macOS 10.14+ x86-64

支持者