ATK功能详细列表

Posted · Add Comment

概述

Atomistix ToolKit(ATK)与 Virtual NanoLab(VNL)是通用的原子级模拟平台,囊括了众多的计算方法和模型,可以用于研究电子态结构、输运问题,进行分子动力学计算。

  • Atomistix ToolKit (ATK) 可以计算纳米结构和材料的电子、磁学、光学、力学、热学等多种性质。尤其是,ATK可以计算纳米器件的电子输运特性,既包括弹道隧穿情况,也可以考虑电子-声子散射。ATK还包含了先进的分子动力学计算引擎。
  • Virtual NanoLab (VNL) 为用户提供了方便易用的图形用户界面,可以轻松的完成各种任务,Python的编程接口则允许有经验的用户实现复杂的计算流程或进行高级的数据分析。VNL还可以单独使用,因为VNL还为VASP、LAMMPS、ABINIT、Quantum Espresso等其他代码和程序提供接口。用户可以使用VNL进行几何结构模型构建、设置计算参数,读入、分析结构。用户还可以自己编程设计自己的接口,实现文件格式交换、数据处理作图、设计新型结构,等等。

ATK-VNL一直在快速持续开发,相关的更新参见:


原子级别模拟方法

量子力学计算方法

  • 基于LCAO的密度泛函理论(DFT)方法
    • 数值轨道基组(SIESTA型)
      • 包含非直接相邻原子对以提高计算精度
    • 模守恒Troullier-Martins赝势
      • FHI/HGH/OMX/SG15赝势,适用于周期表中几乎全部元素,包含很多元素的半芯势
      • OMX和SG15赝势为全相对论型
    • 超过300种交换关联泛函(libXC,完全列表参见这里),包括
      • 包含Meta-GGA用于计算半导体和绝缘体的精确能隙
    • 范德华模型(Grimme’s DFT-D2、DFT-D3)
    • 非共线、限制性和非限制性的自旋极化计算
    • 自旋-轨道耦合
    • Hubbard U 项( LDA 或 GGA),可以自旋区分
      • “Dual”,“on-site”,“shell-wise” 方法
    • 半经验“赝势投影算符移动”(pseudopotential projector shift,PPS)方法,调控半导体禁带宽度(带隙)
    • Counterpoise 校正基组重叠误差(BSSE)
    • Ghost 原子(真空基组),更精确的描述表面和空隙
    • 虚晶近似(Virtual Crystal Approximation,VCA)
  • 全电子DFT方法:FHI-aims
    • ATK包含预编译好的并行版本的全电子计算程序FHI-aims
    • 使用Python脚本调用控制FHI-aims,使用图形界面设置计算
    • 更多详细信息参考FHI-aims官网
  • 平面波方法
    • ATK 里提供预编译的并行版 ABINIT,ABINIT 是著名的平面波方法的固体计算程序
    • 用 Python 调用控制ABINIT,从图形界面直接设置 ABINIT 的计算
    • 更多功能参考 ABINIT 官网
  • 半经验-紧束缚方法
    • DFTB 模型,ATK 中随包提供30套参数,更多参数可以从 DFTB 网站下载使用
    • 提供用户自定义 Slater-Koster 参数接口;内置第四族半导体和三五族化合物合金的参数模型
    • 扩展 Huckel 模型提供超过300种预定义的基组,用于周期表几乎全部元素
    • 用内置的自旋分裂参数数据库增加自旋极化项
    • 非共线自旋
    • 增加 Hartree 项,用来反映对静电场的自洽响应
      • 所有模型都包含此项,可以用来进行自洽计算
  • 特殊功能
    • 从已经收敛的自洽的密度矩阵初始化新的计算(自动排列自旋)
    • 从共线的自旋极化计算结果初始化进行非共线的自旋计算以改善收敛
    • 自定义初始的自旋填充方案
    • 奇偶k点网格(Monkhorst-Pack或edge-to-edge zone filling),Gamma-centered 或自定义平移
    • 分数氢赝势和基组(用于表面钝化)
    • 低级接口用于提取格林函数、哈密顿量、重叠矩阵、自能等参数
    • Delta测试模块用于测试赝势-基组的精确度
    • 灵活的、可自定义的冗余度框架控制输出log文件的内容级别
    • 按不同区域设置不同的TB09 Meta-GGA c参数
  • 计算性能
    • 使用最好的标准库、算法,比如MKL、ELPA、PETSc、SLEPc、ZMUMPS、FEAST
    • 自有的稀疏矩阵库
    • 分布式内存选项
    • 多级别并行,多种计算可保持很好的加速比,直至非常多MPI进程
    • 可选缓存数据,以改进内存使用或加快速度
    • 使用磁盘替代RAM存储泊松方程求解格点(减少重复计算)
    • PEXSI算法,对超大体系(10000+原子)进行O(N)计算

经验势场方法(ATK-ForceField)

  • 超过200种键级势
    • 二体、三体势:多种版本的Lennard-Jones、Coulomb、Stillinger-Weber、Tersoff、Brenner、Morse、Buckingham、Vessal、Tosi-Fumi,用户自定义
    • 多体势:EAM、MEAM、Finnis-Sinclair、Sutton-Chen、charge-optmized many-body(COMB)
    • 可极化势:Madden/Tangney-Scandolo,core-shell
    • ReaxFF
    • ReaxFF+ (来自AQcomputare
  • 库仑作用解法
    • Ewald(平滑粒子网格),DSF,Debye,simple pairwise
  • 方便的接口,用于添加以上任何一种势类型的来自其他文献参数
  • 支持将几种势结合
    • 例如将 Stillinger-Weber 势与 Lennard-Jones 项结合来考虑范德华相互作用
    • 包含了已见于文献的势:Pedone,Guillot-Sator,Marian-Gastreich,Feuston-Garofalini,Mastsui,Leinenweber,Madden等
  • 使用OpenMP多核并行(后续实现MPI并行)

静电势模型

  • 求解泊松方程SET-grid
    • 周期体系使用FFT
    • 包含金属区域或介电区域的体系采用Multigrid方法
    • 输运计算采用 FFT2D 求解泊松方程(输运方向用 Multi-Grid,垂直输运方向平面用 FFT)
    • 分子体系多极展开
    • “Direct”求解方法,内存并行,用于大体系
    • 可对不同方向独立采用狄利克雷、冯-纽曼或周期边界条件
  • 金属栅极或介电屏蔽区域
    • 可以计算晶体管特性,单电子晶体管得电荷稳定性图graphene_junction_voltagedrop
  • 局域原子能级移动
    • 模拟外场
  • 间接的溶液模型(介电常数背景)
  • 支持带电体系
  • 带有补偿电荷的带电体系
    • 模拟电荷掺杂
    • 表面原子钝化

非平衡态格林函数(NEGF)器件体系电子输运和表面体系计算分析

  • NEGF方法研究双电极体系molecular_electronics_whitebg
    • 非平衡态格林函数描述散射区电子分布,包括与两个半无限电极(源漏电极)的自能耦合
    • 开放边界条件(Dirichlet/Dirichlet)允许在源漏之间施加有限偏压,并计算伏安特性(IV曲线)
    • 包括电极电子态混入器件区域对电子密度和矩阵元的贡献
    • 对开放体系使用电子态自由能取代总能
    • 可以处理两端不同的电极(允许研究单个界面,例如金属-半导体界面、p-n结)
    • 可以添加静电栅极,研究晶体管特性
  • NEGF方法研究单表面体系
    • NEGF方法描述表面层,包含与单个半无限基底耦合的自能项(不再使用slab模型,对表面的描述更接近物理实质)
    • 无限基底和表面上方的真空分别使用合适的边界条件,可以进行表面非零偏压的计算
  • 计算性能和稳定性选项
    • 非平衡态(有限电压)下的散射态方法快速求算 Contour 积分
    • O(N)格林函数计算和稀疏矩阵描述中心区域
    • 双、单半圆contour积分方法以获得最大的稳定性
    • Ozaki contour积分方法,包含深能级
    • 稀疏自能方法,节约内存
    • 自适应(非常规)k点积分计算透射系数
  • 计算IV曲线
    • 弹性、相干的隧穿输运
    • 准非弹性(LOE)和全非弹性(XLOE)电子-声子耦合
      • 可以用任意方法(DFT、tight-binding、DFTB、经验势)组合处理电子和声子部分自由度
      • 非弹性隧道电流谱(IETS)分析
  • 底层输运分析
    • 透射系数(k分辨、能量分辨)TS-k-dependent
    • Monkhorst-Pack或edge-to-edge zone filling方法k布点,或只采样部分布里渊区来获得详细信息
    • 谱电流
    • 透射谱、本征值、本征态
    • 器件态密度,可投影在原子或角动量上
    • 电压降
    • 分子投影哈密顿量(MPSH)本征值
    • 电流密度和透射路径
    • 共线和非共线自旋的自旋转移转矩(Spin Transfer Torque,STT)transmissionpathway
    • 使用LDOS或器件态密度得到原子尺度的能带图
  • 完全周期体系的输运性质
    • 复数能带
    • 块体材料的透射谱

电子态结构bandstructure

  • 分子能级谱
    • 还包括周期体系的投影分子能级谱
  • 能带结构
    • 在原子或角动量上投影
  • 态密度(DOS)
    • 原子和角动量投影态密度
  • Mulliken 电荷布居分析molecularorbital
  • 实空间三维网格量
    • 电子密度
    • 有效势
    • 交换关联势
    • 全静电势或差别静电势
    • 分子轨道
    • 电子局域函数(ELF)
    • Bloch函数
  • 总能
  • 电极化和压电张量(Berry 相位)opticalspectrum
  • 有效质量分析
    • 二阶微扰方法或解析张量
  • Bader电荷分析
  • 光学特性
    • Kubo-Greenwood方法分析线性光学性质
    • 计算光吸收、介电函数、折射率谱等

离子动力学

  • 准牛顿 LBFGS 方法和 FIRE 方法,同时优化坐标和晶胞几何构型(力和张力)
    • 可优化至指定的目标张力(张量)
  • 计算动力学矩阵
    • 声子能带,态密度,热输运
    • 计算并显示声子振动模式
    • 结合离子和电子部分的结果计算 Seebeck 系数和 ZT
  • 在有限的源—漏电压下优化器件几何构型
  • 计算过渡态、反应路径和能量
    • 使用 NEB、CI-NEB 方法
    • 预优化路径(改进的Halgren-Lipscomb方法)
    • 支持中间结构的优化的并行计算,大大减少优化时间
  • 分子动力学
    • QuantumWise自主开发的MD引擎
      • 可以用 DFT、半经验模型或经验势进行计算
      • 所有恒温器、恒压器支持线性升温或降温
    • 多种恒温器与恒压器
      • NVE velocity verlet
      • NVT Nose-Hoover with chains
      • NPT with stress mask
      • NPT/NVT Berendsen
      • Martyna-Tobias-Klein恒压器
      • Langevin
    • 多种方法初始化速度
    • 计算过程中分析
    • 动态矩阵计算时可以自动确定晶胞重复的倍数
    • 可以保存动力学矩阵
  • 灵活的结构限制
    • 固定部分原子
    • 分别固定x、y、z直角坐标
    • MD过程中固定质心
    • 固定布拉维格子(可同时设定目标应力)
    • 刚性原子位置关系
  • 部分电荷分析
  • 可视化原子速度
  • 轨迹或单个结构分析工具(同时支持导入VASP、LAMMPS结果分析)
    • 径向分布、角分布函数
    • 速度/动能分布
    • 速度自相关函数
    • 局域质量密度分布
    • 从轨迹计算声子态密度
    • 配位数分析
    • 均方位移
    • 最近邻数
    • 中子散射结构因子
    • 局域结构(Voronoi)
    • 中心对称性
    • 从MD轨迹计算声子DOS
    • 使用脚本可以方便的对超大体系的部分原子进行以上各种分析
  • 力学性质
    • 力和应力(解析Hellmann-Feynman)
    • 弹性常数(应力-应变曲线)
    • 局域应力
  •  基于基因算法的全局优化方法
    503x366-images-Tutorials-AKMC-pt-adatom-diffusion-markov-chain-analyzer

    VNL中的Markov链分析工具,用于研究KMC的结果。

    • 用于晶体结构预测
  • 自适应动力学蒙特卡洛(AKMC)
    • 长时域分子动力学搜索未知反应机理,估算反应速率
  • 简谐过渡态理论(HTST)分析反应(转换)速率
    • 两个选项:声子配分函数详细分析、NEB路径曲率方法快速估算
  • 显示并导出MD、声子振动、NEB路径的动画
  • 电子-声子耦合
    • 得到电子-声子耦合矩阵元
    • 使用Boltzmann方程和k分辨、能量分辨的弛豫时间计算形变势、电导率和迁移率张量
    • 计算Hall系数和Hall电导率张量,Seebeck系数和ZT,一阶矩,热导

VNL图形用户界面

参见:

 

  • 原子级结构建模工具,可构建分子、晶体、纳米结构和器件
    • 块体材料工具:对称性信息工具、超胞工具、晶体结构构建工具,等等
    • 表面和界面建模工具
    • 正二十面体建模插件
    • NEB建模工具:设置反应路径,逐个编辑中间态
    • 创建器件结构用于输运计算
    • 纳米结构(石墨烯、纳米管、纳米线)建模工具
    • 分子建模工具
    • 多晶建模工具
    • 表面钝化工具
    • 导入导出绝大多数结构文件类型
    • Packmol分子填充工具
  • 结构数据库
    • 内建结构库,含有丰富的分子和晶体结构
    • 直接检索Crystallography Open Database和Materials Project
  • 快速设置计算和复杂流程
    • 完整支持ATK-DFT、ATK-SE、ForceField、FHI-aims
  • 显示3D数据
    • 高性能图形渲染引擎,支持百万级原子显示
    • 等值面图、等值线图、Contour图,图形可以根据数据范围进行重复
    • 控制原子颜色、大小和透明度
    • 晶体的多面体作图表示
    • Voxel作图方法(3D格点数据的点状云)
    • Contour面的3D变形
    • 3D显示控制,支持多光源
    • 布里渊区显示工具
    • 导出多数图片格式
    • 导出CUBE文件或简单xyz数据文件,用其他程序作图
    • 导出MD轨迹、声子振动、NEB路径等的动画
    • 自动旋转显示,导出GIF动画
  • 计算项目管理
    • 文件按项目归类存放
    • 在计算机之间、用户之间方便的共享计算项目
    • 总览项目全部数据或只关注部分数据,将不同项目数据文件合并
  • 脚本编辑器
    • 搜索-替换功能
    • 语法高亮显示
    • Python语言自动补全
    • 自定义字体
  • 作业管理器
    • 在本机或远程服务器上提交串行或并行计算

      jobmanager

      新的作业管理器界面。

    • 本机模式:串行、多线程并行、多进程并行
    • 远程模式:Torque、PBS、SLURM、LSF队列系统、无队列系统直接提交
    • 自动上传输入文件、下载输出文件
      • 无需服务器端的守护进程
      • 仅需要安全的ssh访问
  • Python 脚本语言,直接和图形界面结合
    • 可以交互式使用
    • Parallel scheduler
    • 包含PyQt4
    • 包含PyMatGen
  • 支持其他计算代码
    • VASP
      • 直接创建VASP输入文件,支持大部分VASP功能
      • 手动添加INCAR行,预览INCAR文件
      • 读入结果文件并作图(OUTCAR、CONTCAR、CHGCAR、DOSCAR、EIGENVAL、CHG、PARCHG、ELFCAR、XDATCAR)
      • 作能带、DOS等
      • 使用IDPP方法生成NEB路径
      • 设置结构限制
      • 可视化NEB路径和能垒
      • 可视化振动模式
    • QuantumESPRESSO
      • 创建输入文件
      • 读入电荷密度、DOS、能带并作图
    • GPAW
      • 创建输入文件
      • 读入电荷密度并作图
    • LAMMPS
      • 创建结构文件
      • 导入轨迹,显示动画、计算局域结构,作统计分析图
    • 插件开发API
      • 用户使用Python自定义插件,向VNL添加新功能
      • 添加支持其他代码
      • 添加建模新功能(从简单操作到复杂交互式工具)
      • 导入、导出其他格式文件
      • 添加数据分析和作图功能
      • 从官方服务器下载安装插件
    • MBNExlorer 导入导出
    • 包含用于导入多种量子化学格式的CCLib

平台支持

  • ATK 提供各种平台下的二进制安装包。不需要任何编译或自定义设置,下载后即可安装在以下系统上:
    • Windows XP/Vista/7/8/10 (图形界面和计算后端,64位)
    • 多数 Linux 发行版(图形界面和计算后端,64位)
  • MPI 并行(Windows 和 Linux 下都支持),可以与以下并行库一起使用
    • MVAPICH2(Inifiniband)
    • MPICH2(Ethernet)
    • Intel MPI (支持Infiniband)
  • OpenMP 多线程计算
    • 通过调用 Intel MKL 支持在多核处理器

参考:原文链接