#spin #quantum #simulation #cce #epr

bin+lib clue_oxide

CluE Oxide(簇演化氧化物)是用于电子自旋去相干的簇动力学模拟程序

2 个版本

0.2.1 2024 年 8 月 20 日
0.2.0 2024 年 7 月 9 日

#581命令行工具

Download history 118/week @ 2024-07-09

每月 80 次下载

GPL-3.0 许可证

735KB
15K SLoC

CluE

CluE(簇演化)是一个用于模拟中心自旋去相干的量子自旋动力学程序,CluE 实现了杨和刘的簇相关展开 [1,2]。有关使用信息,请参阅手册。

安装

安装过程已在几个 Linux 发行版和 Windows 10 上进行了测试,但不在 macOS 上。在安装之前,请确保您已安装 Rust [3] 的最新版本。

在编译 CluE 之前,通过运行测试来检查一切是否正常运行是个好主意。

cargo test

要构建 Clue,运行以下命令:

cargo build --release

这将构建位于 clue_oxide/target/release 的二进制文件;要使 clue 在全局范围内可用,可以向系统路径添加此目录或创建别名。在 Bash 中,将以下内容添加到您的 .bash_aliases 文件中:

alias clue="path/to/clue/target/release/clue_oxide"

to your .bash_aliases file.

pyCluE

在 CluE 源目录中,导航到 pyclue 目录。

cd pyclue

Python 接口使用 maturin[4] 进行编译。要在 Python 虚拟环境中安装 maturin,请使用以下命令。

python3 -m venv <path/to/virtual/environment>
source <path/to/virtual/environment/bin/activate >
pip install maturin

然后使用以下命令构建 Python 接口。

maturin build

一个潜在的问题是,当 maturin 尝试编译 CluE 时,它可能无法看到操作系统特有的标志,并尝试使用它们全部。为了解决这个问题,打开 CluE 的 Cargo.toml 文件,并取消注释不需要的操作系统部分下的所有内容。例如,要在 Linux 上编译,添加如下注释。

[target.'cfg(unix)'.dependencies]
ndarray -linalg = { version = "0.15", features = ["openblas -static"] }

#[target.'cfg(windows) '.dependencies.ndarray -linalg]
#version = '0.15.0 '
#features = ['intel -mkl ']

构建完成后,导航到 target/wheels,源代码所需的 Python 环境,并使用 pip 安装 wheel。

cd target/wheels
source <path/to/installation/environment/bin/activate >
pip install <pyclue.whl>

参考文献

杨,W.;刘,R. B. 通过量子点中核自旋动力学耦合电子自旋的去相干。物理评论B 2008,77 (8),085302。 https://doi.org/10.1103/PhysRevB.77.085302.

杨,W.;刘,R.-B. 有限大小自旋浴中的量子比特去相干的多体量子理论。II. 集合动力学。物理评论B 2009,79 (11),115320。 https://doi.org/10.1103/PhysRevB.79.115320.

基础,R. Rust 一种赋予每个人构建可靠高效软件的语言。 https://rust-lang.net.cn/

PyO3 PyO3/maturin https://github.com/PyO3/maturin

依赖项

~69MB
~895K SLoC