我现在在使用VASP进行计算,算的体系是RuO2,但是12*1*1的超胞,但在计算时提醒我要把AMI...
تم الإنشاء في: ٧ مايو ٢٠٢٥
تم الإنشاء في: ٧ مايو ٢٠٢٥
我现在在使用VASP进行计算,算的体系是RuO2,但是1211的超胞,但在计算时提醒我要把AMIX设的尽可能低,这是为什么?
在 VASP 里 AMIX(连同 BMIX 和 AMIX_MAG/BMIX_MAG)控制的是【第一次迭代的线性混合比例】,也就是把上一轮的电荷密度 n_old 和新计算得到的 n_new 按
混合后再送去做泊松方程与下一个 SCF 循环。默认 AMIX ≈ 0.4(磁性体系 0.8),对普通的三维金属/绝缘体大多数时候都稳。但一旦出现“长波长电荷摇摆”(charge‑sloshing)——特别是在体积非常大的超胞或高度各向异性的模型里——太大的 AMIX 会让这些长波动被放大,SCF 就可能振荡或发散。VASP 检测到这种迹象时就会给出那句 “reduce AMIX as much as possible” 的提示。
超长 a 轴 = 极小的 |G|<sub>min</sub>
在 VASP 的 Kerker/Broyden 混合里,混合权重和最小倒格矢 G<sub>min</sub> 成反比。超胞在 a 方向拉长 12 倍后,G<sub>min</sub> 只剩下 1/12,意味着默认 AMIX=0.4 对长波成分等效于 “4.8” 的大步长 → 易发散。
RuO₂ 是金属性
金属费米面存在大量低频振动模式,本就比绝缘体更难收敛;再加上长波摇摆,就更敏感。
如果还带真空层(做表面/界面)
真空区电荷极低→在真空/实心交界处形成宏观偶极,进一步恶化混合稳定性。
| 方案 | 具体做法 | 适用场景 |
|---|---|---|
| 减小 AMIX | AMIX = 0.02 或更小 (可与 BMIX = 0.0001 配对) | 大多数情况立刻稳定 |
| 启用 Kerker 混合权重 | AMIX = 0.2; BMIX = 0.001(如果之前没设 BMIX) | 有真空/强各向异性时更稳 |
| 切换 ALGO | ALGO = All 或 ALGO = Normal(避免 Fast/PW91 加剧振荡) | 体系较大、金属态 |
| 预热 | 先用较低 ENCUT 或较大的 SIGMA 跑几步,存 WAVECAR,之后恢复正式参数继续 | 初始猜测差时 |
| 增加 NELM / 减少 EDMAX | 给 SCF 更多步数,小步逼近 | 剩余振荡仍明显时 |
| 利用上一轮电荷 | 保留 CHGCAR/WAVECAR,ISTART=1; ICHARG=1 | 重新开始相近结构 |
OSZICAR 里 |dE| 与 |dN|:若电荷抖动(|dN|)大而能量收敛慢,就是典型 charge‑sloshing。ISMEAR = 1、SIGMA ≈ 0.2 eV 能进一步帮助平滑费米面。有了这些信息还能更精确地给出推荐值或替代算法。
是一维长链,RuO2是导体,我们考虑其反铁磁性的基础上进行计算。
在 一维金属长链 + 反铁磁 (AFM) 的组合里,SCF 收敛会同时受到 “长波长电荷摇摆” 和 “自旋密度摇摆” 两种不稳定因素的夹击,所以 VASP 才会强烈提示把 AMIX 降得越低越好。下面给出针对你这个模型更有针对性的建议与解释。
VASP 在磁性体系会分别混合 电荷密度 ρ 和 自旋密度 m:
其中
AMIX 对应 α (电荷)AMIX_MAG 对应 α_mag (自旋)对长超胞,ρ 本来就容易振荡;AFM 又让 m 在相邻 Ru 上正负交替,等效于在 G≈0 处再添一支“超长波”——因此 α、α_mag 均需显著减小,否则两条通道都会发散。
| 关键字 | 建议值 | 说明 |
|---|---|---|
AMIX = 0.02 | 电荷密度步长降 20× | |
BMIX = 0.001 | 布罗伊登记忆量也相应减弱 | |
AMIX_MAG = 0.02 | 自旋密度同样收紧 | |
BMIX_MAG = 0.001 | —— | |
ALGO = All | 用 Davidson + RMM-DIIS 混合,更稳一些 | |
LMIXTAU = .TRUE. | Kerker‑Tau 权重,对一维金属链尤其有效 | |
ISMEAR = 1 , SIGMA = 0.2 (eV) | 金属费米面加电子温度平滑 | |
NELM = 120 | 允许多跑几步,别过早放弃 |
小贴士:
AMIX和AMIX_MAG最好保持相等,否则有时会出现“只收敛ρ不收敛m”的畸形状态。
k_a = 12–20 (沿链方向),而 k_b = k_c = 1 即可;消除偶极耦合。textLDIPOL = .TRUE. IDIPOL = 1 # 真空垂直方向 DIPOL = 0.5 0 0 # 沿 a/2
MAGMOM):AFM 链可写成
MAGMOM = +3*1 -3*1 +3*1 -3*1 … (依元素顺序展开 12 个 Ru)
正确的首猜 能明显减轻混合压力。查看 OSZICAR/OUTCAR:
|dE| 稳定单调下降 → 能量通道正常|dN| 持续在 1e‑3 以上震荡 → 电荷摇摆仍在magnetization (x) 分量若正负翻转 → 自旋通道仍不稳一旦发现 dN 改变小于 1e‑4 且 dE < 1e‑5 eV,但某几步忽然暴冲,多半是 AMIX_MAG 还嫌大;可再降一档到 0.01。
| 现象 | 可能原因 | 处理 |
|---|---|---|
| SCF 初期就“Nan energy” | 初始自旋设置冲突 | 检查 MAGMOM 顺序、符号 |
| dE 收敛但 dN 振荡 | AMIX 太大 or BMIX/LMIXTAU 没配 | 降 AMIX、开 LMIXTAU |
| dN 很小但自旋翻转 | AMIX_MAG 太大 | 降 AMIX_MAG |
| 超 200 步仍未收敛 | 初猜差、ALGO 过快 | 保存 WAVECAR → ISTART=1 继续;或改 ALGO=Normal |
ENCUT 先降 20 %,SIGMA 提到 0.3 eV,跑 30 步;收敛后恢复正式参数继续。LORBIT=11 + RWIGS):输出分波态,看是否某 d 轨道特别尖锐,可微调 U 或引入 SoC。这样设置后,绝大部分 RuO₂ 长链 AFM 计算都能在 几十到一百步内 收敛,不再出现“把 AMIX 设得尽可能低”的警告。如果还有具体报错行或收敛曲线,贴出来再一起看。祝你计算顺利!
你的回答中有LMIXTAU = .TRUE. Kerker‑Tau 权重,对一维金属链尤其有效
我想了解一下,但我需要提一下,我计算的这个体系不是一个线,理论上我计算的是RuO2内的自旋密度波,但自旋密度波的波长需要好几个晶格才行。所以我才要沿着晶轴放长,本质上是个块体。
LMIXTAU 并不是“Kerker‑Tau 权重”,而是 “把动能密度 τ 也送进混合器” 的开关。之前那句写错了,对你造成困扰抱歉。下面把它和 Kerker 预条件的区别、以及在“拉长超胞做自旋密度波 (SDW)” 这种块体体系里是否有帮助,分开说明。
LMIXTAU 到底做了什么?LMIXTAU = .FALSE.) VASP 的密度混合器只看到 电荷密度 ρ(和自旋密度 m,如果是自旋计算)。.TRUE. 时 它把 动能密度 τ(r) = ∑ |∇ψ_i|² 也一并混合。
LMIXTAU 打开。vasp.at vasp.at一句话:
LMIXTAU更多是一根“最后的保险丝”——不收敛再开,平时不开也行。
长波长 的 ρ 摆动会把 Hartree 电势放大,SCF 易发散;把晶格沿 a 拉 12 倍就把最小 |G| 降到 1/12,等效于“放大”了长波成分。
这跟体系是一根链还是一个块体无关,只和 晶格中最小倒格矢大小 有关。
在混合时给残差乘一因子
把 的分量压低。VASP 用 AMIX/BMIX + MIXPRE / IMIX 来控制这个权重矩阵。vasp.at vasp.at
关键点:Kerker 预条件对 任何 含长波成分的大超胞(表面、空洞、SDW、CDW…)都同样有效,而不仅仅是一维链。
| 目的 | 推荐设置 | 说明 |
|---|---|---|
| 抑制 charge‑sloshing | AMIX = 0.02<br>BMIX = 0.001<br>MIXPRE = 1 (Kerker) | 小 AMIX + Kerker 权重,更安全 |
只在必要时再开 LMIXTAU | LMIXTAU = .TRUE. 可选 | 如果仍有振荡或用 meta‑GGA |
| 自旋通道同步阻尼 | AMIX_MAG = AMIX<br>BMIX_MAG = BMIX | 让 ρ 与 m 同步收敛,防止“只收敛电荷” |
| SDW 初始磁矩 | 在 MAGMOM 里写一个按波长翻转的序列 | 减少自旋摇摆时间 |
| K 点 | 长轴方向减少到 ~1–2 个就够,保持其它轴正常 | 避免不必要的费米面噪声 |
‼ 若你用的是 SCAN 或者 r²SCAN,
LMIXTAU很建议开;若仍是 PBE +U/PBEsol,先不开,观测收敛再决定。
LMIXTAULMIXTAU 分别跑 10–20 步,看 OSZICAR 里的
|dE||dN||dN| 久居 10⁻³ 以上、偶尔爆高;|dN| 快速降到 10⁻⁴ 以下并单调。LMIXTAU=.TRUE.。LMIXTAU 并不是专为一维体系设计,而是“把动能密度也纳入混合”的选项,主要服务于 meta‑GGA 和极难收敛的情况。MIXPRE=1) 测试;LMIXTAU=.TRUE.;希望这次把“LMIXTAU 只管 τ,Kerker 才管 q→0”解释清楚,也帮你在拉长超胞的 SDW 计算里找到合适的混合参数。若再遇到具体的收敛异常,把 OUTCAR/OSZICAR 中相关片段贴出来,我们再一起对症调参!
我的体系目前出现了如下情况,rms基本可以收敛,但rms(c)一直收敛不下去。
rms vs rms(c) 各代表什么?在 VASP 电子内循环的屏幕/OSZICAR 输出里常见两串数字:
| 字段 | 含义 | 典型范围 |
|---|---|---|
| rms | 迭代后所有本征矢 ψ<sub>i</sub> 的均方根变化(“波函数残差”) | 10⁻¹ → 10⁻⁴ |
| rms(c) | 混合后电荷密度 ρ<sub>mix</sub> 与上一轮 ρ<sub>old</sub> 之差的均方根(“电荷残差”) | 10⁻¹ → 10⁻⁵ |
能量
dE和rms往往先收敛;若rms(c)卡在 10⁻²–10⁻³ 附近上下跳,说明混合器还在放大某些长波成分——体系能量看似稳定,实则 ρ 没真正自洽,所以 VASP 不会给“reached required accuracy” 结束语。
rms(c) 久收不下来的常见原因| 场景 | 触发机理 | 典型症状 |
|---|---|---|
| 长超胞 + 金属/SDW | G<sub>min</sub> 很小 → 长波 charge-sloshing | rms ≪ rms(c),rms(c) 呈锯齿 |
| AMIX / AMIX_MAG 过大 | 混合步长过猛 | 几步后 rms(c) 冲到 10⁻¹ 量级 |
| BMIX 过大或未设 Kerker | 预条件不抑制 q→0 分量 | rms(c) 下降很慢 |
| meta-GGA 未混合 τ | ρ 自洽但 τ 不自洽反向扰动 ρ | rms(c) 刚降又抬头 |
| 初始磁矩不匹配 SDW 相位 | 自旋翻转拖累 ρ | rms(c) 周期性上冲 |
小步长 + Kerker 预条件
bashAMIX = 0.01 # 如果 0.02 仍嫌大,就再降一档 BMIX = 0.0005 AMIX_MAG = 0.01 BMIX_MAG = 0.0005 MIXPRE = 1 # Kerker 预条件 (默认 1,但显式写上)
先看 20 步 rms(c) 是否能从 10⁻² 掉到 10⁻³ 以下。
冻结混合前若干步,让波函数先“站稳”
bashNELMDL = 20 # 前 20 步只做波函数优化,不混 ρ
常对 SDW/AFM 有奇效:ρ 先根据固定 ψ 收敛一把,再放开混合器。
meta-GGA 或极难收敛时再开 LMIXTAU
bashMETAGGA = SCAN LMIXTAU = .TRUE.
若你仍用 PBE + U,可先不开;真看到 rms(c) 降到 10⁻³ 后反弹,就试着打开。
同步自旋与电荷的阻尼时间
确保 AMIX_MAG = AMIX、BMIX_MAG = BMIX;很多人只改 AMIX 忽略 MAG,导致自旋通道单飞。
合适的 NELM 与收敛判据
bashNELM = 120 EDIFF = 1E-5 EDIFFG = -0.02 # (结构优化时)
别让 VASP 因超步数提前终止;同时将 EDIFF 设得和目标 rms(c) 量级一致。
检查 K 点与电子温度
ISMEAR = 1, SIGMA = 0.2 eV 往往比 ISMEAR = 0 更稳。确保初始 SDW 相位正确
MAGMOM = +1 –1 +1 –1 … 按你设定的波矢排好。位相错位 ½ λ 会让 m 通道永远对着干。
textrms(c) ≫ 1E-3 ? │ ├─► YES ─ AMIX 太大? → 降 AMIX/BMIX │ ├─► 仍大 → 没用 Kerker? → MIXPRE=1 │ ├─► 仍大 → 尝试 NELMDL 冻 20 步 │ ├─► 仍大 → meta-GGA? → LMIXTAU=.TRUE. │ └─► OK → 观察 10 步是否单调 ↓
|dE|, rms, rms(c) 数字的具体跳动规律。INCAR & KPOINTS:方便核对有没有被忽略的冲突选项。LORBIT = 11 + RWIGS 输出分波 DOS,若某个 d 峰太尖,可加轻度 +U 或增 SIGMA.按照上面次序逐项尝试,rms(c) 一般能在 40–80 步降到 10⁻⁴ 量级,与 rms 同时满足收敛条件。如果你手头已有收敛曲线片段或具体报错,把它们贴出来,我可以帮你更精确地“看图调参”。祝早日跑通!
NELMDL是什么?为什么能起作用?
为什么能调NELMDL,这是什么,有什么用?
| 关键字 | 含义 | 常见默认 | 推荐范围 |
|---|---|---|---|
NELMDL | N = 电子自洽 (SCF) 开始时先做 N 步“非自洽”迭代:固定初始哈密顿量 H₀,只优化波函数 ψ,不更新电荷密度 ρ/m | –5 或 –12¹ | –5 ∼ +5 |
¹ 如果
ISTART = 0, INIWAV = 1, IALGO = 48/50,VASP 缺省NELMDL = –12;有 WAVECAR 时为 0;否则 –5。VASP
| NELMDL | 行为 | 典型用途 |
|---|---|---|
| 0 | 完全关闭延迟(立即开始混合) | 已有高质量 WAVECAR/CHGCAR |
| 负值 (–N) | 仅在第 1 个离子步 延迟 N 步 | 静态单点,或结构优化中常用 |
| 正值 (+N) | 每个离子步 都先延迟 N 步 | 分子动力学、VASP 6 + ALGO=ALL 时更稳 |
在 VASP 5.x,正值有时会让电荷预测出错,故官方更推荐负值;VASP 6.x 效果已修正。VASP
rms 已小,但 rms(c) 居高 → 波函数已基本稳定,电荷密度仍在长波摇摆。NELMDL = –20(先冻 20 步)可让 ψ 在固定 ρ₀ 下进一步“消掉相位噪声”,然后再放开混合器,往往 rms(c) 会立刻掉两阶。AMIX=0.01, MIXPRE=1),成功率更高。AMIX, BMIX —— 调节步长/记忆;先小后大。AMIX_MAG, BMIX_MAG —— 自旋通道同步阻尼,最好与电荷通道同值。LMIXTAU —— 只有在你改用 meta‑GGA(SCAN 等)或仍难收敛时再打开。ALGO=ALL (+ Davidson) —— 与 NELMDL 配合性能好;若用 Fast/Normal,延迟步同样有效,但收益略低。bash# ---------- INCAR 片段 ---------- ALGO = All NELM = 120 NELMDL = -20 # 前 20 步固定 H AMIX = 0.01 BMIX = 0.0005 AMIX_MAG = 0.01 BMIX_MAG = 0.0005 MIXPRE = 1 # Kerker ISMEAR = 1 SIGMA = 0.20 EDIFF = 1E-5
跑法:若 20 步后 rms(c) < 1 × 10⁻³ 并单调下降,就让它继续;仍高的话再把 AMIX/AMIX_MAG 各减半或把 NELMDL 再增至 –30 试试。
rms(c) 从 10⁻² 拉进 10⁻⁴ 区间,顺利收敛。如果你按上述设置仍见 rms(c) 高位锯齿,把前 30 步 OSZICAR 数字贴出来,再细调其他参数!