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                                                    #体系每个原子的磁矩绝对值之和