4.9. 自旋极化计算¶
自旋极化计算是针对具有磁性的体系进行的,可以得到体系的磁性状态。
4.9.1. FeO的自旋极化计算输入文件¶
自旋极化可以在各种类型的计算任务中开启,需要的输入文件与该类型的计算文件相同。 这里以scf自洽计算作为例子说明自旋极化计算的输入文件JSON文件的参数设置。
JSON文件如下:
{
"job": {
"calculation_type": "scf",
"spin_polarization_type": 2
},
"job_io": {
"prefix": "scf",
"output_rho": true,
"pp_dir": ".",
"pp_files": [
"Fe_ONCV_PBE_sr.upf",
"O_ONCV_PBE_sr.upf"
]
},
"pw": {
"ecutwfc": 40,
"ecutrho": 160
},
"kpts": {
"k_type": "automatic",
"k_mesh": [
6,
6,
6
]
},
"electron_step": {
"elec_e_conv": 5e-7,
"elec_max_steps": 100
},
"mag": {
"mag_init_type": "element",
"mag_init_value": [
0.2,
0
]
},
"cell": {
"lattice": [
4.93255114,
0,
2.84780973,
1.64418371,
4.65045381,
2.84780973,
0,
0,
5.69561946
],
"cell_units": "bohr"
},
"ions": {
"element_names": [
"Fe",
"O"
],
"element_nums": [
1,
1
],
"positions": [
[
0,
0,
0
],
[
0.5,
0.5,
0.5
]
]
}
}
JSON输入参数介绍:
JSON输入文件可以分为几个模块,这里分别是job/job_io/pw/kpts/electron_step/mag/cell/ions, 这里只介绍一些与自旋极化计算需要额外设置的参数。 下面将依次进行介绍。
job模块: 用来设置和本次计算类型相关的参数。
spin_polarization_type
:设置是否使用自旋极化计算,这里设为2,表示使用共线自旋极化计算。
mag模块: 用来设置和本次计算的磁性相关的参数。
mag_init_type
:设置初始磁矩的方式。这里设置为element,表示按每种元素来设置磁矩。对于铁磁体系,按元素来设置比较好;对于反铁磁和亚铁磁体系,则需要按原子来进行设置。mag_init_value
:设置原子或元素的初始磁矩。这里设为[0.2, 0],表示Fe元素的自旋向上-自旋向下的电子数占Fe元素的总电子数的20%,O元素的自旋向上和自旋向下的电子数相同。
4.9.2. 执行计算¶
准备好JSON文件、赝势文件和电荷密度文件之后,按照 Hylanemos运行 中的方法执行计算。
4.9.3. 计算结果分析¶
输出文件与普通的scf计算的是一样的。
在 scf_OUT
文件中的scf result模块可以看到计算结束后的每个原子的磁矩和体系总磁矩。
================================================================================
| scf result |
--------------------------------------------------------------------------------
Electron Step Finish
Total Energy: -141.86318655 Ha / -3860.29395911 eV
Fermi level: 15.38677958 eV
Energy by parts:
one_electron contribution = -60.73359329 Ha / -1652.64526318 eV
hartree contribution = 37.00691420 Ha / 1007.00943506 eV
xc contribution = -22.04394259 Ha / -599.84623562 eV
ewald contribution = -96.09202943 Ha / -2614.79732515 eV
smearing contribution = -0.00053545 Ha / -0.01457022 eV
Magnetizations: #每个原子的电荷量和磁矩
Element index charge magnet
Fe 1 13.5093 3.4552
O 2 5.8209 0.3245
total magnetization = 4.00 #体系总磁矩
absolute magnetization = 4.02 #体系每个原子的磁矩绝对值之和