这是自 2017 年 9 月加入 Synopsys 以来的第一次发布,从这一版本开始,ATK 更名为 QuantumATK。
QuantumATK 材料与器件模拟平台包含量子力学方法(DFT 和半经验模型)和以下几个模块:非平衡态格林函数(NEGF),经验力场(ForceField) 和图形用户界面(NanoLab,即过去的 VNL)。
此版本包含了大量的 NanoLab 功能更新,进一步提升了周期体系的 DFT 和 DFT-NEGF 的计算性能,正式发布了 PlaneWave 计算引擎(含 HSE06)。全新的 Study Object 框架可以用于进行非常复杂的计算自动化,比如器件体系的结构优化,获取伏安特性,模拟电中性或带电的点缺陷,等等。此外,QuantumATK 还优化了默认参数取值,提高了计算精度。
License 和下载方法
- 如果您是用户,您可以从 SolvNet网站 直接下载最新版本。
(如果您还没有注册 SolvNet,请尽快注册。注册时需要提供用于识别用户的 Synopsys Site ID,如果您不知道Site ID,可以与我们联系。) - 如果您还不是用户,但是想尝试一下 QuantumATK,您可以通过 Synopsys EVAL 网站申请30天的试用 license。
更新概要
- 平面波PlaneWave DFT 代码
- 全新赝势
- 全新的半经验模型
- 全新的力场模型
- 大量的计算性能提升
- 全新的 Study Object 框架
- 器件模型更新
- 电子迁移率模块更新
- 计算自旋相关参数
- 光电流模块
- Special Quasi-random Structures(SQS)算法生成无规合金
- NanoLab 建模工具更新
- 其他 NanoLab 图形界面更新
- 其他更新
- 教程更新
- 2017 版以后的新教程
- 2017 版以后的新的案例和技术说明
- 2017 版以后更新或导入的教程
QuantumATK O-2018.06 新版功能
QuantumATK PlaneWave DFT 代码
从 O-2018.06 版开始,PlaneWave 代码正式可以用于计算。代码与 QuantumATK NanoLab 用户环境的完美集成,可能是目前最灵活和友好的平面波程序。
用户将可以在 LCAO 和平面波基组之间无缝切换,测试不同方法在速度和精度之间的取舍。
- 现代的平面波 DFT 代码,完全自主开发的程序
- 与 QuantumEspresso 在各方面性能相当
- 非共线自旋和自旋-轨道耦合
模守恒赝势(可用于 LDA 和 GGA 的 SG15 和 PseudoDojo 势) - HSE06 杂化泛函
- 使用新颖的 Adaptively Compressed Exchange(ACE)算符方法,比传统方计算性能更佳
- 参考:https://arxiv.org/abs/1601.07159 & https://pubs.acs.org/doi/10.1021/acs.jctc.6b00092
- 本征值求解
- 默认使用 Generalized Davidson method – 稳定强壮的方法
- 还包含 Projected Preconditioned Conjugated Gradient(PPCG)算法,用于计算厄米矩阵的很多极端的本征对
- 参考:https://arxiv.org/abs/1407.7506 &
- https://doi.org/10.1016/j.jcp.2015.02.030
- 大体系并行时效果更好(多进程处理一个k点)
- 多级别并行
- NEB 路径中间结构等多计算并行
- k 点并行
- 平面波态并行(多进程处理一个 k 点)
- 能带和态密度计算
- 自动确定每 k 点的最佳并行进程数
- 与 LCAO 方法功能几乎一致
- 能带、有效质量、DOS、能量、LocalBandStructure,等等
- 声子计算
- 力、张力优化,从头算分子动力学,NEB
- 教程:https://docs.quantumwise.com/tutorials/pw_intro/pw_intro.html
与其他平面波代码相比的优势
- 用户友好
- 与 QuantumATK NanoLab 用户界面和 Python 接口完全集成,方便设置复杂计算和编程
- 自洽、结构优化、能带、动力学矩阵等计算都可以在一个计算流程中完成(单个脚本)
- 不需要在并行读写数据时使用相同的进程数
- 使用 ACE 的快速 HSE 方法
- 目前 VASP 里面没有
- HSE 能带计算(QE 里需要在自洽里包含全部 k 点)
- 默认从波函数重启计算,效率高(可以关闭以节约内存)
- 使用其他方法重启、初始化计算可以提高性能
- 使用 LCAO DFT 计算作为初始电子密度(大体系、非周期体系有用)
- 使用不同的 cutoff 重启计算,测试收敛性时有用
- 非共线计算可以从共线或非共线计算得到的电子密度出发,旋转成非共线形式。磁各项异性计算有用
- 非自洽计算:密度-有效势-哈密顿量-本征值/波函数
- 第一个实现了PPCG的代码
- 支持 Poisson solver 的非周期边界条件,用于slab,金属区域,电场,等等
- 赝势默认 cutoff 值,Delta test 结果很好
- 可以用于 Synopsys 的 Sentaurus Materials Workbench 的计算
全新赝势
现代的模守恒赝势达到了和全电子计算接近的精度。在包含了 PseudoDojo 后,QuantumATK 提供全新的模守恒赝势,所有数值参数都经过了仔细测试。
- SG15 现在支持 LDA 计算
- 新增来自 pseudo-dojo.org 的赝势
- LDA/GGA
- Delta-test 结果很好
- 比 SG15 “更软”(cutoff 减少 25%)
- Low basis set for Si/Ge(PseudoDojo)
全新的半经验模型
QuantumATK 致力于包含最全的半经验参数。本次新版发布包含了来自 dftb.org、Naval Research tight-binding 库的全部参数,以及用来描述大的受限体系的电子态的紧束缚模型。
- 包含了来自 dftb.org 的全部参数,现在都可以设置计算时直接选择
- Python 后端统一的 SemiEmpiricalCalculator
- 替换了SlaterKosterCalculator 和 Huckel Calculator
- 简化了实现新紧束缚模型的方法
- 增加了受限体系的紧束缚模型
- T. B. Boykin et al., Phys. Rev. B 81, 125202 (2010)
- 高效方法,可以计算材料的结构(声子、状态方程、分子动力学等)和电子态性质
- 非正交、环境相关的类 Slater-Koster 紧束缚模型,可移植性好,可以用于块体、表面、纳米线、无定形体系等
- 与经典力场不同,模型直接含有由第一原理计算结果数据库内插得到的真实的电子态和材料成键信息
- 计算需要内存比 DFT 大大减少,例如 10000 原子的 MD 模拟也可以计算
- 可以处理单元素、两元和三元化合物(金属、绝缘体和半导体)
- 目前 2018.06 中支持部分材料的电子态计算(能带、态密度),后续将支持更多材料
- 使用 QuantumATK 中其他半经验方法的电子密度模型,以支持自洽计算
全新的力场模型
力场模块最重要的一点就是支持更多的力场参数。QuantumATK 力场方法非常灵活,已经包含了最全面的材料学参数库。但是仍然有很多体系的参数可能无法及时包含,因此本次还新增了编辑力场参数的工具。
QuantumATK 目前包含了大约250种经验力场参数(https://docs.quantumwise.com/manuals/ATKForceField.html)
BYOP(Bring Your Own Potentials)
- 可以用于添加自己的或者文献中参数的 Python 接口
- 自己定义力场组合
- 例如可以将 Stillinger-Weber 力场与 Lennard-Jones 结合考虑范德华力
- 提供了几种文献中的组合力场:Pedone, Guillot-Sator, Marian-Gastreich, Feuston-Garofalini, Matsui, Leinenweber, Madden等
大量的计算性能提升
QuantumATK 致力于成为计算效率最高的原子级模拟工具。每个新版发布,我们都希望能把性能提升一倍。O-2018.06 也包含了大量的内存优化和性能提升。
内存
- 多种计算的内存需求大大减少
- 内存基本需求和峰值需求都有减少,包括并行内存
- 智能缓存策略(带栅极器件内存减少 30%-50%,块体材料计算减少 5-20%)
- 哈密顿量内存分布(非自洽和自洽计算)
- 1000 个原子计算内存减少 10%
- 大体系并行内存优化
- 实空间哈密顿量的内存分布式 FFT 初始化(大大减小内存使用峰值)
- GGA 实现改进
- 内存消耗减小(经常是决定内存峰值,比如带有大真空的体系)
速度
- LCAO-MD 和结构优化大大提速
- 交换关联计算在多进程上并行化
- 改进能量、力和张力(E-F-S)计算的算法和并行策略
- 结果:E-F-S 计算提速 5 倍,MD 提速 3.3 倍(200原子、64进程、SZP基组、每MD步小于1分钟、自旋极化计算每步小于 1.5 分钟),基组越大,提速越多
- 更好的 GGA 计算
- 各方向 FFT 和 stencil 方法计算提速 3 倍
- FFT 版本并行化
- 改进并行化
- 自动选择每个 k 点的进程数,优化并行效率
- 将原来由于串行计算造成的速度瓶颈并行化,提高并行效率
- 特殊算法的性能提升
- 格林函数并行化
- 自能并行保存在磁盘 – 与 SaveInMemory 性能一样
- 迁移率(Mobility)模块代码重写
- 内置器件体系算法参数测试工具,帮你选择最佳的参数设置
- 例如,快速测试 SparseGreensFunction 是否适合特定的体系问题
多线程
- QuantumATK 计算可以使用 MPI 并行和多线程
- O-2018.06 更加智能的多线程运行,现在线程数自动确定,同时考虑 MPI 进程数
- log 文件列出每个 MPI 进程使用的线程情况
- 一般来讲,进程数乘以每进程的线程数应该等于使用的机器总核数
- 自定义的线程数可以通过控制环境变量实现(MKL_NUM_THREADS)。关闭线程可以将其设为 1
- OMP_NUM_THREADS 也可以使用,两个都设置时,MKL_NUM_THREADS 为优先。
- MKL_NUM_THREADS 无论设置多大,最多为总的物理核数(MKL_DYNAMIC=TRUE 控制)
全新的 Study Object 框架
许多原子级别的模拟都需要进行大量的相互独立的计算,而后将结果汇总。新增的 Study Object 框架可以将这类任务更好的管理,方便的中断续算和结果分析。O-2018.06 新版提供了块体材料模拟中的带电点缺陷分析和多种的器件体系计算工具。
带电点缺陷 Study Object
- 两个计算器:一个用来结构弛豫,一个用来计算形成能
- 空位上可以添加 Ghost atom(包括弛豫时)
- 超胞计算时尽量保持k点密度一致(参考原始晶胞)
- Better Gaussian model charge for FNV
- 可以使用平面波代码计算
- 空位、替位、填隙
- 外推到无限大晶胞
- 提供计算设置工具和结果分析工具
- 教程: formation energies and transition levels of charged defects
器件模型更新
除了上面提及的计算性能的优化外,器件模型还增加了两个新的 Study Object 计算工具:a)自动进行器件结构优化;b)自动进行IV和栅压扫描。此外,最小单元电极的概念可以减少电极部分的计算量,用户也不再需要考虑电极部分的长度。
最小电极的概念
- 减小电极到最小单元,计算自能时自动重复
- 现在电极延伸区会标记出来
- 将节约电极区域计算时间(O(N3))
- 2019 版考虑自动重复 A/B 方向
伏安特性 Study Object
- 将源漏偏压扫描和栅压扫描结合运行计算,同时分析结果
- 在图形界面上直接设置计算
- 多级别并行化
- 中断自动续算
- 分析工具
- 区域使用 3D 高亮
- 状态保存
- 自定义源漏偏压,作电流-栅压图;
- 同时作出多个栅压下的伏安特性曲线;
- 显示开关比,亚阈值斜率(subthreshold slope),transconductance,DIBL,源漏饱和电压。
- 教程: Electrical characteristics of devices using the IVCharacteristics study object
器件体系的优化 Study Object
- 此工具自动完成 Bulk Rigid Relaxation(BRR)方法,大大简化器件的结构优化。
- 可以优化复杂体系
- 自动确定中间需要优化的区域。
- 包含四个步骤:
- 1:确定需要优化的区域
- 2+3:BRR 优化
- 4:自动组装成器件模型
- 工具还支持自定义部分选项:
- 自定义哪部分需要全部优化
- 优化区域可以是除了电极和电极延伸区以外的全部
- 在 BRR 优化时还可以将中间区域的两侧用氢钝化
- 收敛标准可以调节
- 教程: Relaxation of devices using the OptimizeDeviceConfiguration study object
电子迁移率模块更新
电子迁移率由电子-声子散射作用限制决定。要进行考虑这种效应的计算十分复杂耗时,使用不便。在 QuantumATK 中,我们尽力将计算设计得如同能带计算一样容易。此次更新,我们距离这个目标又近了一步。
- 计算流程自动化(动力学矩阵 D 和哈密顿量导数 dH/dR)
- 高级断点方式:如果计算中断,只需要重新提交,计算将从中断处继续,原来计算的中间结果都将保留。
- 更新:并行标度线性化
- 计算 D 和 dH/dR 时使用 Wigner-Seitz 近似
- 四面体积分方法
- q 点收敛比 Gaussian 展宽更快
- 文献:T. Markussen et al., Phys. Rev. B 95, 245210 (2017);Canali et al. Phys. Rev. B 12, 2265 (1975).
- 教程: Phonon-limited mobility in graphene using the Boltzmann transport equation
- 参考:http://www.ioffe.ru/SVA/NSM/Semicond/Si/electric.html
计算自旋相关参数
DFT 方法可以高精度计算自旋材料体系的参数。QuantumATK 提供最新的微扰方法计算自旋参数。
Heisenberg 交换分析工具
- 使用格林函数方法计算 Heisenberg 模型的交换耦合常数的新方法
- 可以使用密度泛函理论(DFT+U)与 LCAO 基组计算
- Heisenberg 自旋-晶格模型是一个经验方法,可以研究有限温度下的磁性,例如:磁性体系的相图,相变和磁化动力学
- 与基于总能多个磁性结构的传统计算方法相比,这种方法可以在一个磁性结构计算中获得所有交换耦合参数
- 方便的设置需要分析耦合的原子
自旋寿命
- 自旋寿命是自旋电子学的重要参数,在实际温度时,自旋寿命由电子-声子相互作用决定,还与自旋-轨道耦合有关
- QuantumATK 2018.06 可以计算声子限制的自旋寿命
- 文献:O. D. Restrepo and W. Windl. Phys. Rev. Lett. 109, 166604 (2012)
光电流模块
此模块可以计算光照驱动的电流。此外,有限温度效应可以用特殊热位移(STD)方法考虑进去。 最新的研究请参考:https://arxiv.org/pdf/1801.03683.pdf
- 使用一阶微扰理论计算光电流和光子媒介的电子透射
- 还给出 AM1.5 太阳光谱照射的总电流
- 教程:https://docs.quantumwise.com/tutorials/photocurrent/photocurrent.html
- 参考文献:Phys. Rev. B 85, 155441 (2012);Journal of Applied Physics 91, 6273 (2002);Phys. Rev. B 90, 195428 (2014)
Special Quasi-random Structures(SQS)算法生成无规合金
在技术领域无规合金(Random Alloy)越来越重要。SQS 方法采用一个特殊的结构代表无规合金,这种方法很精确,而且可操作性强。新版的 NanoLab 提供 SQS 建模工具,可以方便的产生 SQS 结构。
- 内置 SQS 建模工具
- 使用基因算法(其他程序采用蒙特卡洛方法会比较慢)
- 目前支持二元体系,例如 SiGe 或者 InxGa1-xAs
- 支持任意结构,比如纳米线
- 新结构类型:AlloyConfiguration
- 分数占据,主要用于 SQS 建模工具
- 自动搜索最稳定合金结构
- 生成模型哈密顿量与组分的函数关系
- 使用与 MAPS(MIPT Abinitio Phase Stability)自动搜索稳定合金构型,构造 cluster expansion
NanoLab 建模工具更新
NanoLab已经成为了最受欢迎的材料学建模工具,此次带来了不少更新。一个重大功能是在建模过程中自动采用 python 脚本记录建模过程,因此建好一个模板结构后可以自动构建一系列结构。
建模工具更新
- 更好的结构stash组织
- 关闭窗口时记住当前的结构
- 搜索结构名称
- 新增列表格式
- 自动保存
- 晶体对称性
- 角度和坐标的判断精度可调
- 大体系警告(避免后台死机)
- 空间区域(金属、绝缘层)更方便添加、复制、移动
- Surface from Bulk 工具支持设置真空层厚度
- 照相机/旋转
- 更好的三维旋转模型
- 手动设置旋转中心
- 更精确的摆放照相机
建模工具新功能
- 交换两个原子的序号
- 结构信息按钮
- 常用工具集合
- 搜索工具
- 将 NEB 结构拖出来成为独立结构
- MD 或者优化结果轨迹导入建模工具,弹出选择结构的小窗口
- 建模时原子距离过近、结构过于稠密、空间区域与原子重叠、原子在晶格外等的警告
Python 窗口
- 提供使用Python语句与建模工具交互
- 将操作转义为Python语句
- 预定义Python代码对一系列结构进行重复操作
其他 NanoLab 图形界面更新
- Project 对话框:增加搜索、最后打开时间、自定义排序
- LabFloor 加载时间优化
- 轨迹图标显示最后一个结构
- 振动分析工具
- 默认使用箭头等多项改进
- FatBandStructure 和 PDOS 分析工具
- 线宽随放大保持不便
- PDOS:交换行的顺序改变作图顺序
- 默认颜色一致
- LocalBandStructure
- 能带排序
- 避免能带交叉导致能级顺序变化
- 对于研究有效质量非常重要
- 在 EffectiveMass 里也包含
- 能带排序
- Viewer:改变格点数据的单位
- 可以导入 QE 轨迹
- 新的结构限制方式
- 限制分数坐标,优化晶胞
- 直角坐标:固定 x,y,z,xy,yz,xz
- Neumann边界条件用于器件和表面结构加电场
- 固定磁矩
- LCAOCalculator 增加 fixed_spin_moment 参数
- 透射谱计算,自动覆盖偏压窗口
1D/2D 作图
- 新的二维作图方式
- 以后会允许将网格数据重叠到结构上
- 2D 作图各种更新
- 1D 投影工具
- 可以指定投影的轴和点
- 一维宏观移动平均工具
数据库支持
- 内部数据库
- 建立数据库的教程
MD 分析工具
- 多种作图重叠
- 时间序列分析,例如配位数或 Q-number
- 交互式曲线拟合(例如MSD->扩散系数)
- MSD 各向异性(沿选定的方向)
- 自定义图像属性(图标大小、线型、粗细,颜色等)
- 从 MD 轨迹计算振动 DOS
Job Manager
- 增加 SGE 支持
- PBS 机器接口保持所有的 MPI 进程、线程和可用的核数同步
- 本地机作业排队
- Local queue
- 所有远程插件都可以使用 localhost:22
- 跳过连接网络,在本地队列上提交
- 不拷贝文件,在 project 目录里运行
Script Generator
- 设置脚本详细度
- 更清晰的结果文件保存逻辑
- 复制计算单元
- InitialState 工具
- 使用共线作为非共线的快速初始设置
- 鼠标选择原子、元素或原子标签
- 使用表达式自定义自旋
- 自旋显示为箭头
其他更新
- 切换为 Synopsys Common Licensing(SCL)
- 升级为 PyQt5
- 增加分子体系的 ORCA 脚本生成
- 增加 EAM 势与其他势结合使用的标签
- log 文件更新
- 改进非自洽计算报告
- 详细度级别
- 报告晶胞大小
- Help-About 菜单包含更多信息,以便排除问题
- 不再包含和支持 FHI-aims
- 欢迎使用后续版本提供的自有平面波程序进行GW计算
- 去除了 CP2K 非自洽的 Hotbit DFTB 参数组(计算结果不好)
- 不再支持写 NetCDF 文件
教程更新
2017版以后的新教程
- Open-circuit voltage profile of a Li-S battery: ReaxFF molecular dynamics
- DFT-1/2 and DFT-PPS density functional methods for electronic structure calculations
- Introducing the ATK plane-wave DFT calculaton
- Metadynamics simulation of Cu vacancy diffusion on Cu(111) – using PLUMED
- Determination of low strain interfaces via geometric matching
包含 O-2018.06 版新功能的教程
- Formation energies and transition levels of charged defects
- Electrical characteristics of devices using the IVCharacteristics study object
- Photocurrent in a silicon p-n junction
2017版以后的新的案例和技术说明
- Electron transport calculations with electron-phonon coupling included via the special thermal displacement method – STD-Landauer
- NEGF Convergence Guide