4.1. scf自洽¶
scf自洽计算,也可以叫做静态计算、自洽计算、单点能计算等。对结构进行一次scf自洽计算,可以得到体系最低能量及对应的势函数、电荷密度、波函数等信息。
4.1.1. Si的scf自洽计算输入文件¶
scf自洽计算的输入文件包含一个JSON文件和元素对应的赝势文件。赝势文件可参考 赝势文件 。
JSON文件如下:
{
"job": {
"calculation_type": "scf",
"spin_polarization_type": 1,
"occupation_method": "insulator"
},
"job_io": {
"prefix": "scf",
"output_rho": true,
"pp_dir": ".",
"pp_files": [
"Si_ONCV_PBE_sr.upf"
]
},
"pw": {
"ecutwfc": 20,
"ecutrho": 80
},
"kpts": {
"k_type": "automatic",
"k_mesh": [
4,
4,
4
]
},
"electron_step": {
"elec_e_conv": 5e-7,
"elec_max_steps": 100
},
"cell": {
"lattice": [
6.32850049,
0,
3.65376308,
2.10949923,
5.96656808,
3.65376264,
0,
0,
7.30752373
],
"cell_units": "bohr"
},
"ions": {
"element_names": [
"Si"
],
"element_nums": [
2
],
"positions": [
[
0,
0,
0
],
[
0.75,
0.75,
0.75
]
]
}
}
JSON输入参数介绍:
JSON输入文件可以分为几个模块,这里分别是job/job_io/pw/kpts/electron_step/cell/ions,下面将依次进行介绍。
job模块: 用来设置和本次计算类型相关的参数。
calculation_type
:设置计算类型,本次计算为scf自洽计算。spin_polarization_type
:设置是否使用自旋极化计算。由于Si没有磁性,这里设置为1,表示非自旋极化计算。occupation_method
:选择本次计算的轨道占据数的计算方法。因为Si是有带隙的材料,所以这里设置为insulator。对于没有带隙的材料,应当设置为smearing。
job_io模块: 用来设置和本次计算的输入输出相关的参数。
prefix
:设置计算输出文件的前缀,这里设置为scf。output_rho
:设置计算完成后是否要输出电荷密度文件,这里设置为输出。pp_dir
:设置赝势文件的目录,这里设置为当前目录(和JSON文件同一个目录)。pp_files
:设置赝势文件的名称,这里是Si的赝势,名称为Si_ONCV_PBE_sr.upf。
pw模块: 用来设置和本次计算的平面波相关的参数。
ecutwfc
:设置波函数截断能,这里设置为20,单位为Hartree。ecutrho
:设置电荷密度截断能,这里设置为80,单位为Hartree。
kpts模块: 用来设置和本次计算的k点相关的参数。
k_type
:设置k点的设置方法,这里设置为automatic,表示使用Monkhorst-Pack方法自动生成均匀的k点。k_mesh
:设置3个方向上的k点网格的数目。
electron_step模块: 用来设置和电子步收敛相关的参数。
elec_e_conv
:设置自洽循环时电子步的收敛标准,单位为Hartree,这里设置为5e-7。elec_max_steps
:设置自洽循环时的最大电子步数,这里设置为100。
cell模块: 用来设置晶胞参数。
lattice
:设置晶格矢量矩阵,共9个数,每三个数代表一个晶轴矢量。cell_units
:设置输入的晶格矢量矩阵的单位,这里设置为bohr,表示晶格常数以bohr为单位。
ions模块: 用来设置原子相关的参数。
element_names
:设置原子的元素名称,这里为Si。element_nums
:设置每种元素的原子个数,这里为2。positions
:设置原子位置,这里输入两个Si原子的分数坐标。
4.1.2. 执行计算¶
准备好JSON文件和赝势文件之后,按照 Hylanemos运行 中的方法执行计算。
4.1.3. 计算结果分析¶
根据上述的输入文件,计算完成之后将会得到 scf_OUT
、 scf_OUT.json
、 scf_PROGRESS.yaml
、
scf_DATA/rho.hdf5
、 scf_DATA/parallel_info.json
这5个文件:
scf_OUT
:Hylanemos计算过程中输出的日志文件。scf_OUT.json
:Hylanemos计算结束之后输出的一个文件,是对整个计算的结果的一个汇总。scf_PROGRESS.yaml
:Hylanemos计算过程中输出一个和计算进度相关的文件。scf_DATA/rho.hdf5
:Hylanemos计算结束之后输出的电荷密度文件。scf_DATA/parallel_info.json
:Hylanemos计算过程中输出的并行相关的文件。
使用Matter Craft可直接对 rho.hdf5
文件处理,做出电荷密度分布图。具体的操作方法可参考 Matter Craft用户手册。
Si的三维电荷密度分布如下:
经过scf自洽计算后的体系的总能量可以在 scf_OUT
文件的最后的scf result模块读到。