参数值 | 约束类型 | 功能描述 | 数学表达式 (Penalty Term) | 适用场景 |
1 | 方向约束 | 将原子磁矩的方向约束到由 M_CONSTR指定的单位矢量方向,但不约束其大小。 | E=E0+∑Iλ[MI−MI0(MI0⋅MI)]2 | 需要研究特定磁各向异性或磁矩取向,但允许磁矩大小弛豫。 |
2 | 大小与方向约束 | 将原子磁矩的矢量(包括大小和方向)约束到由 M_CONSTR指定的目标矢量。 | E=E0+∑Iλ(MI−MI0)2 | 需要严格将磁矩固定在某个特定值(如模拟高自旋态、特定磁序)。 |
4 | 方向与符号约束(VASP.6.4+) | 约束磁矩的方向,并确保其投影与目标方向同号(即防止磁矩翻转)。 | E=E0+∑Iλ(||MI||−MI0⋅MI) | 确保磁矩在优化过程中不改变方向,适用于能量面较平坦、易发生磁矩翻转的体系。 |
计算目标 | 推荐设置与操作 |
研究磁各向异性 (MAE) | I_CONSTRAINED_M = 1。将 M_CONSTR设置为不同方向单位矢量,计算不同方向下的能量差。 |
模拟特定磁态 (如铁磁、反铁磁) | I_CONSTRAINED_M = 2。将 M_CONSTR设置为目标磁矩矢量(如 0 0 3.0和 0 0 -3.0表示反铁磁)。 |
防止磁矩在弛豫中翻转 | I_CONSTRAINED_M = 4(VASP.6.4+)。设置 M_CONSTR为初始磁矩方向。 |
初始测试 | 从适中的 LAMBDA(如 50) 开始,逐步增加直至收敛。 |
检查结果 | 始终监控 OSZICAR中的 E_p和 MW_int,确保约束有效且惩罚能量可接受。 |
方面 | 说明与解释 |
核心功能 | 通过在总能量 E0上增加一个惩罚项,将原子局域磁矩驱动到用户指定的目标方向或大小。惩罚项的强度由 LAMBDA参数控制。 |
必需配套参数 | M_CONSTR: 指定每个原子的目标磁矩矢量(对于 I_CONSTRAINED_M=1是单位矢量;对于 =2是完整的矢量)。LAMBDA: 惩罚项的权重系数。值越大,约束越强,但会引入额外的惩罚能量 (E_p)。RWIGS: 定义计算每个原子局域磁矩的积分球半径。必须确保球之间不重叠,且尽可能大以包含足够的磁化密度。 |
工作流程 | 1. 进行初步计算,了解体系的磁矩大致情况。2. 在 INCAR中设置 I_CONSTRAINED_M, M_CONSTR, LAMBDA(初始值 ~10-100), RWIGS。3. 运行计算,从 OSZICAR中检查 E_p(惩罚能量) 和 MW_int(平滑积分磁矩)。4. 逐步增大 LAMBDA (如每次乘10),并重启计算,直到 MW_int接近 M_CONSTR且 E_p变得很小,此时约束有效且对总能量影响最小。 |
输出信息 | 在 OSZICAR中查找:• E_p: 惩罚项对总能量的贡献。应随 LAMBDA增大而减小。• MW_int: 平滑积分后的原子磁矩。这是实际被约束的量。• lambda*MW_perp: 等效的约束“磁场”,反映了为维持约束所需施加的势场大小。 |
兼容性 | 适用于自旋极化 (ISPIN=2) 和非共线磁性 (LNONCOLLINEAR=.TRUE.) 计算。 |
https://vasp.at/wiki/I_CONSTRAINED_M