计算化学公社

 找回密码 Forget password
 注册 Register
Views: 325|回复 Reply: 5
打印 Print 上一主题 Last thread 下一主题 Next thread

[新手求助] 【已解决】老师,关于gaussian和xtb联用,报错未能从外部打开输出文件是什么原因?

[复制链接 Copy URL]

3

帖子

0

威望

25

eV
积分
28

Level 2 能力者

本帖最后由 Cheuksing 于 2025-12-9 19:03 编辑

老师,请问我按照这篇文章《将Gaussian与Grimme的xtb程序联用搜索过渡态、产生IRC、做振动分析 - 思想家公社的门口:量子化学·分子模拟·二次元》中的方法运行案例中的TS.gjf,提示错误,应该如何解决呢?


TS.log的报错如下图所示(All done! Failed to open output file from external program. Error termination via Lnk1e in /public/software/gaussian/g16/l402.exe):



我在卢天老师的xtb.sh最后一行中加入了`echo "All done!"`(如下图所示),从TS.log文件(上图)可看出,卢天老师写的extderi、genxyz、xtb.sh全都正常运行结束了,应该是高斯16报的错,但不知如何解决。



【其它说明】
1. 提交作业时,是通过TS.sh脚本(sbatch)提交至超算平台的;

2. 已在.bashrc中正确配置xtb的安装(export PATH等),所有可执行文件也加了执行权限。
3. 版本:gaussian 16 c01,xtb 6.5.1,gau_xtb_1.0.1

谢谢!


683

帖子

12

威望

2818

eV
积分
3741

Level 5 (御坂)

鸩羽

2#
发表于 Post on 2025-12-9 18:11:45 | 只看该作者 Only view this author
All done之前把$3复制过来看看什么情况
我之前也总莫名其妙报这个错,后来发现在.生成一个temp,然后mv temp $3可以解决,你也可以试试
某不知名实验组从苞米地里长出来的计算选手

3

帖子

0

威望

25

eV
积分
28

Level 2 能力者

3#
 楼主 Author| 发表于 Post on 2025-12-9 18:45:32 | 只看该作者 Only view this author
本帖最后由 Cheuksing 于 2025-12-9 19:02 编辑
wal 发表于 2025-12-9 18:11
All done之前把$3复制过来看看什么情况
我之前也总莫名其妙报这个错,后来发现在.生成一个temp,然后mv te ...

太感谢wal老师了!按照wal老师说的修改,我已经能成功跑通卢天老师的3个example!

给后面看到这篇帖子的读者详细描述一下,若您也遇到相同问题,您可以尝试在xtb.sh里加入以下代码:

(前面一部分代码和gau_xtb_1.0.1中的相同)
elif [ $derivs == "1" ] ; then
        echo "Running: xtb mol.xyz --chrg $charge --uhf $uhf --grad > xtbout"
        xtb mol.xyz --chrg $charge --uhf $uhf --grad > xtbout
fi
echo "xtb running finished!"


echo "Extracting data from xtb outputs via extderi"
# 先写到临时文件,再移动到目标文件
tmpfile="extderi_tmp.$$"
./extderi "$tmpfile" "$atoms" "$derivs"
rc=$?
if [ $rc -ne 0 ]; then
    echo "[ERROR] extderi failed with code $rc"
    exit $rc
fi
mv "$tmpfile" "$3"


echo "Cleaning up temporary files"
rm -f charges energy xtbrestart gradient hessian xtbout mol.xyz tmpxx vibspectrum
rm -f hessian xtb_normalmodes g98_canmode.out g98.out wbo xtbhess.coord .tmpxtbmodef
rm -f .engrad *.engrad xtbtopo.mol xtbhess.xyz
echo "All done!"


或者您也可以直接下载附件,替换原来的xtb.sh。

造成整个问题的原因是,extderi的输出文件在 Gaussian 结束前已经存在,但内容还没完全写好,或者文件锁还没释放,Gaussian 就会“抢先”去读,结果发现格式不对或文件不可读,于是报 Failed to open output file from external program。而如果改成先写临时文件,再在脚本最后一步 mv 到 $3,就保证了 Gaussian 在它需要读的时候,看到的是一个已经完整写好的文件。这样就避免了“半成品文件”被提前打开的情况。

@sobereva 卢老师,您看有没有必要修改一下xtb.sh呢?谢谢!


202512091840465749..png (159.89 KB, 下载次数 Times of downloads: 0)

202512091840465749..png

xtb.sh

1.58 KB, 下载次数 Times of downloads: 1

683

帖子

12

威望

2818

eV
积分
3741

Level 5 (御坂)

鸩羽

4#
发表于 Post on 2025-12-9 19:02:51 | 只看该作者 Only view this author
Cheuksing 发表于 2025-12-9 18:45
太感谢wal老师了!按照wal老师说的修改,我已经能成功跑通卢天老师的3个example!

给后面看到这篇帖子 ...

其实不用这么复杂的XD 只要把这一行
./extderi $3 $atoms $derivs
改成
./extderi temp $atoms $derivs
mv temp $3
就行了
某不知名实验组从苞米地里长出来的计算选手

3

帖子

0

威望

25

eV
积分
28

Level 2 能力者

5#
 楼主 Author| 发表于 Post on 2025-12-9 19:05:10 | 只看该作者 Only view this author
wal 发表于 2025-12-9 19:02
其实不用这么复杂的XD 只要把这一行
./extderi $3 $atoms $derivs
改成

嗷嗷确实,谢谢大佬~

6万

帖子

99

威望

5万

eV
积分
124668

管理员

公社社长

6#
发表于 Post on 2025-12-9 21:03:01 | 只看该作者 Only view this author
您看有没有必要修改一下xtb.sh呢?

完全没必要。我这里毫无问题
北京科音自然科学研究中心http://www.keinsci.com)致力于计算化学的发展和传播,长期开办极高质量的各种计算化学类培训:初级量子化学培训班中级量子化学培训班高级量子化学培训班量子化学波函数分析与Multiwfn程序培训班分子动力学与GROMACS培训班CP2K第一性原理计算培训班,内容介绍以及往届资料购买请点击相应链接查看。这些培训是计算化学从零快速入门以及进一步全面系统性提升研究水平的高速路!培训各种常见问题见《北京科音办的培训班FAQ》
欢迎加入北京科音微信公众号获取北京科音培训的最新消息,并避免错过网上有价值的计算化学文章!
欢迎加入人气极高、专业性特别强的理论与计算化学综合交流群思想家公社QQ群(群号见此链接),合计达一万多人。北京科音培训班的学员在群中可申请VIP头衔,提问将得到群主Sobereva的最优先解答。
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(十分强大、极为流行的量子化学波函数分析程序)
Google Scholar:https://scholar.google.com/citations?user=tiKE0qkAAAAJ
ResearchGate:https://www.researchgate.net/profile/Tian_Lu

本版积分规则 Credits rule

手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图

GMT+8, 2026-1-23 20:33 , Processed in 0.265302 second(s), 23 queries , Gzip On.

快速回复 返回顶部 返回列表 Return to list