计算化学公社

 找回密码 Forget password
 注册 Register
Views: 8620|回复 Reply: 9

[波函数分析交流] 对AICD包进行修改以使之适用于Gaussian 16

[复制链接 Copy URL]

1

帖子

0

威望

57

eV
积分
58

Level 2 能力者

发表于 Post on 2019-6-17 23:58:17 | 显示全部楼层 Show all |阅读模式 Reading model
今天作者尝试用AICD来读取Gaussian 16的输出文件,但是在输出“Starting AICDextractsh”之后程序就退出了,并没有得到任何.pov文件。换用Gaussian 09则在输出“Starting AICDextractsh”之后便正常工作。看到论坛中 @X教授 也在论坛发布了这个帖子《[波函数分析求助] AICD渲染之后的图片以及读取Gaussian16输出文件问题》,最后没有这个解决问题。

后来分析g16和g09的.log输出文件发现主要区别在于,其中指定了AICD输出文件的那一行的写法不同:g09写作“ Writing AICD file "test.txt"”;而g16则多了一个词语,写作“ Writing AICD formatted file "test.txt"”。正是这多出来的一个词,导致了程序无法正确匹配识别输出文件的名称。把g16的log输出文件那一行中的“formatted ”这个单词去掉后,AICD即可正常运行。

但是为了避免每次输出都要改log文件的麻烦,作者还是尝试修改了AICD程序本身的脚本文件。分析发现在AICD-extract.pl文件中第274行(下文中标">"),指定了匹配输出文件的正则表达式:
  1. ...

  2.   if (/^ Initial command:/)
  3.   {
  4.     # print "state 1: Anfang eines neuen Jobs";
  5.     close (ICDFILE) ;
  6.     close (PDBFILE) ;
  7.     close (LOGFILE) ;
  8.     $job++ ;
  9.     open (LOGFILE,"> $basename.$job.log") or die ("Die Datei "$basename.$job.log" kann nicht zum Schreiben ge鰂fnet werden: \n$!") ;
  10.     open (PDBFILE,"> $basename.$job.pdb") or die ("Die Datei "$basename.$job.pdb" kann nicht zum Schreiben ge鰂fnet werden: \n$!") ;
  11.     open (ICDFILE,"> $basename.$job.icd-raw") or die ("Die Datei "$basename.$job.icd-raw" kann nicht zum Schreiben ge鰂fnet werden: \n$!") ;
  12.     print LOGFILE ;
  13.   }

  14. > elsif (/^ Writing AICD file "(.*)"/)
  15.   {
  16.     $aicd_filename = $1 ;
  17.     print "Separate AICD-output in file: ", $aicd_filename, "\n";
  18.     print LOGFILE;
  19.     open (TENSORFILE, $aicd_filename) or die ("Die Datei "$aicd_filename" kann nicht zum Lesen ge鰂fnet werden: \n$!");
  20.     Extrahiere_Gitterpunkte (TENSORFILE, ICDFILE, LOGFILE);
  21.     close TENSORFILE;
  22.   }

  23. ...
复制代码

于是就将正则表达式相应地改为:

  1. /^ Writing AICD.*?file "(.*)"/
复制代码


则无论是g09还是g16的log文件均可成功匹配。




另外,AICD的编译过程也颇费周折,作者在自己的ubuntu桌面服务器编译出来的AICD,所导出的图片中箭头很杂乱,就像这个帖子《[波函数分析求助] AICD渲染之后的图片以及读取Gaussian16输出文件问题》中描述的一样;在学校超算平台的红帽系统下编译则导出空pov文件,错误信息包含“Error in `AICD-rotate_mol': free(): invalid next size (fast): 0xblahblah”,和这个帖子《[波函数分析交流] 使用AICD 2.0绘制磁感应电流图》9楼用户所描述的类似。

最后的解决方法是采用了sob老师编译完的AICD程序包(参见上个帖子10楼),然后变更存储的程序起始路径。方法很简单,只要cd到程序目录下再运行一次make即可。在已经存在编译完的二进制文件的情况下,是不会重新编译的,而仅会变更存储的程序起始路径(例如在AICD这个shell脚本的第二行指定了变量:
  1. AICD_BaseDir=/blah/blahblah/AICD-2.0.0
复制代码

)。





为了方便大家使用,特将编译完的更改过的AICD包上传至此,使用方法为下载解压该压缩包后,再
  1. cd AICD-2.0.0 && make
复制代码


随后添加假名等操作就不再赘述了。这样做之后,该AICD程序应当能正常工作,且同时支持g09和g16的输出文件。



AICD-2.0.0-modified.tar.gz

418.79 KB, 下载次数 Times of downloads: 144

评分 Rate

参与人数
Participants 8
eV +38 收起 理由
Reason
sujeshcorrole + 2 <font style="vertical-align: inh
Aminus + 5
snljty + 5 好物!
ABetaCarw + 5 精品内容
ene + 5 👍
wxhwbh + 3 好物!
sobereva + 8
Jasminer + 5 你太可爱

查看全部评分 View all ratings

249

帖子

4

威望

3692

eV
积分
4021

Level 6 (一方通行)

发表于 Post on 2019-6-18 09:46:51 | 显示全部楼层 Show all
之前编译AICD的时候就各种不顺利,编译出来的程序经常输出0kb渲染文件。和原作者沟通后得知是编译器版本太高的问题(我用的是gcc 4.7)。遂换用gcc 4.4编译就没问题了。
另外作者当时给的程序包除了AICD2.0.0外还有个2.0.1,后者好像是专门对应Gaussian16的。
当时要是能看见楼主的教程可能也不会走这么多弯路了,楼主辛苦!
贫困U 退学与疯子工程学院

46

帖子

0

威望

494

eV
积分
540

Level 4 (黑子)

发表于 Post on 2019-8-10 20:33:41 | 显示全部楼层 Show all
修改完AICD-extract.pl之后,
虽然没有马上退出但还是没有渲染出来图片,结尾提示
File 'bzyne.T_160000_0.035_0_0_1_Aniso_4.2.Isoober.inc' line 24: Parse Error: No
triangles in triangle mesh.
Fatal error in parser: Cannot parse input.
Render failed
看inc里面的内容是
#declare Isooberflaeche =
mesh
{}

#declare Pfeile =
union
{}
在{}里确实没有任何内容
请问是怎么回事呢

1188

帖子

5

威望

2758

eV
积分
4046

Level 6 (一方通行)

发表于 Post on 2019-11-5 22:33:20 | 显示全部楼层 Show all
刚发现这软件还有点挑,windows下输出文件的换行符不支持,要用dos2unix转成unix格式。虽然这点应该属于应用软件尝试把哈哈,不过一开始忽略了这件事了,结果输终端出了几行就退出了,也没报错,也没有输出文件。

4

帖子

0

威望

717

eV
积分
721

Level 4 (黑子)

发表于 Post on 2021-4-6 11:05:13 | 显示全部楼层 Show all
asl1994 发表于 2019-8-10 20:33
修改完AICD-extract.pl之后,
虽然没有马上退出但还是没有渲染出来图片,结尾提示
File 'bzyne.T_160000_ ...

请问您这个问题解决了吗?我也是在算单独几个轨道的时候就这样

347

帖子

0

威望

1387

eV
积分
1734

Level 5 (御坂)

发表于 Post on 2022-3-24 20:55:27 | 显示全部楼层 Show all
本帖最后由 乐平 于 2022-4-8 08:34 编辑

make 之后只显示如下的信息

  1. [root@master AICD-2.0.0]# make
  2. sh modify_shellpath_in_scripts.sh AICD AICD-extract.pl ModifyPov.pl AICD-convert.pl
  3. wd=`pwd` ; \
  4. sed -i -e "2s+^AICD_BaseDir=.*+AICD_BaseDir=$wd+" AICD
  5. [root@master AICD-2.0.0]#
  6. [root@master AICD-2.0.0]#
复制代码


和通常 make 时显示一大串信息不一样,希望各位安装的时候不要担心,或者心理产生疑惑。

2

帖子

0

威望

11

eV
积分
13

Level 1 能力者

发表于 Post on 2022-8-17 14:40:11 | 显示全部楼层 Show all
乐平 发表于 2022-3-24 20:55
make 之后只显示如下的信息

emmm,make是什么意思,到输入make就不会了

347

帖子

0

威望

1387

eV
积分
1734

Level 5 (御坂)

发表于 Post on 2022-8-17 17:03:49 | 显示全部楼层 Show all
本帖最后由 乐平 于 2022-8-17 17:08 编辑
bifeng 发表于 2022-8-17 14:40
emmm,make是什么意思,到输入make就不会了

到这里就结束安装了。试一试能不能正常使用。

另外,建议给开发者写邮件,申请最新版的
Workgroup of Prof. Dr. Rainer Herges (otto-diels-institut.de)


2

帖子

0

威望

11

eV
积分
13

Level 1 能力者

发表于 Post on 2022-8-17 17:47:12 | 显示全部楼层 Show all
乐平 发表于 2022-8-17 17:03
到这里就结束安装了。试一试能不能正常使用。

另外,建议给开发者写邮件,申请最新版的

您是在哪里输入make的,之前没用过这个软件啊

347

帖子

0

威望

1387

eV
积分
1734

Level 5 (御坂)

发表于 Post on 2022-8-17 20:25:14 | 显示全部楼层 Show all
bifeng 发表于 2022-8-17 17:47
您是在哪里输入make的,之前没用过这个软件啊

请注意看我写的代码段开头,在 AICD-2.0.0 的目录下输入 make。用过 Linux 系统的应该都能看得懂。

另外,强烈建议用最新版的,安装过程看下面的链接
https://wongzit.github.io/visual ... 1ecb531ab345efd02a1

本版积分规则 Credits rule

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

GMT+8, 2023-2-7 04:05 , Processed in 0.232041 second(s), 31 queries .

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