Files
nixos/packages/ufo/example/README.md

2.7 KiB
Raw Blame History

本例子演示,计算一个包含 95 个原子且带有一个 C 空位的 4H-SiC 超胞的声子谱并将它近似反折叠到原胞8 原子)的声子谱中。 每一步用到的文件已经在当前目录中给出。简单起见,我们将仅仅计算 Gamma-M 线上的声子谱。

第一步:建立模型

我们首先准备一个 4H-SiC 原胞的模型,并将它弛豫:

1.0
        3.0799000263         0.0000000000         0.0000000000
       -1.5399500132         2.6672716639         0.0000000000
        0.0000000000         0.0000000000        10.0822000504
   Si    C
    4    4
Direct
     0.333333343         0.666666687         0.250000000
     0.666666627         0.333333313         0.750000000
     0.000000000         0.000000000         0.000000000
     0.000000000         0.000000000         0.500000000
     0.333333343         0.666666687         0.435380012
     0.666666627         0.333333313         0.935379982
     0.000000000         0.000000000         0.189610004
     0.000000000         0.000000000         0.689610004

再准备一个含有 C 空位的 4H-SiC 超胞的模型。 注意到超胞模型中已经被提前扣掉了一个 C 原子。

记下弛豫后的晶胞尺寸,稍后会用到。

TODO: 有必要弛豫原胞吗?

PrimitiveCell:
  - [ 3.0799, 0, 0 ]
  - [ -1.53995, 2.66727, 0 ]
  - [ 0, 0, 10.0822 ]
SuperCell:
  - [ 9.2397, 0, 0 ]
  - [ -4.61985, 8.00181, 0 ]
  - [ 0, 0, 10.0822 ]

第二步:计算超胞中的 Q 点坐标

为了得到原胞中 Gamma-M 线上的声子模式,我们需要计算超胞中哪些 Q 点处的模式? 这个问题不仅看上去似乎有些难以回答,而且实际上人手算起来也一点不简单。 因此我写了功能来处理这个问题:

SuperCellMultiplier: [ 3, 4, 1 ]
SuperCellDeformation:
  - [ 1, 0, 0 ]
  - [ 0.66666, 1, 0 ]
  - [ 0, 0, 1 ]
Qpoints:
  - [0, 0, 0]
  - [0.05, 0, 0]
  - [0.1, 0, 0]
  - [0.15, 0, 0]
  - [0.2, 0, 0]
  - [0.25, 0, 0]
  - [0.3, 0, 0]
  - [0.35, 0, 0]
  - [0.4, 0, 0]
  - [0.45, 0, 0]
  - [0.5, 0, 0]
OutputFile:
  Filename: fold-output.yaml
  Format: yaml

得到:

Qpoints:
  - [ 0.00000000, 0.00000000, 0.00000000 ]
  - [ 0.15000000, 0.09999999, 0.00000000 ]
  - [ 0.30000000, 0.19999998, 0.00000000 ]
  - [ 0.45000000, 0.29999997, 0.00000000 ]
  - [ 0.60000000, 0.39999996, 0.00000000 ]
  - [ 0.75000000, 0.49999995, 0.00000000 ]
  - [ 0.90000000, 0.59999994, 0.00000000 ]
  - [ 0.05000000, 0.69999993, 0.00000000 ]
  - [ 0.20000000, 0.79999992, 0.00000000 ]
  - [ 0.35000000, 0.89999991, 0.00000000 ]
  - [ 0.50000000, 0.99999990, 0.00000000 ]

大致在草稿纸上画个图,可以确认这个结果是合理的。