本帖最后由 Accelerator 于 2020-11-2 10:21 编辑
最近论坛上似乎有发布各种Multiwfn及相关程序更新助手的潮流。今天准备单点的输入文件时想到自己也写过一个自动批量生成单点输入文件的程序GJFenerator,因此也跟风发到论坛上。这一程序主要是用于按照模板自动生成大量gjf文件,特别是例如按照M05-2X/6-31G(d)的方式考虑溶剂化时,每个结构都要算很多单点,手动生成输入文件十分不便。利用此程序可以节省一些手工。程序是作者大二时用C#编写的,在Windows下运行(需要.Net Framework,但由于年代久远,应该大部分人电脑里的版本都已经足够了)。使用方法如下:
1. 准备一个gjf文件,记录需要算单点的结构的几何构型,文件名以英文感叹号结尾。如test!.gjf。 GJFenerator会从中读取几何构型,并结合设置好的关键字准备输入文件。这个gjf文件中的关键字与最终生成的输入文件无关,但尽可能让这个gjf文件中的关键字不要太长,否则有一定概率引发某些谜之问题。 2. GJFenerator目录下有三个文件:kwd.txt, gen.txt, gensp.txt,分别对应关键字以及自定义基组。例如: 首先根据需要修改kwd.txt,每行对应生成的一个输入文件的关键字。每行关键字最后输入一个美元符号$, $后输入对应生成的gjf文件的名字。例如,第一步准备test!.gjf,而kwd.txt中某一行为xxxx$Gas!,则表示程序将以test!.gjf中的几何构型为基础,生成一个名为test_Gas.gjf的输入文件,其中包含的关键字为xxxx。 很多情况下我们需要生成两种输入文件;第一种是用于求得溶剂化能的,也就是在m052x/6-31G(d)水平下的至少2个文件(如果想要对比不同溶剂还会更多),以及最终的高水平气相单点文件。这两种需要使用不同的基组,在kwd.txt中用感叹号区别;每行如果以英文感叹号结尾,表明对应上述第一类,调用gen.txt中的自定义基组。如果结尾没有感叹号,表明对应上述第二类,调用gensp.txt中的自定义基组。
3. 修改gen.txt和gensp.txt,分别为溶剂化计算以及高水平气相单点计算所调用的自定义基组。
准备好后,打开GJFenerator,会发现程序已经载入了kwd.txt中的关键字。上方两个文本框分别设置使用的CPU和内存(GB)。点击Load,载入准备好的xxx!.gjf文件,再点击generate,就会在输入gjf文件的相同目录下生成一系列可用于单点计算的gjf文件。
这个程序自己用了多年,不足之处是需要将优化构型手动提取出来制成以感叹号结尾的输入文件。早就想加入自动解析log文件的功能,迟迟没有时间。将来有空或许会更新罢。
Gjfenerator.7z
(123.34 KB, 下载次数 Times of downloads: 44)
|