|
本帖最后由 Puying 于 2018-5-2 19:39 编辑
编译了一份J_from_g03的windows版本,经测试可运行gaussian09产生的文件,在我电脑以及两个同学的电脑上都是成功的,大家试一下看看有没有问题。在源代码压缩包(http://bbs.keinsci.com/thread-1142-1-1.html)那里有一些计算算例,大家也可以试一下。在linux系统上捣鼓了几下,差不多会用以后,人生第一次在windows下编译,源代码我也看不懂,实现的功能应该是比较有限的。
方法:
三个输入文件,分别是
monomer1.com
monomer2.com
dimer.com输入文件需要的关键词:nosymm punch=mo iop(3/33=1),详见源代码中的readme.txt
需要计算产生的6个文件,分别是:
monomer1.log, monomer1.pun (monomer1.com计算产生的fort.7改名而来)
monomer2.log, monomer2.pun (monomer2.com计算产生的fort.7改名而来)
dimer.log, dimer.pun (dimer.com计算产生的fort.7改名而来)
Windows下产生的.out文件直接改后缀名成.log就可以了
压缩包解压,将这六个文件拷贝到文件夹内,在文件夹目录打开powershell(可shift+右键 启动), 输入:
.\rewrite_S_phi_E.exe monomer1 monomer2 dimer (分别是三个计算的文件名,不加文件后缀)
回车
正常的话会出现类似如下信息:
Assuming not using ZINDO
NBasis = 249
Read in S... NBsUse = 249
Read in MOs
NBasis = 249
Read in S... NBsUse = 249
Read in MOs
NBasis = 498
Read in S... NBsUse = 498
Read in MOs
同时在文件夹内产生7个文件,分别是:
Evls_pair.txt
S_1.txt
S_2.txt
S_3.txt
Mos_1.txt
Mos_2.txt
Mos_3.txt
然后在此文件夹运行matlab源代码——get_J.m ,需要两个值,一个是Nbasis,一个是Nhomo_mon,可在源代码里指定,也可执行程序时输入。我在matlab环境下编译了一个get_J.exe,但是依赖MCR,因此这样做毫无意义,大家直接跑matlab源代码就好了。正常情况下会出现类似如下信息:
Assumes the presence of the following files: MOs_1.txt, MOs_2.txt, MOs_pair.txt, S_1.txt, S_2.txt, S_pair.txt, Evls_pair.txt
!!! Octave counts from 1 !!!
Number of MOs (of monomer)=249
HOMO (of monomer)=44
E1_E2 =
-0.4988
half_HOMO_diff =
0.2547
Non_degenerate_HOMO_coupling =
-0.0250
Non_degenerate_LUMO_coupling =
0.1157
结束!!
这个程序有一定的限制,源代码中写道:
if (mon1.Nbasis!=mon2.Nbasis || pair.Nbasis!=2*mon1.Nbasis) {
cerr << "***Error***: Unexpected basis sets\n";
return (-2);
因此两个单分子的结构不同貌似是不行的。期待sob老师今年即将发布的计算程序(http://bbs.keinsci.com/thread-1732-1-1.html)!
|
-
-
get_J.7z
4.96 MB, 下载次数 Times of downloads: 67
评分 Rate
-
查看全部评分 View all ratings
|