VASP 专题

VASP固定总磁矩与能量扫描

用bcc铁的五个固定总自旋点,区分初始磁矩、总自旋约束与原子投影磁矩。

更新于 2026-10-25约 3 分钟阅读按任务与环境选择适用配置
阅读本篇目录

想比较同一结构在不同总磁矩下的能量,可以先做一次自由自旋收敛,再扫描NUPDOWN。本例是两原子的bcc Fe立方晶胞,所有扫描保持原子位置和晶胞不变,得到固定几何下的能量曲线。

1. 先计算自由收敛的磁性参照#

使用晶格常数2.87 Å的Fe₂,PBE PAW64、ENCUT=550 eV、13×13×13 Gamma网格、ISMEAR=0、SIGMA=0.05 eV、EDIFF=1E-6。设置ISPIN=2、MAGMOM=2.5 2.5、ISYM=0、LORBIT=11,不设置NUPDOWN。这次电子自洽后,总自旋磁矩为4.4686 μB/晶胞,即平均2.2343 μB/Fe。

MAGMOM只是初始磁矩猜测。即使填2.5 2.5,最终总磁矩也不必是5 μB。对新材料先比较合理初始磁序,避免把某个局部自洽解直接当作基态。

2. 只改变NUPDOWN,提交五个扫描点#

附件已准备NUPDOWN=0、2、4、5、6五个目录,分别进入目录后提交:

sbatch run.sh

例如NUPDOWN=4表示整个两原子晶胞自旋向上与向下电子数之差为4,对应约4 μB的总自旋磁矩;不是每个Fe都固定4 μB。本例仍保留相同MAGMOM起点并完成自洽。自己建立新扫描时,可令初始磁矩之和接近目标总自旋,通常有利于收敛。VASP的NUPDOWN说明

这里IBRION=-1、NSW=0,不进行结构优化。若研究磁致体积效应,需要另做每个状态下的结构或体积扫描,不能从这一条固定体积曲线直接得到。

3. 提取能量和实际磁矩#

module load ase/3.29.0
python extract_fixed_spin.py

脚本读取自己的OUTCAR、OSZICAR和vasprun.xml,检查电子收敛及实际总磁矩,并用自由收敛参照的能量作为零点。能量采用一致的sigma→0外推E0,除以两个Fe原子。

NUPDOWN目标 实际总磁矩 / μB 平均每Fe / μB 相对能量 / meV·Fe⁻¹
自由收敛 4.4686 2.2343 0.000
0 0.0000 0.0000 583.826
2 1.9996 0.9998 349.741
4 4.0000 2.0000 23.677
5 5.0000 2.5000 17.867
6 5.9999 3.0000 244.372

vasp-fixed-total-spin 实算结果

在当前网格和展宽下,自由收敛态比这五个固定点都低。NUPDOWN=4和5夹住自由收敛的4.4686,但离散点不能精确确定曲线极小值的位置或曲率。若需要拟合,应在极小值附近加点,并检查k点和展宽的影响。

输出实际总磁矩可能与设定值有很小偏差:本例NUPDOWN=2输出1.9996,NUPDOWN=6输出5.9999 μB。提取脚本按0.001 μB核对,而不是仅检查INCAR写了什么。

4. 总磁矩与原子磁矩为何不同#

自由收敛参照中,OUTCAR球内投影给出每个Fe约2.241 μB,两者之和略大于晶胞总磁矩4.4686 μB。球内投影和全晶胞积分的空间范围不同,间隙区也可能有自旋密度,不能要求它们严格相等。

NUPDOWN约束的是全晶胞自旋数差,不会分别锁住每个原子的方向或大小。需要局域矢量约束时应另用非共线及约束磁矩方法;本例没有SOC,不包含轨道磁矩,也不产生居里温度。

5. 环境与结果范围#

本例使用vasp/6.6.1-p100的vasp_std,NVHPC 25.3、CUDA 12.8及配套MPI,作业通过Slurm运行。五个固定点与自由参照使用相同结构、PAW和k点。曲线适合学习总磁矩扫描,不替代多磁序、结构及数值参数的系统研究。

下载输入、结果与提取脚本(ZIP)

各目录准备合法Fe POTCAR后分别运行。包内包含输入、结果、提取脚本和实际曲线;没有势文件、波函数和私有日志。

需要根据你的体系选择资源?联系讨论计算需求。实际可用软件与权限,以当前账户和运行环境为准。

查看配图

放大后可滚动查看细节,按 Esc 关闭。

100%查看原图 ↗