vasp计算—出现各种错误情况

  • Post author:
  • Post category:其他




1.项目场景:

项目场景(1):VASP运行时,出现【forrtl : severe (174) : SIGSEGV, segmentation fault occurred】



出现问题原因

原因:出现报错的主要原因是:由于VASP运行程序较大,所需的存储空间也较大,而Linux系统初始的堆栈大小又太小导致容易出现bug。一般只需将堆栈大小(stack size)调大,一般设置成256M或者没有限制,此错误就会得到解决!



解决方案:

解决方法1:仅当前生效

设置256M:【ulimit -s 262140】

设置无限制:【ulimit -s unlimited】

解决方法2:永久生效

1:在【/etc/security/limits.conf】文件中添加下面两行:

*soft stack unlimited


hard stack unlimited

其中【

】表示所有文件生效;【stack】表示堆栈的最大值;【unlimited】表示大小无限制。

2:在【/etc/pam.d/login】文件中添加下面一行:

session required /lib/security/pam_limits.so

其中【/lib/security/pam_limits.so】为电脑中的设置。32位对应【/lib】;64位对应【/lib64】



2.项目场景:

项目场景(2):出现出现【WARNING: random wavefunctions but no delay for mixing, default for NELMDL】(译:随机波形,但没有混合延迟)



出现问题原因

原因:首先这不是一个错误,只是一个警告,让我们注意INCAR中未明确的NELMDL参数。其默认设置适用于许多体系,但是对于表面,复杂的磁性结构,如果增加NELMDL,通常可以帮助电子收敛,从而延迟初始阶段的电荷密度更新。想要删除此警告,只需在INCAR文件中指定NELMDL,但这不是必需的



解决方案:

解决方法1:

对于使用哈密顿直接最小化的计算(ALGO=ALL或ALGO=DAMPED):如果设置了NELMDL,戴维森算法在第一个NELMDL步骤中使用,如上所述。由于轨道和电荷密度预测的问题,在VASP.5中使用正的NELMDL(即在每个离子步骤中的延迟)不能可靠地工作。在VASP.6中,使用NELMDL=1(或NELMDL=2)和直接最小化往往能提高分子动力学模拟或松弛的稳定性和效率(ALGO=ALL或ALGO=DAMPED)。然而,请注意,这可能需要人们准备一个合理的WAVECAR文件,因为NELMDL=1/2可能不足以从初始随机数中获得一套合理的轨道。

解决方法2:

对于HF型计算,如果NELMDL大于或等于3,VASP将使用Davidson算法执行NELMDL非自洽步骤,并使用与所选混合函数(即HSE的PBE和PBE0)相对应的半局部DFT函数计算局部哈密尔顿。如果离子在离子步骤之间移动的距离很大,这是很方便的。因此,设置NELMDL=3可以提高使用HF型哈密顿人进行松弛时的稳定性和性能。如果你在使用HF型哈密顿人进行松弛时遇到收敛问题,请尝试使用ALGO=All和NELMDL=3。



版权声明:本文为weixin_59814983原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。