Way to the science

ORCA输入文件介绍及报错处理

1.输入文件参数介绍

举例:
# ORCA5 opt freq calculation   #标题行,可不写,“ # ”为注释符号,可以出现在任何一行,注释内容不会被ORCA读取。
! PWPB95 D3 def2-TZVPP def2/J def2-TZVPP/C RIJCOSX tightSCF noautostart miniprint nopop  #关键词行,用“ !”开头,写明方法、基组、辅助基组等。
%maxcore  10000
%pal nprocs 8 end  #规定了使用的核心数和内存用量,注意orca内存设定的是每个核心使用多少MB的内存(不是GB),不是总内存用量
#在出现报错问题时,可加此部分%主模块
                           关键词的控制语句1 选项1 end
                           关键词的控制语句2 选项2 end
                           ……
                           ……
                           end
* xyz 0 1 
C       0.62416800  -0.19551500   0.04860100
C       0.94905000   1.28031500   0.08348100
H       2.02610100   1.41741300   0.03925700
H       0.49132400   1.76920000  -0.77956800
H       0.53841600   1.75220000   0.97761500
C      -0.78400100  -0.60137000   0.43217700
H      -0.87872900  -1.66885600   0.23838400
H      -0.88120200  -0.44907800   1.51221500
C      -1.86553500   0.19706000  -0.29386000
H      -1.76106600   0.10214700  -1.37563200
H      -2.85503300  -0.16699200  -0.02043300
H      -1.82044000   1.25669400  -0.04122800
O       1.44981700  -1.01195900  -0.27162600
*  #电荷、自旋多重度和分子的坐标部分,坐标常用笛卡尔坐标。书写开头和结尾一定要有“ * ”。xyz代表使用笛卡尔坐标书写坐标,坐标要对齐。注意:ORCA输入文件中对空行没有严格要求,并不影响计算,但是输入文件末尾仍需要留出几个空行。

2.报错问题
(1)SCF不收敛


目前尝试后成功的解决方法:
1、关闭TRAH。虽然TRAH算法有助于收敛,但是对于一些方法如PWPB95,Wb97M-V等是不支持该算法的,使用 “!noTRAH” 来手动关掉TRAH。
2、同时,“KDIIS ”和“SOSCF”混用也可以很好解决不收敛问题。
3、使用“slowconv”缩小步长 ,增大每一步的阻尼,是循环次数增加,可能会引导进入一个计算实际收敛状态,有时候甚至可以使用“veryslowconv”。
4、降低基组,较小的基组收敛得更好(不太推荐,因为需要全部更新成该基组,保证计算的一致)。
5、为避免或解决线性依赖问题,可加入“STHRESH 1e-6/7”,但是会影响结果准确性,一般不推荐。
6、提高能级,有利于解决不收敛以及震荡现象,使用“LevelShift 1.5/2.0/3.0”。
7、删除miniprint

(2)内存问题
  在设置每个核心的内存的时候一定要注意某些计算任务如(使用 DLPNO-CCSD(T)等方法计算单点能)是非常消耗内存的,所以提前设置好内存相关参数,即Maxcore和nprocs是非常必要的。不然就会遇到计算了很久以后报错的问题,这样既浪费时间也浪费资源。目前遇到的因内存问题导致计算任务终止的报错形式如下:
  1)输出文件最后error信息会给出Please increase MaxCore的语句提示。
 2)输出文件未写明具体的报错原因就提前终止计算。有一句ORCA finished by error termination in MDCI。

  下面是一些设置内存的注意事项和建议可供参考
 1)根据自己的任务体系合理设置内存数,确保服务器资源足够支撑完成计算。对于每个进程的内存数(MaxCore)预先一定要给够,当然也要注意并行进程数,兼顾这两个参数合理设置内存。
 2)设置的内存数不需要特别大,需要给所提交节点空余处一些内存。另外,提交时注意避免相同节点上有类似非常消耗内存的任务会干扰ORCA任务的计算。
 3)预估所需要的内存数千万不能超过所提交节点实际拥有的总内存数,否则该任务不会成功被提交。
 4)每个节点的实际内存数(memory)可通过在不同节点内键入"htop"命令获取。
 5)不确定一个任务实际需要多少内存才够跑完可以先进行DryRun估算SCF步骤的内存需求,然后用这个数值乘以并行进程数即可得到某个任务大概需要多少内存才足够。
 另外内存设置相关内容可点击下方点击下载获取

Leave a comment

Your email address will not be published. Required fields are marked *