用户工具

站点工具

本页面的其他翻译:
  • zh

atk:原子尺度的电容

这是本文档旧的修订版!


原子尺度的电容

在本教程中,您将对平行板纳米电容器进行原子尺度的模拟,这意味着两个平行金属表面之间的间隙在纳米范围内。这目前不是一个真实的器件,目的只是为了展示一种可用于计算其他结构电容的方法,包括金属/半导体/金属结构。

关注

电容器物理 在电容器上施加偏压 $V$,平板上产生反向电荷 $Q$ 的积累,最后在两板间形成电场 $E$。电场强度可以表示为 $E=\sigma/\varepsilon = V/d$,其中 $\sigma = Q/A$ 为电荷密度,$\varepsilon = k \varepsilon_0$ 为板之间分隔层的介电常数(真空或介质)。因此,电容可以由公式 $C = Q/V = Q / Ed = A \varepsilon/d$ 得出,$d$ 为板间距。

计算 以上等式适用于理想的宏观平行板电容器,但纳米尺度的电容器通常是完全不同的。采用第一性原理计算电容的主要方法为估算静电能量,从而得到电容。我们还将展示一种基于原子的 Mulliken 电荷群方法,稍微简单些。

构建平行板电容器

打开 Builder ,按照以下步骤操作:

  • 点击 Add From Database,添加金到 Stash。
  • 打开 Builders Cleave plugin,输入Miller 指数为 [111],创建 Au(111) 电极。
  • 利用 Bulk Tools Repeat,将结构在 C 方向上扩至 6 倍。
  • 选中并删除中间的两个原子—它们的原子指数为 3 和 14。
  • 选中表面的原子(指数为 7 和 8),用工具栏的按钮 将其转变为鬼原子。
  • 两表面间的距离还是有点太小。为更改间距,可打开 Coordinate Tools Translate,选中所有右手边表面上的原子(包含离得最近的鬼原子),将这些原子在 Z 方向上移动 + 2 Å。
  • 点击 Device Tools Device From Bulk,采用默认设置,将块体结构转变为器件构型。

最终的器件如下图所示。

注意

鬼原子用于完善地描述两表面间的电密度,它们只是被放在空区域中的额外基组。这种有时候会被成为真空基组的基数,也可用于计算表面功函数,如教程中所述:Computing the work function of a metal surface using ghost atoms.

计算

0 偏压

点击 按钮将器件构型发送到 Script Generator ,按如下所示设置脚本:

  • 添加一个 New Calculator ,采用 DFT-LDA 引擎和 SingleZetaPolarized 基组。K 点网格设为 9 × 9 × 100。

  • 添加以下分析项目 MullikenPopulation, ElectrostaticDifferencePotentialElectronDifferenceDensity
  • 将输出文件名改为 au_vacuumgap.nc
  • 保存脚本为 au_vacuumgap.py

发送脚本到 Job Manager ,运行计算。在笔记本电脑上需要 15-20 分钟。

有限偏压

为了得到电容,计算 $dq/dV$ 是很有必要的,$dq$ 是表面上的感应电荷,$V$ 是偏压。利用以下脚本执行偏压分别为 0.25 、0.5 、0.75 和 1.0 V 时的计算。

device_configuration = nlread('au_vacuumgap.nc', DeviceConfiguration)[-1]
calculator = device_configuration.calculator()
for voltage in [0.25, 0.5, 0.75, 1.0]:
    # Set new calculator with modified electrode voltages on the configuration
    # use the self consistent state of  the old calculation as starting input.
    device_configuration.setCalculator(
          calculator(electrode_voltages=(0.5*voltage*Volt, -0.5*voltage*Volt)),
                     initial_state=device_configuration)
    device_configuration.update()
    nlsave('au_vacuumgap.nc', device_configuration, object_id="SCF %s" % voltage)
    # -------------------------------------------------------------
    # Mulliken population
    # -------------------------------------------------------------
    mulliken_population = MullikenPopulation(device_configuration)
    nlsave('au_vacuumgap.nc', mulliken_population, object_id="Mulliken %s" % voltage)
    # -------------------------------------------------------------
    # Electrostatic difference potential
    # -------------------------------------------------------------
    electrostatic_difference_potential = ElectrostaticDifferencePotential(device_configuration)
    nlsave('au_vacuumgap.nc', electrostatic_difference_potential, object_id="EDP %s" % voltage)
    # -------------------------------------------------------------
    # Electron difference density
    # -------------------------------------------------------------
    electron_difference_density = ElectronDifferenceDensity(device_configuration)
    nlsave('au_vacuumgap.nc', electron_difference_density, object_id="EDD %s" % voltage)

您可以在此处下载脚本:↓bias_loop.py。用 Job Manager 运行或从终端执行:

$ atkpython bias_loop.py > bias_loop.out

在笔记本电脑上将需要约 1 小时完成计算。

注意

将之前的收敛计算作为下一步计算的初始构想以加速 SCF 收敛。object_id 可以在 post-SCF 分析中更易识别数据。

分析

基于感应电荷的方法

结果

静电能量分析

结果

偏压依赖的电容

绝缘垫片材料

隐式溶剂法

介质的空间区域

比较

参考

atk/原子尺度的电容.1540474645.txt.gz · 最后更改: 2018/10/25 21:37 由 xie.congwei

© 2014-2022 费米科技(京ICP备14023855号