计算化学公社

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

[Gaussian/gview] 求助Gaussian不同操作系统下调用子模块机制有何区别?

[复制链接 Copy URL]

1187

帖子

5

威望

2876

eV
积分
4163

Level 6 (一方通行)

指的是Windows版和Linux版。起因是曾经发现在Windows系统下,Linux下常用的计算命令
  1. g16 < input.gjf > output.out
复制代码

用不了,
会在输出下列信息后直接退出,返回值0。
Entering Gaussian System, Link 0=g16
Initial command:
C:\G16W\l1.exe ".\Gau-7396.inp" "no-output-file" /scrdir=".\"


调用的时候只能用
  1. g16 input.gjf output.out
复制代码

这个格式。

这导致了即使在GNU下载一个tee命令,加入PATH,也无法在Windows下用
  1. g16.exe < input.gjf | tee.exe output.out
复制代码
这样的方法把输出从屏幕复制一份到文件,方便监控。
当然这也不是个问题,毕竟Windows下也有g16w.exe这个GUI窗口可以监控。
但是当我尝试写External程序的时候,出现了同样的问题。
这个尝试是用一个g16进程去做几何优化,但是实际计算单点能和受力由另一个g16进程计算提供。这种用法的可能性卢老师在
《DFT-D色散校正的使用》(http://sobereva.com/210)中提过。
但实际上,如果不怕麻烦倒也是有办法让G09与DFT-D3程序直接相结合来进行优化的。在G09当中有个external关键词,可以在Route section中添加诸如external='./dftdopt.sh',这样在优化过程中Gaussian就会试图通过调用外部脚本./dftdopt.sh来得到它传回来的当前坐标下的能量、受力(甚至Hessian矩阵)。而外部脚本自身也可以调用g09。因此,如果我们自行编写这个脚本,让这个脚本读取优化过程中传递出来的当前步的坐标,并调用另一个g09计算出此坐标下的能量和受力(用force关键词),然后再让脚本调用DFT-D3程序算出色散校正的梯度并加到刚才的受力上,就得到了包含DFT-D3色散校正的当前坐标下的受力,再将受力传回给G09的优化进程。这样就等于G09在优化时就带着DFT-D3校正的效果了。但是据我所知没有这样的现成的脚本,自己写的话需要一定水平(难者不会,会者不难)


比如最初的输入文件叫test.gjf,内容如下:
%chk=test.chk
%CPU=0
# Opt=NoMicro External=".\geneGauForce.exe"

Title

0 1
C                  0.00000000    1.39499067    0.00000000
C                 -1.20809735    0.69749533    0.00000000
C                 -1.20809735   -0.69749533    0.00000000
C                  0.00000000   -1.39499067    0.00000000
C                  1.20809735   -0.69749533    0.00000000
C                  1.20809735    0.69749533    0.00000000
H                  0.00000000    2.49460097   -0.00000000
H                 -2.16038781    1.24730049   -0.00000000
H                 -2.16038781   -1.24730049   -0.00000000
H                  0.00000000   -2.49460097   -0.00000000
H                  2.16038781   -1.24730049   -0.00000000
H                  2.16038781    1.24730049   -0.00000000
按照卢老师在《将Gaussian与Grimme的xtb程序联用搜索过渡态、产生IRC、做振动分析》(http://sobereva.com/421)中的提示,用%CPU=0设定了串行计算这个任务,同时Opt加了NoMicro参数避免自动调用内置分子力学算法优化。然后External的geneGauForce.exe是自己写的程序,可以读取External传递给这个程序的第2个参数对应的文件(相关内容看的卢老师上面那篇博文)里面的电荷、自旋多重度、原子序号和坐标等信息,然后用这些新的信息生成一个Gaussian的input文件,用Force关键词计算。
实际运行的时候成功生成了新的Gaussian的input文件,比如叫calcgrad.gjf,内容如下:
# Force B3LYP/def2SVP

Calculates force

0 1
C                  0.00000000    2.63615031    0.00000000
C                  2.28297314    1.31807516    0.00000000
C                  2.28297314   -1.31807516    0.00000000
C                  0.00000000   -2.63615031    0.00000000
C                 -2.28297314   -1.31807516    0.00000000
C                 -2.28297314    1.31807516    0.00000000
H                  0.00000000    4.71411262    0.00000000
H                  4.08254129    2.35705631    0.00000000
H                  4.08254129   -2.35705631    0.00000000
H                  0.00000000   -4.71411262    0.00000000
H                 -4.08254129   -2.35705631    0.00000000
H                 -4.08254129    2.35705631    0.00000000
但是计算的时候和之前一样,calcgrad.out输出只有
Entering Gaussian System, Link 0=g16
Input=calcgrad.gjf
Output=calcgrad.out
Initial command:
C:\G16W\l1.exe ".\Gau-9304.inp" "calcgrad.out" /scrdir=".\"
然后就直接退出了。
请问这两个错误是不是相同的原因,有没有办法可以解决(除了换Linux)。谢谢!

224

帖子

5

威望

4581

eV
积分
4905

Level 6 (一方通行)

2#
发表于 Post on 2020-5-6 10:09:43 | 只看该作者 Only view this author
用wsl就完事了,效率也高
我需要一些假日,但我不希望每天都是假日。因为我没有承担痛苦,因为那不是真正的自由。

1187

帖子

5

威望

2876

eV
积分
4163

Level 6 (一方通行)

3#
 楼主 Author| 发表于 Post on 2020-5-6 10:26:57 | 只看该作者 Only view this author
本帖最后由 snljty 于 2020-5-6 10:28 编辑
ene 发表于 2020-5-6 10:09
用wsl就完事了,效率也高

最近要写一个接口给完全不会用Linux的人...Linux版我也是在wsl下调试的,,,懒得反复切换系统了。

224

帖子

5

威望

4581

eV
积分
4905

Level 6 (一方通行)

4#
发表于 Post on 2020-5-6 13:18:40 | 只看该作者 Only view this author
snljty 发表于 2020-5-6 10:26
最近要写一个接口给完全不会用Linux的人...Linux版我也是在wsl下调试的,,,懒得反复切换系统了。

这是真难受。。
我需要一些假日,但我不希望每天都是假日。因为我没有承担痛苦,因为那不是真正的自由。

1102

帖子

18

威望

6703

eV
积分
8165

Level 6 (一方通行)

計算化学の社畜

5#
发表于 Post on 2020-5-6 13:41:53 | 只看该作者 Only view this author
我好像看到了snljty酱在整好东西,快开源
Stand on the shoulders of giants

1187

帖子

5

威望

2876

eV
积分
4163

Level 6 (一方通行)

6#
 楼主 Author| 发表于 Post on 2020-5-6 22:34:03 | 只看该作者 Only view this author
冰释之川 发表于 2020-5-6 13:41
我好像看到了snljty酱在整好东西,快开源

谢谢冰冰姐鼓励,就是个小接口啦,主要是练习。现在正被Fortran搞的头秃,实在不擅长这个。
要是自己用的脚本我一般都是用python写,但是有一次给别人的时候对方表示不会装python...之后就尽量用编译型语言写了。不过Gaussian的External接口简单快捷方法几乎只能拿Fortran写,拿别的比如C语言写的话输出数据格式D没有标准库函数太麻烦。

928

帖子

1

威望

8262

eV
积分
9210

Level 6 (一方通行)

7#
发表于 Post on 2020-5-6 22:39:08 | 只看该作者 Only view this author
snljty 发表于 2020-5-6 22:34
谢谢冰冰姐鼓励,就是个小接口啦,主要是练习。现在正被Fortran搞的头秃,实在不擅长这个。
要是自己用 ...

py可以打包成exe嘛

不过要是我的话:爱用不用,不会装就别用了

1187

帖子

5

威望

2876

eV
积分
4163

Level 6 (一方通行)

8#
 楼主 Author| 发表于 Post on 2020-5-6 22:43:23 | 只看该作者 Only view this author
hebrewsnabla 发表于 2020-5-6 22:39
py可以打包成exe嘛

不过要是我的话:爱用不用,不会装就别用了

文件太大啊233

1245

帖子

1

威望

3860

eV
积分
5125

Level 6 (一方通行)

9#
发表于 Post on 2020-11-2 19:27:00 | 只看该作者 Only view this author
试了试powershell变下面这样了,干脆都不能出输出文件了,ps里面用tee命令倒是正常运行但是不在屏幕上显示
PS D:\> g16 < h.gjf > h.out
所在位置 行:1 字符: 5
+ g16 < h.gjf > h.out
+     ~
“<”运算符是为将来使用而保留的。
    + CategoryInfo          : ParserError: (:) [], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : RedirectionNotSupported

313

帖子

2

威望

3900

eV
积分
4253

Level 6 (一方通行)

10#
发表于 Post on 2021-4-30 14:57:07 | 只看该作者 Only view this author
请问你成功在Windows上通过External来调用bat脚本了么?因为我本来也打算把sob的那个gau_xtb接口移植到Windows上来的,但是我发现间接通过bat脚本来调用其他写好的exe就始终出错,但是如果最开始就不用bat脚本,直接用一个完整的exe一步到位做接口就能够成功。并且我也测试过gaussian安装路径下 examples里面的那些已有的使用bat脚本的例子,好像也不能成功,请问到底是啥问题呢?

1187

帖子

5

威望

2876

eV
积分
4163

Level 6 (一方通行)

11#
 楼主 Author| 发表于 Post on 2021-4-30 15:28:54 | 只看该作者 Only view this author
lyj714 发表于 2021-4-30 14:57
请问你成功在Windows上通过External来调用bat脚本了么?因为我本来也打算把sob的那个gau_xtb接口移植到Wind ...

没成功过呢...

本版积分规则 Credits rule

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

GMT+8, 2026-2-20 15:36 , Processed in 0.164382 second(s), 20 queries , Gzip On.

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