【发布时间】:2016-06-30 17:28:10
【问题描述】:
我正在使用 CHARMM 运行一些分子动力学模拟,但一直遇到同样的错误
At line 631 of file /cygdrive/c/CHARMM/source/io/psfres.src (unit = 90, file ='tdskr2v5_min_CHARMM.psf')
Fortran runtime error: Bad value during integer read
所以我不知道 Fortran,只是一个警告。但我得到了错误;它期待一个整数并得到其他东西。第 631 行是:
#if KEY_LONEPAIR==1
! Read lone pair stuff
numlp=0
numlph=0
read(u,fmt05,end=45) numlpx,numlphx
我的问题是我不知道我的文件的“Lone pair”部分在哪里。所以我无法确定在我的输入文件中读取的坏整数在哪里。我很好奇是否有人对测试等有一些建议,以试图找出我的错误在哪里。我试过用整数替换任何字符但没有解决它,所以它一定是一个间距错误,我只是不知道如何弄清楚间距错误在哪里!
编辑:我也一直在追溯那些 numplx 和 numphx 变量的来源,这对我没有帮助。非常感谢您提供一些测试以尝试查找错误的建议!
【问题讨论】:
-
fmt05的值是多少?数据看起来如何?听起来您施加的格式与实际内容不匹配。 -
数据是一个包含整数列的文本文件,所以我猜我的列可能会被空格隔开。我只是不知道如何查明错误在哪里
-
因此,如果文件只包含您正在阅读的数字,请不要使用该格式。
-
#if我认为是一个预编译器指令。这意味着 if 将仅在编译时评估,而不是运行时评估。它要么是用-DKEY_LONEPAIR=1编译的,要么是整个块,直到#else或#endif永远不会被执行。
标签: testing error-handling fortran