机器学习势与BTE结合利器-κALDo:一款多接口的基于玻尔兹曼输运方程的热输运计算器

学术   2024-10-22 15:44   中国台湾  

kALDo是一款基于Python的现代软件,它实现了玻尔兹曼传输方程(BTE)和准谐波格林-库博(QHGK)方法,能够在GPU和CPU上使用Tensorflow运行。更多详情可以在kALDo网站上

https://nanotheorygroup.github.io/kaldo/index.html

找到。

kaldo的特色

  • 力场。使用原子模拟环境(Atomic Simulation Environment),kALDo 能够利用多种第一性原理和分子动力学代码计算原子间力常数。在 USER-PHONON 包中还提供了一个原生的 LAMMPS 接口。最后,通过与 Hiphive 包的无缝集成,IFC 计算可以利用压缩感知机器学习算法。

  • CPU 和 GPU。在 CPU 和 GPU 上实现多线程。算法使用对张量的线性代数运算实现,以利用 Numpy、Tensorflow 和优化的张量库在 GPU 和 CPU 上的多线程。

  • 可扩展性。在一个包含 N 个原子和 N_k 个 k 点的系统中。kALDo 使用 (3N)^2 个浮点数来保存系统状态,当使用 QHGK 时,使用 (Nk x 3N)^2 个浮点数来获得 BTE 的完整解,而在使用 BTE-RTA 时使用 Nk x 3N^2。

  • 性能。ALD 模拟的瓶颈和缓慢部分是计算声子寿命和散射矩阵。这一步骤需要将原子间势投影到 3N 个声子模式上,算法的规模像 (Nk x 3N)^3,这是因为要进行 3 次对声子模式的投影。在 kALDo 中,这样的算法实现为 BTE 计算的 2 个 Nk x 3N 张量乘法,大小为 Nk x (3N)^2,而对于 QHGK 则是 3N^2。

  • 开源。社区免费使用和贡献编辑和建议。它基于现代软件最佳实践设计,我们希望提供一个开发平台来实现新的理论和方法。

以上是kaldo一些基本信息。正因为kaldo与ASE的接口,使其在机器学习势函数与求解玻尔兹曼输运方程结合进行声子热输运性质的探讨成为极为便利的方式。与传统的机器学习势函数与shengBTE结合相比,不需要多软件之间来回转换,无需写机器学习势场的接口。在kaldo中,已经集成deepmd势、NEP、GAP等多种形式的机器学习势函数接口,只需要你的所使用的势函数有ase接口即可进行计算。

以下简单的讲解与NEP势结合的计算:

1.安装pynep or calorine、kaldo

2.计算脚本

模块倒入
力常数计算参数设置


力常数计算器构建

结构优化

力常数与弹性系数,体积模量计算

计算声子谱与态密度


输运方程求解

如果使用该计算器请引用

https://doi.org/10.1063/5.0020443

学术之友
\x26quot;学术之友\x26quot;旨在建立一个综合的学术交流平台。主要内容包括:分享科研资讯,总结学术干货,发布科研招聘等。让我们携起手来共同学习,一起进步!
 最新文章