|
|
本帖最后由 liyuanhe211 于 2020-4-5 22:09 编辑
过一段时间再看就有了。刚才修改了一下需等Sob审核。相关部分内容如下:
- NtrErr Called from FileIO. NtrErr Called from XXXXXX.
- Structure from the checkpoint file: "sideroidide_CS_1_opt.chk"
- FileIO operation on non-existent file.
- FileIO: IOper= 2 IFilNo(1)= -584 Len= 36 IPos= 0 Q= 47012767336112
- dumping /fiocom/, unit = 1 NFiles = 33 SizExt = 524288 WInBlk = 512
- defal = T LstWrd = 1206272 FType=2 FMxFil=10000
- Number 0 501 502 503 507 511
- Base 216576 43520 72192 180736 181760 196608
- End 1206272 44520 76297 180821 181925 197835
- End1 1206272 44544 76800 181248 182272 198144
- Wr Pntr 216576 43520 72192 180736 181760 196608
- Rd Pntr 216576 44520 72192 180736 181760 196608
- Length 989696 1000 4105 85 165 1227
- Number 551 552 561 562 575 579
- Base 213504 212480 214016 205824 183808 212992
- End 213542 212501 214017 212016 196499 213016
- End1 214016 212992 214528 212480 196608 213504
- Wr Pntr 213504 212480 214016 205824 183808 212992
- Rd Pntr 213504 212480 214016 205824 183808 212992
- Length 38 21 1 6192 12691 24
- Number 598 603 665 672 674 698
- Base 76800 216064 181248 183296 182784 215040
- End 76802 216065 181684 183506 182924 215112
- End1 77312 216576 181760 183808 183296 215552
- Wr Pntr 76800 216064 181248 183296 182784 215040
- Rd Pntr 76800 216064 181248 183296 182784 215040
- Length 2 1 436 210 140 72
- Number 700 701 730 761 801 989
- Base 215552 198144 182272 214528 180224 44544
- End 215842 205553 182514 214529 180230 64544
- End1 216064 205824 182784 215040 180736 65024
- Wr Pntr 215842 198144 182272 214528 180224 44544
- Rd Pntr 215552 198144 182502 214528 180224 44544
- Length 290 7409 242 1 6 20000
- Number 991 992 993 994 995 996
- Base 65536 65024 43008 40448 42496 41472
- End 72098 65033 43208 40478 42516 41672
- End1 72192 65536 43520 40960 43008 41984
- Wr Pntr 65536 65024 43008 40448 42496 41472
- Rd Pntr 72098 65033 43208 40478 42516 41672
- Length 6562 9 200 30 20 200
- Number 997 998 999
- Base 41984 40960 77312
- End 42274 41160 179816
- End1 42496 41472 180224
- Wr Pntr 41984 40960 77312
- Rd Pntr 42274 41160 79816
- Length 290 200 102504
- dumping /fiocom/, unit = 2 NFiles = 1 SizExt = 0 WInBlk = 512
- defal = F LstWrd = 65536 FType=2 FMxFil=10000
- Number 0
- Base 40448
- End 65536
- End1 65536
- Wr Pntr 40448
- Rd Pntr 40448
- Length 25088
- dumping /fiocom/, unit = 3 NFiles = 1 SizExt = 524288 WInBlk = 512
- defal = T LstWrd = 65536 FType=2 FMxFil=10000
- Number 0
- Base 40448
- End 65536
- End1 65536
- Wr Pntr 40448
- Rd Pntr 40448
- Length 25088
- FileIO operation on non-existent file.
- FileIO: IOper= 2 IFilNo(1)= -584 Len= 36 IPos= 0 Q= 47012767336112
- Error termination in NtrErr:
- NtrErr Called from FileIO.
复制代码- %chk=temp.chk
- Bad file opened by FileIO: Unit=2 I= 2 FPrev=40960 FCur= 0.
- FileIO: IOper= 9 IFilNo(1)= 2 Len= 0 IPos= 0 Q= 135419884
- dumping /fiocom/, unit = 1 NFiles = 1 SizExt = 524288 WInBlk = 512
- defal = T LstWrd = 65536 FType=2 FMxFil=10000
- Number 0
- Base 20480
- End 65536
- End1 65536
- Wr Pntr 20480
- Rd Pntr 20480
- Length 45056
- Error termination in NtrErr:
- NtrErr Called from FileIO.
复制代码
NtrErr Called from XXXXXX的报错成因非常复杂,且真实报错离末尾较远,初学者常只贴 Error termination in NtrErr: NtrErr Called from XXXXXX. 乃至最后一屏幕等,实际上在其上的一堆数字之上,例如最开始的案例的实际报错是,后面一堆乱码一样的文字对用户没啥用:
- Structure from the checkpoint file: "sideroidide_CS_1_opt.chk"
- FileIO operation on non-existent file.
复制代码 此时就很有可能是chk文件出了什么问题。应首先检查chk文件是否存在、可读,例如可以检查:
(1)路径是否正确、完整(如路径存在中文、存在空格、存在括号、没写扩展名等低级错误)
(2)使用相对路径时,“相对”的不对,如两次运行程序时CWD(PWD)不同,导致不能找到同一个文件,可以将完整路径(Windows从盘符开始,Linux从/开始)
(3)文件权限问题。在Linux上检查路径存在、相应文件(文件夹)有正确的读写权限。在Windows上,不要将临时文件存储在需要特殊权限的目录下,或者给Gaussian程序管理员权限后再运行。
(4)文件是否存在,例如我见过某些脚本在计算完成后会自动将chk文件删除、或将chk文件转化为fchk文件,此时当然会出错。
(5)如果实在找不到本质、应当先去除所有需要用到chk文件做输入的因素后重试,例如放弃使用geom=allcheck, guess=read之类的关键词从头开始算试试,可解决一大部分报错。这在本文一开始的部分也提到过。
注意类似因chk文件问题产生的报错有时并不直接,如下面这个案例中:- ******************************************
- Gaussian 09: ES64L-G09RevE.01 30-Nov-2015
- 28-Sep-2016
- ******************************************
- %nprocshared=14
- Will use up to 14 processors via shared memory.
- %mem=43522MB
- ----------------------------------------------------------------------
- #p m062x/genecp opt=(nofreeze,noeigentest,readfc,gdiis,maxstep=10,notr
- ust,ts,restart) int=ultrafine freq empiricaldispersion=gd3 5d 7f scrf=
- (smd,solvent=acetonitrile)
- ----------------------------------------------------------------------
复制代码 ......
- Berny optimization.
- Restoring state from the checkpoint file "/home/gauuser/Gaussian/PhS_Rad_Cyc/4_5
- _TS/4_5_TS[Complete_M062X]_Step2[TS_opt].chk".
- ONIOM data not found on unit 2.
- FileIO operation on non-existent file.
- FileIO: IOper= 2 IFilNo(1)= -997 Len= 20 IPos= 0 Q= 140735655680592
- dumping /fiocom/, unit = 1 NFiles = 12 SizExt = 524288 WInBlk = 512
- defal = T LstWrd = 596480 FType=2 FMxFil=10000
- ......
- dumping /fiocom/, unit = 3 NFiles = 1 SizExt = 524288 WInBlk = 512
- defal = T LstWrd = 65536 FType=2 FMxFil=10000
- Number 0
- Base 40448
- End 65536
- End1 65536
- Wr Pntr 40448
- Rd Pntr 40448
- Length 25088
- FileIO operation on non-existent file.
- FileIO: IOper= 2 IFilNo(1)= -997 Len= 20 IPos= 0 Q= 140735655680592
- Error termination in NtrErr:
- NtrErr Called from FileIO.
复制代码 按上面方法看似实际有效的报错为“ONIOM data not found on unit 2.”,但其实这根本不是个ONIOM任务,输入文件与ONIOM毫无关系。
其看似报出ONIOM错误的原因是,在正常的opt=restart任务中,程序会在尝试读取 ONIOM data 之后进行标题和Route的读取(见下面的样例),故上述错误很可能是在此处读取这些信息时出错。故也可通过不读取chk文件解决。分析出这个问题需要了解类似的正常任务中“将会有什么输出”,难度较大。
- Restoring state from the checkpoint file "/home/gauuser/Gaussian/PhS_Rad_Cyc/2_Z
- E_transform/TS[Complete_M062X]_Step2[TS_opt]cont.chk".
- ONIOM data not found on unit 2.
- Title: TS [EXTRACT_GEOM]:2,7,12
- Route: #p m062x/genecp opt=(noeigentest,ts,calcfc,nofreeze) int=ultrafine freq
- empiricaldispersion=gd3 geom=allcheck 5d 7f scrf=(smd,solvent=acetonitrile) gues
- s=tcheck
- FncErr=1.00D-07 GrdErr=1.00D-06
复制代码
还有些杂七杂八的情况,诸如我在做片段初猜的计算时,误将多重度 0 1 0 2 0 -2 输入为 0 1 0 3 0 -3,结果即有如下的错误
- (Enter /home/gauuser/g09/l122.exe)
- Structure from the checkpoint file: "sideroidide_CS_1_opt.chk"
- FileIO operation on non-existent file.
- FileIO: IOper= 2 IFilNo(1)= -584 Len= 36 IPos= 0 Q= 47012767336112
- dumping /fiocom/, unit = 1 NFiles = 33 SizExt = 524288 WInBlk = 512
- defal = T LstWrd = 1206272 FType=2 FMxFil=10000
- Number 0 501 502 503 507 511
- Base 216576 43520 72192 180736 181760 196608
- End 1206272 44520 76297 180821 181925 197835
- End1 1206272 44544 76800 181248 182272 198144
- Wr Pntr 216576 43520 72192 180736 181760 196608
- Rd Pntr 216576 44520 72192 180736 181760 196608
- Length 989696 1000 4105 85 165 1227
-
- ......
-
- dumping /fiocom/, unit = 3 NFiles = 1 SizExt = 524288 WInBlk = 512
- defal = T LstWrd = 65536 FType=2 FMxFil=10000
- Number 0
- Base 40448
- End 65536
- End1 65536
- Wr Pntr 40448
- Rd Pntr 40448
- Length 25088
- FileIO operation on non-existent file.
- FileIO: IOper= 2 IFilNo(1)= -584 Len= 36 IPos= 0 Q= 47012767336112
- Error termination in NtrErr:
- NtrErr Called from FileIO.
复制代码 此时只能根据出错的Link数来推测、测试,得知真正为多重度设定问题。
总结一下我解决这个报错大致思路:
(1)去除所有需要读chk、restart的操作尝试
(2)在大堆数字的上面找到真正的报错,找有效信息
(3)输入文件中用#p代替#,观察出错的Link,思考相关原因
(4)其他杂七杂八问题,硬盘满了,权限问题,路径中有奇怪的字符等等
(5)若在优化过程中出现这个问题,可以将当前结构保存重新开始一个任务,偶尔能解决。
(6)Gaussian Bug,如果排查了上述问题、做了化简,换了新版本、机器、跑多次都能重复这个错误,参阅下文关于Gaussian Bug的说明。
如果做了上述尝试还未能解决这个问题,要向别人提问的话请提供完整的输入输出。
|
|