1. 项目概述:为什么磁各向异性能计算这么让人头疼
把 LNONCOLLINEAR 和 LSORBIT 同时开起来的那一下,算是 VASP 磁性计算里最让人紧张的操作之一。开完之后,你不再只关心自旋的“上”和“下”,而是要把每个原子的磁矩在三维空间里真正放开,再让自旋轨道耦合把能级劈裂的效果加进来,最后从两个方向的总能量差里把磁各向异性能(MAE)抠出来。这个流程说起来只有三步:构建非共线磁矩、开启 SOC 做自洽、换方向取能量差。但真正跑起来,参数、收敛、单位、数值噪声,处处是坑。
这篇文章写给谁呢?给正在做磁性薄膜、磁性异质结、二维磁性材料、永磁相或自旋电子学器件相关计算的研究生和工程师。如果你已经会用 VASP 做基本的静态计算和结构优化,但对非共线磁性计算还停留在“知道有这两个开关”的程度,那么这篇教程可以直接照着抄作业。我会把每一步的操作方式讲清楚,也会把背后的物理逻辑拆开揉碎,这样你换材料体系、换精度要求时也能自己调整参数,而不是套一个模板就完事。
说句实在话,MAE 是 VASP 磁性计算里最考验耐心的一类任务。它的物理图像很清晰:系统能量随磁矩方向变化,能量最低的方向就是易轴,能量最高的方向就是硬轴,两者差值为 MAE。但真正的困难在于,这个能量差通常只有 0.1 到 10 meV 量级,而一个包含几十个原子的磁性体系,总能量动辄上百 eV。要从几百 eV 的总能量里准确分辨出零点几毫电子伏的差别,对计算精度、数值收敛和操作规范的要求都非常苛刻。
1.1 MAE 的物理本质:从自旋轨道耦合说起
磁各向异性能的微观来源主要是自旋轨道耦合(SOC)。可以这样理解:电子既有自旋磁矩,又在原子核周围做轨道运动。自旋轨道耦合就是把这两个自由度“绑”在一起的相对论效应——自旋方向不同,轨道运动的能量也不同,于是系统的总能量依赖于磁矩相对晶格的方向。
这就像一块有纹理的木料,顺着纹理劈和横着纹理劈,阻力完全不一样。晶格中的原子排列、配位环境、轨道占据,天然给出了一个“纹理方向”,磁矩顺着这个方向放能量最低,逆着放能量最高。这个能量差就是我们要算的 MAE。
但这里有个本质难点:SOC 是一个相对论修正项,能量贡献非常小。对于 3d 过渡金属,SOC 的能量尺度通常在 meV 量级,远小于交换能的 eV 量级。换句话说,你要从总能量里提取一个比主要能量项小三个数量级的差值,这对数值稳定性的要求可想而知。
1.2 为什么“共线磁矩”模型不够用
很多刚接触 VASP 磁性计算的人会有个疑问:算铁磁材料时,我开个 ISPIN=2,设置 MAGMOM=5,不就能描述磁性了吗?为什么还要搞非共线?
确实,对于体心立方铁、面心立方镍这类体系,所有原子的磁矩都沿着同一个方向排列,共线近似完全够用。但算 MAE 的场景不同——你需要把磁矩人为“掰”到某个特定方向上,去看这个方向的能量。比如你要算面外方向的能量,就把全体系磁矩沿 z 轴排;要算面内方向的能量,就把磁矩沿 x 轴排。这种“磁矩在三维空间中任意取向”的需求,已经超出了共线模型的描述能力。
更关键的是,在真实磁性材料中,特别是存在 Dzyaloshinskii-Moriya 相互作用、磁涡旋、斯格明子的体系里,磁矩方向本身就不是均匀的,相邻原子的磁矩方向可以各不相同。这时候必须把每个原子的磁矩当作三维矢量来处理,这正是 LNONCOLLINEAR=.TRUE. 所做的事。
1.3 非共线磁矩与 SOC 之间的关系
非共线磁矩计算和自旋轨道耦合计算在 VASP 里是绑定出现的:打开 LSORBIT=.TRUE. 时,VASP 会自动把 LNONCOLLINEAR 设为 .TRUE.。原因在于,SOC 的哈密顿量依赖于自旋算符的方向分量,你必须用泡利矩阵来描述旋量波函数,这就天然需要非共线的处理方式。
但反过来,打开 LNONCOLLINEAR 不代表你就得到了 SOC 效应。LNONCOLLINEAR 只解决“磁矩可以在三维空间取向”的问题,而 LSORBIT 才真正把自旋和轨道的耦合项加进哈密顿量。所以我们算 MAE 时,两个开关必须同时打开。
我见过不少新手只开了 LNONCOLLINEAR 就算 MAE,结果算出来的两个方向能量完全一样,还以为是体系没有磁各向异性。其实不是,你只是根本没把 SOC 加进去,能量当然不会随方向变化。
2. 整体设计思路:先共线自洽,再开 SOC 分方向扫描
MAE 计算的标准策略是“两步走”,或者更准确地说,是一个“先共线、后非共线”的递进流程。第一步先做一次高质量的共线自洽计算,把电荷密度收敛好;第二步开启 SOC,分别计算磁矩沿各个高对称方向的能量。
2.1 为什么先做共线自洽,而不是直接非共线
直接开 LNONCOLLINEAR 和 LSORBIT 从头算也不是不可以,但通常不建议。原因有两个。
第一个原因是收敛难度。非共线计算的波函数空间比共线计算大一倍,自洽迭代的收敛路径更复杂,很容易出现能量震荡甚至不收敛。先用共线计算把电荷密度稳定下来,再把这个稳定的电荷密度作为非共线计算的初猜,能大大降低后面 SOC 计算的收敛难度。
第二个原因是计算资源。共线自洽只需要处理一个自旋通道,速度快得多。在体系较大时,先用共线把结构优化好、把参数测好,最后再做一次 SOC 计算,总体资源消耗反而更少。
这里给出的建议流程是:结构优化(共线、ISPIN=2)→ 高精度静态自洽(共线)→ 非共线+SOC 自洽(固定 SAXIS 方向)→ 换方向重复 → 提取能量差。
2.2 结构优化阶段要不要开 SOC
这是一个经常被问的问题。我的答案是:通常不需要。SOC 对晶格常数和原子位置的影响很小,远小于结构优化本身的数值精度。你完全可以在共线近似下完成结构优化,然后保持原子坐标不变,只在最后的能量计算里打开 SOC。
但有一个例外:如果你研究的是重元素体系(如铂、金、稀土),SOC 对电子结构的重塑效应很强,可能会间接影响平衡几何结构。稳妥的做法是先做一次包含 SOC 的单点能计算,比较优化前后能量的差别,如果差别小于 1 meV 量级,就说明共线结构足够用了;如果差别明显,就需要在 SOC 级别上重新优化。
2.3 材料体系对称性对 SAXIS 方向选择的影响
一个体系要算哪些方向的 MAE,不是拍脑袋决定的,而是由晶格对称性决定的。比如四方晶系的磁性薄膜,通常只要算 z 方向和 xy 平面内方向;六角晶系则可能需要算 z 方向、面内方向和某个高对称方向。
这里的逻辑很简单:MAE 能量曲面必须满足晶格对称性,所以你只需要扫描不等价方向。很多初学者把所有可能的方向都扫一遍,既浪费时间又容易引入数值误差。先做晶体学分析,确定最少需要计算的方向数,通常两个到四个就够。对于四方对称体系,面内 x 和 y 方向是对称等价的,只算其中一个即可。
3. 输入文件准备与关键参数详解
写输入文件是 MAE 计算最容易出问题的地方。POSCAR、POTCAR、KPOINTS、INCAR 四个文件,任何一个有细节错误,后面的计算都可能白跑。
3.1 POSCAR 与 POTCAR:基础文件的规范性检查
POSCAR 的准备本身不复杂,但有几个细节要特别注意。首先,原子顺序必须和 POTCAR 中的元素顺序严格一致,否则 VASP 会把势函数张冠李戴。其次,对于表面或异质结体系,真空层厚度要足够(至少 15 埃),避免层间相互作用干扰磁性结果。第三,POSCAR 中的原子坐标精度建议保留到小数点后四位以上,因为后续计算会在这个结构上做高精度自洽。
POTCAR 方面,磁性计算建议使用 PAW_PBE 势。有一个常见的坑:不同版本 POTCAR 的截断能、磁矩参考值可能不同,如果你从网上找到一个针对旧版本的输入文件模板,直接套用新势函数可能产生奇怪的结果。建议所有元素采用同一版本的自洽 POTCAR,避免混用。
3.2 INCAR 核心开关:LNONCOLLINEAR、LSORBIT、SAXIS
这是整个计算的核心,我逐一说清楚。
LNONCOLLINEAR=.TRUE. 打开非共线模式,允许每个原子磁矩在三维空间中取向。打开这个开关后,PREC、EDIFF 等参数的行为会有一些微妙变化,需要配合后续参数一起设置。
LSORBIT=.TRUE. 把自旋轨道耦合加进哈密顿量。打开后 VASP 会自动启用非共线模式,所以理论上你可以只写这个开关,但为了可读性,建议两个都显式写出来。
SAXIS 是一个很多新手不理解但极其重要的参数。它定义的是计算参考系中的自旋量子化轴,可以理解为你希望磁矩主分量沿哪个方向排列。比如设置 SAXIS = 0 0 1,就是把量子化轴放在 z 方向;设置 SAXIS = 1 0 0,就是放在 x 方向。MAE 扫描的本质就是修改这个值后重新计算能量。
需要特别强调一点:SAXIS 不是简单的方向标签,它参与坐标系变换。当你设置 SAXIS 指向 x 方向时,VASP 内部会把原本在 z 方向的量子化轴旋转到 x 方向,同时也会影响 MAGMOM 的初始磁矩设置方式。如果你把 SAXIS 和 MAGMOM 设得自相矛盾,结果会非常混乱。
3.3 MAGMOM 的向量写法和初始化策略
非共线计算里,MAGMOM 不再是简单的标量数值,而是每个原子的三维磁矩矢量。格式如下:
MAGMOM = 0 0 5 0 0 -3 0 0 2每三个数字定义一个原子的磁矩矢量(单位是玻尔磁子 μB)。上面这行表示第一个原子磁矩沿 z 轴 +5 μB,第二个原子沿 z 轴 -3 μB,第三个原子沿 z 轴 +2 μB。
当你计算 MAE 时,MAGMOM 的方向必须和 SAXIS 方向保持一致。比如你要算面外方向的能量,就设置 SAXIS = 0 0 1,同时 MAGMOM 写成 0 0 5 的格式;要算面内 x 方向,就设置 SAXIS = 1 0 0,同时 MAGMOM 写成 5 0 0 的格式。
经验之谈:MAGMOM 数值大小并不要求非常精确,它只是给自洽迭代一个初始猜测。设置时主要关注方向一致性,大小取一个合理值就行。比如铁的原子磁矩约 2.2 μB,你给 2 或 3 都可以;钴约 1.7 μB,给 2 也行。自洽计算会自动收敛到正确的磁矩大小。
3.4 针对 MAE 的收敛参数设置建议
由于 MAE 对能量精度要求极高,收敛参数的设置比普通计算严格得多。下面给出我常用的 INCAR 模板(以金属磁性体系为例):
PREC = Accurate ENCUT = 1.3 * ENMAX EDIFF = 1E-6 ISMEAR = 1 SIGMA = 0.1 LREAL = .FALSE. ISYM = -1 LNONCOLLINEAR = .TRUE. LSORBIT = .TRUE. SAXIS = 0 0 1 MAGMOM = 0 0 3 0 0 3 LMAXMIX = 4 NCORE = 4逐行解释几个关键点。
PREC = Accurate 是必须的,Normal 精度下力的计算和能量计算精度不够。ENCUT 建议至少取 ENMAX 的 1.3 倍。你可以先跑一个静态计算看 OUTCAR 中 ENMAX 的提示值,再乘以 1.3。有些重元素体系需要的 ENCUT 更高,可以做收敛性测试。
EDIFF = 1E-6 是能量收敛标准的底线。MAE 的典型量级是 1 meV 左右,如果能量收敛到 1E-5 eV(即 0.01 meV),勉强能用;更稳妥的是收敛到 1E-6 eV(即 0.001 meV),这样误差远小于目标信号。如果计算资源允许,EDIFF = 1E-7 更好。
ISMEAR = 1 配合 SIGMA = 0.1 适合金属体系。如果你算的是半导体或绝缘体,ISMEAR = 0 或 -5 更合适。SIGMA 的取值对总能量有影响,但不同 SAXIS 方向的 SIGMA 是一致的,所以对能量差的影响比较小。不过我还是建议在最终验证阶段减小 SIGMA 到 0.05,确认结果不变。
ISYM = -1 是在非共线计算中非常重要的设置。由于非共线磁结构破坏了传统磁群的对称性,VASP 在 LSORBIT 打开时会强制要求 ISYM = -1。如果你在 INCAR 里写了 ISYM = 1,计算会报错或者被忽略,直接统一写 ISYM = -1 最省心。
LMAXMIX = 4 这个参数容易被忽略但很重要。它控制电荷密度和势函数在非自洽计算中使用的最大 l 量子数。对于含有 d 电子(3d 过渡金属)的体系,LMAXMIX 至少要设为 4;如果体系中含有 f 电子(稀土元素),要设为 6。不设置这个参数,后续读 WAVECAR 做能带或态密度计算时会出现伪态。
4. 实操流程:从一个实际体系走通全流程
下面用一个简化但完整的示例,演示从共线自洽到 MAE 提取的全过程。假设我们研究的是一个钴单层模型,需要判断易轴是面外还是面内。
4.1 第一步:共线高精度自洽
先写一个共线自洽的 INCAR:
PREC = Accurate ENCUT = 400 EDIFF = 1E-6 ISMEAR = 1 SIGMA = 0.1 ISPIN = 2 MAGMOM = 3 3 LREAL = .FALSE. ISYM = 0 NCORE = 4注意这里 MAGMOM = 3 3 是共线写法,表示两个原子初始磁矩均为 3 μB,方向为 z 正方向。ISYM = 0 是为了暂时关闭对称性,确保后面非共线计算和第一步的电荷密度能平滑衔接(虽然对称性一致也可以,但设为 0 更保险)。
这个步骤的目的不是直接得到 MAE,而是获得一个收敛良好的 CHGCAR 文件。计算完成后,检查 OUTCAR 中的number of electron是否正常,磁矩大小是否合理,能量是否收敛到稳定值。
4.2 第二步:开启非共线与 SOC
在第一步的基础上,修改 INCAR 为:
PREC = Accurate ENCUT = 400 EDIFF = 1E-6 ISMEAR = 1 SIGMA = 0.1 LNONCOLLINEAR = .TRUE. LSORBIT = .TRUE. SAXIS = 0 0 1 MAGMOM = 0 0 3 0 0 3 LREAL = .FALSE. ISYM = -1 LMAXMIX = 4 NCORE = 4这里的 SAXIS = 0 0 1 表示我们要算面外(z 方向)的能量。MAGMOM 改成了向量形式 0 0 3 0 0 3,对应两个原子的初始磁矩都沿 z 方向 3 μB。
关键操作:复制第一步得到的 CHGCAR 到当前目录,让非共线计算从共线的电荷密度开始。VASP 会自动读取 CHGCAR 作为初始电荷密度,这能显著加快收敛。但注意,WAVECAR 不要复制,从零开始。
运行计算时留意 OUTCAR 中的磁矩变化。非共线模式下,VASP 会输出每个原子的磁矩矢量。你需要的不是单个数值,而是三个分量。检查磁矩大致沿 z 方向、分量大小合理,说明计算正常。
4.3 第三步:换方向重复计算
面外方向算完后,把 INCAR 中的 SAXIS 改成 1 0 0,同时 MAGMOM 改成 3 0 0 3 0 0,表示量子化轴和初始磁矩都转到 x 方向(面内)。然后重新运行。其余设置完全不变。
这里有一个经验:不要偷懒去复用上一个方向的 WAVECAR。因为 SAXIS 改变后,波函数所在的参考系也变了,硬要复用会导致能量出现虚假偏移。最稳妥的做法是每次都从 CHGCAR(共线那步获得的)重新开始。
顺带说明一下:如果两个小计算中,除了 SAXIS 和 MAGMOM 方向之外,所有的 POSCAR、KPOINTS、POTCAR、ENCUT、EDIFF、ISMEAR 参数都应该保持完全一致。这是 MAE 计算正确性的前提——只有方向不同,能量差才能归因于磁各向异性。
4.4 从 OUTCAR 提取能量并计算 MAE
每次计算结束后,用下面命令提取总能量:
grep "free energy" OUTCAR或者用:
grep "TOTEN" OSZICAR | tail -1假设我们得到如下结果(示意数据):
| 磁矩方向 | SAXIS | 总能量 (eV) |
|---|---|---|
| 面外 (z) | 0 0 1 | -12.3456789 |
| 面内 (x) | 1 0 0 | -12.3451234 |
那么 MAE = E_面内 - E_面外 = (-12.3451234) - (-12.3456789) = 0.0005555 eV,即 0.5555 meV。正值说明面外方向能量更低,易轴为面外;负值则说明面内更容易。
注意这里的能量差只有 0.5 meV 量级,而单个能量是几十 eV。要确保这个差值可信,必须确认两次计算的收敛标准和精度设置一致,且 EDIFF 达到 1E-6 以下。否则你提取的所谓 MAE 很可能只是数值噪声。
4.5 网格和截断能的收敛性测试
算出一组 MAE 不代表大功告成。你还需要做收敛性测试,确认 MAE 不随计算参数明显变化。
通常需要测试的参数包括:KPOINTS 网格密度、ENCUT、SIGMA。测试方式很简单:固定其他参数,只改变一个量,看 MAE 的变化幅度是否在可接受范围内。一般要求 MAE 变化小于 0.1 meV 才算收敛。
举个例子,K 网格从 11×11×1 加密到 15×15×1,如果 MAE 从 0.55 meV 变为 0.56 meV,变化 0.01 meV,说明网格已经很收敛。如果从 0.55 变到 0.65,说明网格还不够密,需要继续加密。同理,ENCUT 从 400 升到 500,MAE 稳定在 0.55 附近,说明截断能足够。
5. 常见问题与避坑手册
这部分内容是我实际计算中踩过坑后总结出来的,每一条都是真金白银换来的经验。
5.1 自洽迭代不收敛怎么办
非共线加 SOC 的计算确实容易出现能量震荡或者电子步不收敛。这时不要急着调 SOC 相关参数,先检查下面几个方向。
第一步,检查 SCF 前半段是否震荡。把 AMIX 适当调低(如从默认的 0.4 调到 0.2),BMIX 也相应调低,可以增强电荷混合的稳定性。第二步,检查是否因为初始磁矩设置过于离谱。MAGMOM 设的太大或方向不对,会导致电子密度初始变化剧烈,建议先用共线模式算一次看看磁矩收敛值,再把该值作为非共线的初始磁矩。第三步,如果实在不收敛,可以把 EDIFF 暂时放松到 1E-5,先获得一个初步收敛的 CHGCAR,再从该 CHGCAR 续算,恢复 EDIFF = 1E-6。
5.2 算出来的 MAE 比噪声还小,可信吗
如果你设置了 EDIFF = 1E-6,两次能量分别收敛到 1E-6 量级,那么理论上能量差的精度可以达到 1E-6 eV。但实际中,由于泛函非线性、K 点数对能量差的影响,噪声可能高于这个值。一个简单的判据是:算出来的 MAE 至少要大于 0.01 meV,并且收敛性测试中结果变化不超过 20%,才可以认为是物理信号。如果 MAE 只有 0.001 meV 级别,在 DFT 框架内基本上可以判定体系没有显著的磁各向异性,不必费心去找那个“假易轴”。
5.3 自洽过程中磁矩方向自己转了
设置 SAXIS 后,理论上自洽过程应该把磁矩保持在你指定的方向。但对于某些自旋轨道耦合很强的体系,晶格本身的倾斜相互作用会让磁矩在迭代中逐渐偏离初始方向,出现类似“磁矩旋转”的现象。这时你得到的总能量实际上是磁矩重新取向后的能量,而不是严格沿 SAXIS 方向的能量,MAE 结果就不可靠了。
处理方法有两种。第一种是接受这个事实,把最终自洽收敛的磁矩方向打印出来,用它重新定义参考方向,再跑一次。第二种是用 VASP 的约束磁性功能(I_CONSTRAINED_M = 1),给磁矩加一个约束力场,强制其保持在指定方向上。这个方法会增加计算复杂度,但结果更严谨。日常实践中,如果体系中不含强自旋轨道耦合元素(如 Pt、W、稀土),直接指定方向通常就够了。
5.4 切换 SAXIS 后 WAVECAR 的取舍
这是新手最容易掉进去的坑。第一次跑完面外方向后,目录里会留下一个 WAVECAR。第二次跑面内方向时,有人觉得 WAVECAR 可以加速收敛就直接复用。结果发现能量差大得离谱,甚至高达几十 meV,完全不可信。
原因在于 WAVECAR 里存储的波函数用了旧的量子化轴参考系。SAXIS 改变后,新旧波函数之间差了一个旋转,直接复用等于把两套不同坐标系的数据混在一起用。正确做法是:切换 SAXIS 前删除 WAVECAR,让它重新从零开始。CHGCAR 如果来自共线计算,可以保留复用,因为电荷在实空间分布不受坐标系旋转影响。
5.5 常见报错速查表
这里整理一份我在 MAE 计算中经常遇到的报错和解决方案,方便遇到问题直接查。
| 错误现象 | 可能原因 | 解决方案 |
|---|---|---|
LREAL相关错误 | 非共线+SOC计算不支持 LREAL = .TRUE. | 设置 LREAL = .FALSE. |
ISYM被强制改为 -1 | LSORBIT 打开后不允许对称性高于 -1 | INCAR 里直接写 ISYM = -1 |
| 能量在电子步间震荡 | 电荷混合参数不合适 | 降低 AMIX、BMIX,或减小 SIGMA |
| 两个方向能量完全一样 | 忘记打开 LSORBIT | 检查 INCAR 中 LSORBIT = .TRUE. |
| 磁矩分量输出异常 | MAGMOM 格式错误 | 确认每三个数字对应一个原子的xyz磁矩 |
| WAVECAR 读取报错 | 版本不兼容或文件损坏 | 删除 WAVECAR,重新计算 |
ENCUT警告 | ENCUT 低于某些元素 ENMAX | 设置 ENCUT = 1.3*ENMAX |
5.6 多个小计算管理的经验技巧
MAE 计算通常要跑多个方向,每个方向都有一组输入输出文件。我建议按方向建目录管理,比如dir_z、dir_x、dir_y,每个目录里放独立的 INCAR、POSCAR、KPOINTS、POTCAR,以及来自共线计算的 CHGCAR。这样切换方向时不容易搞混,也能避免某个方向上意外残留 WAVECAR。
另外,如果体系很大,每次从头算很耗时,可以做一个简单脚本批量提交。脚本的逻辑不复杂:循环遍历各方向目录,在每个目录里删掉旧的 WAVECAR,确认 INCAR 里 SAXIS 和 MAGMOM 正确,然后提交作业。很多科研社区和教程站都有现成的这类小工具,可以拿来改改用。
6. 最后一个实操心得:不要急着一次把参数调到顶
最后分享一点我自己的体会。MAE 计算有个特点:一次计算跑下来可能要几十上百个核时,如果第一步参数就拉满,万一中途发现设置有问题,浪费的资源非常可观。
我现在的习惯是先用一个较快的参数组合(比如 EDIFF = 1E-5、较粗的 K 网格)跑通全流程,确认数据结构、SAXIS、MAGMOM 方向、能量提取都正常。跑通后再逐步加密参数,做正式的高精度计算。用这套方法,我第一次算 Co/Pt 异质结的 MAE 时,先用粗参数发现一个方向能量异常,排查后发现是 POTCAR 里元素顺序写错了。如果一开始就用最高精度参数,等到算完才发现问题,时间成本就很高了。
另一个实用技巧是:算完一个方向后,可以先看一眼 OSZICAR 里的总磁矩大小,再结合 OUTCAR 里的原子磁矩矢量,快速判断磁矩是否保持在指定方向。这个检查只要一分钟,却能在你投入几十核时之前拦截一大部分错误。
补充一个我经常用的扩展操作:MAE 计算结果出来后,如果觉得只看总能量不够说明问题,可以用 VASPKIT、pymatgen 或简单的 Python 脚本把各方向能量整理出来,画一张能量随方向变化的极坐标图。虽然 MAE 数值只需要几个点,但把面外、面内多个方向都算出来后,极坐标图能直观看出易轴和硬轴的分布,这在写论文时非常有说服力。
还有一点值得提醒:如果你用的 VASP 版本比较老(比如 5.4 之前),非共线和 SOC 的实现细节和较新版本有些差异,参数行为会略有不同。建议在正式计算前,先用一个 2-4 原子的小晶胞测一下新版本的参数行为,确认无误后,再把整套参数迁移到大体系。这个“小体系试参数”的习惯,能帮你省掉很多不必要的返工。
整个流程走下来,从共线自洽、非共线磁矩构建,到 SOC 能量计算、MAE 提取,每一步都有明确的原理和操作边界。只要你把参数理解到位、保持各方向计算的严格一致性,再耐心做完收敛性测试,算出一个可靠的磁各向异性能并没有想象中那么难。