选项 | 默认值 | 功能描述 | 主要影响 |
.TRUE. | 是 | 执行子空间对角化(瑞利-里兹方法)。 | 提高收敛速度,并在每次对角化后按本征值升序对轨道进行排序。这是大多数情况下的推荐设置。 |
.FALSE. | 否 | 禁止子空间对角化。 | 保持初始轨道顺序(例如从 WAVECAR文件读取的顺序)。可能会降低收敛速度。 |
算法 (ALGO) | LDIAG = .TRUE. (默认行为) | LDIAG = .FALSE. (特殊用途) | 注意事项 |
Normal, Fast | 必须执行子空间对角化。无法关闭。 | 不可用。 | 这些算法的迭代过程依赖于子空间对角化。 |
VeryFast | 执行精确的瑞利-里兹对角化。 | 改用 Löwdin 微扰理论。严格保持轨道顺序。 | 不能用于杂化泛函。需要保持轨道顺序时可使用 .FALSE.。 |
Damped, All | 在收敛后执行一次最终的子空间对角化以提高力/应力的精度。 | 跳过最终的子空间对角化。 | 直接最小化算法在过程中不进行对角化。关闭最终对角化可能影响力的精度。 |
计算场景 | 推荐设置 | 理由 |
绝大多数计算 | LDIAG = .TRUE. (默认) | 能提供更快的收敛速度和标准化的轨道顺序。 |
需要严格保持轨道顺序(例如:从 WAVECAR读取轨道后继续计算,且后续处理依赖特定轨道索引) | LDIAG = .FALSE.(仅与 ALGO=VeryFast或 Damped联用) | 可以确保第 n 个轨道在计算过程中始终存储在第 n 个位置,顺序不变。 |
使用 ALGO=Normal或 Fast | 忽略此参数(总是执行对角化) | 此参数对这些算法无效。 |
https://vasp.at/wiki/LDIAG