| 查看: 4109 | 回复: 12 | |||||||
| 本帖产生 1 个 QC强帖 ,点击这里进行查看 | |||||||
ChemiAndy木虫 (正式写手)
|
[交流]
【ChemiAndy个人文集】NBO5.G Standalone (GENNBO) Linux下的编译和使用 已有9人参与
|
||||||
|
(此帖已在mdbbs.org发过,所带附件可去那边下载) 我需要计算Guanidinium ion的多个resonance structure对overall structure的相对贡献(百分比)。经google,从这个教程(猛击: Introduction to GAUSSIAN 98W and GENNBOW 5.0 NBO)了解到,需要使用NBOGEN。此GENNBO似乎并没有集成在Gaussian03/09所带的NBO3.X中,故需使用NBO源代码编译所谓的standalone程序gennbo. 编译很不顺利,辗转搜索很多信息方得以通过,因此记下来供别人参考。 我的编译平台: 硬件: AMD64 OS: Ubuntu 10.04 编译器: Intel fortran compiler 11 (ifort) (安装ifort请参考这里) 如下编译过程分为4个步骤,下载,劈分源代码nbo_5g.src,重新生成源代码gennbo.f,修改bug并编译。 阴影中文字为linux命令和输出。 1. 小木虫论坛下载源代码: http://www.mdbbs.org/viewthread.php?tid=12591&highlight=nbo 解压后,应当是名为nbo_5g.src的源文件(52192行)和一个enable.f (560行)的文件。 2. 生成gennbo.f (1) 首先将nbo_5g.src转成linux格式,并劈成2个文件 NBO_5GA.SRC: 包括nbo_5g.src的前25134行,此部分包括主要的NBO计算 NBO_5GB.SRC: nbo_5g.src的其余部分,即后27070行,此部分包括所有的NRT计算 格式转换 $> dos2unix * //Ubuntu10.04中没有dos2unix,可以安装"apt-get install tofrodos"然后用"fromdos *"命令转换格式 文件分割: $> head -25125 nbo_5g.src >> NBO_5GA.SRC $> tail -27067 nbo_5g.src >> NBO_5GB.SRC 确认你得到的NBO_5GA.SRC的文件尾和NBO_5GB.SRC的文件头与如下所列相同: $> tail NBO_5GA.SRC SAVE ZERO DATA ZERO/0.0D0/ C SUM = ZERO DO 10 I = 1,N SUM = SUM + X(I)*X(I) 10 CONTINUE VECLEN = SQRT(SUM) RETURN END $> head NBO_5GB.SRC C*********************************************************************** C NBO 5.G -- Natural Bond Orbital Analysis Programs C (c) Copyright 1996-2008 Board of Regents of the University of Wisconsin System C on behalf of the Theoretical Chemistry Institute. All Rights Reserved. C*********************************************************************** C NRT - NATURAL RESONANCE THEORY Version 2.6 C*********************************************************************** C C NRT MODULE ROUTINES: C (2) 编译enable.f,生成enable, 并执行它获得gennbo.f $> ifort enable.f -o enable $> ./enable Currently supported environments: (1) 32-bit Unix UNIX/LINUX (2) 64-bit Unix UNIX/LINUX (3) DOS PC DOS (4) VMS VAX VMS Environment to enable (1-4)? 1 //没错,选择32bit,尽管我们的平台是64bit,见后记 Currently supported NBO versions: (1) GEN GENNBO (standalone) (2) G03 Gaussian 03 (3) G98 Gaussian 98 (4) G94 Gaussian 94 (5) GMS GAMESS (6) NWC NWChem (7) AM1 MOPAC or AMPAC NBO Program version to enable (1-7)? 1 Module gennbo.f will be created; OK to proceed [Y]/N? Y NBO source (NBO_5G.SRC ) contains 52194 lines of code. A total of 43434 lines were written to gennbo.f including 272 utility and 2 operating system dependent lines. 这样就得到了gennbo.f文件 3. 修改gennbo.f中的2处bug (1) 搜索 IF(MORB.EQ.0.AND.NAMEAT(IATNO(NCTR.NE.'gh') THEN 在THEN前补2个右括号 (2) 搜索 IF(MORB.EQ.0.AND.NAMEAT(IATNO(NCTR).NE.'gh') THEN 在THEN前补1个右括号 (所补括号要跟在原括号后, THEN前必须有空格) 感谢参考2中demonangel 的讨论,不修改这2处bug很难编译通过。 4. 编译gennbo.f $> ifort gennbo.f -o gennbo 应该没有任何warning或error,随后得到可执行的gennbo; 使用gfortran编译时得到一大堆warning,没有通过,遂放弃。 5. 关于所需的内存大小,可以直接从gennbo的log文件的前几行读出来, Storage needed: 85140 in NPA, 68112 in NBO ( 20000000 available) 上面为10原子使用6-311++G(d,p)基组,仅使用85K+68K=~150K的内存,说明NBO计算不太消耗内存,源代码所设定的20M对于大型体系也应该是足够的。否则可以通过查找gennbo.f中的"MEMORY = 20000000" 然后修改为你所需的。注意20后面6个0表示20M。 关于如何通过GENNBO计算各共振结构的贡献,请看下一篇博文。 参考: 1. "成功编译NBO 5.G on GAMESS (January 12, 2009 R3.)" http://muchong.com/html/201001/1808338.html 2. http://58.213.153.47/viewthread. ... p;extra=&page=2 ************************ 后记:我原先按照参考1(GAMESS编译)切割nbo_5g.src,编译成功后,测试表明得到的程序不能正常计算,因为一般一个NBO分析应该是1-2分钟的事情,但是它既不退出,也不报错,查看log file,只有聊聊数行,因此,只能强行退出。 后来,仔细看了看NBO_5GA.SRC, 和NBO_5GB.SRC,发现它切割的地方很奇怪,于是从5GA的末端找到NRT部分开始的地方,全部复制到5GB的前面,重新编译。还是不行,运算陷入死循环。 后来还按照NBO5 FAQ 使用古老的g77编译,但是编译无法通过,提示COMMON BLOCK的大小不匹配。就在已经绝望之后,发生了一件古怪的事情,我再次用ifort编译,得到的程序运算一切正常。所有的计算在几十秒内成功完成。。。哥,这到底是为什么? 后来用UltraCompare仔细比较,原来是我无意中在enable那一步使用了32bit,而只有选择32bit编译才能通过,正确地选择 64bit却全部失败... 神奇的NBO5...或者, 只是我的平台的问题。那么,前一步切割NBO文件的位置到底有没有影响呢?从enable.f的源码去读,应该没有影响。所以,如果你的编译出了问题,不要放弃,just keep trying... 附件: (1) 我得到的gennbo.f。这样你无须去切割和修改bug,直接使用“ifort gennbo.f -o gennbo"搞它。前提是你必须是64位linux。否则按照我上面的顺序折腾。 (2) 我得到的gennbo程序,如果你使用和我相同的平台(AMD64-4cores/Ubuntu10.04),或许可以执行,我没有尝试。 NBO5.G Standalone (GENNBO) Linux下的编译和使用(二) 下面说明使用NBO计算某一分子(Guanidinium as an example)个共振式对总体结构的相对贡献百分比。 Guanidinium离子(C+(NH2)3) 理论上有4种最可能的共振式,下面的计算表明只有3种共振式对总体结构有贡献。 过程很简单,用gauss03/09生成.47文件,然后.47作为输入文件用gennbo跑一下即可。 gennbo的运行很简单: $> gennbo < input.47 > output.log //PS: replace "input / output" with your file name 关键是input.47文件的生成。它是由gaussian 98/03/09 计算生成的。 1. .47文件的生成 生成这个文件的输入文件job.gjf如下: %mem=1024MB # rb3lyp/6-311++g(d,p) pop=NBOread TEST: Guanidinium Ion 1 1 C N 1 B1 N 1 B2 2 A1 N 1 B3 3 A2 2 D1 H 2 B4 1 A3 3 D2 H 2 B5 1 A4 3 D3 H 3 B6 1 A5 4 D4 H 3 B7 1 A6 4 D5 H 4 B8 1 A7 3 D6 H 4 B9 1 A8 3 D7 B1 1.33487700 B2 1.33487641 B3 1.33487641 B4 1.00881433 B5 1.00881433 B6 1.00881391 B7 1.00881451 B8 1.00881391 B9 1.00881451 A1 119.99998985 A2 120.00002031 A3 121.37052848 A4 121.37052848 A5 121.37057951 A6 121.37057291 A7 121.37057951 A8 121.37057291 D1 180.00000000 D2 13.00659769 D3 -166.99340231 D4 -166.99338955 D5 13.00660166 D6 -166.99338955 D7 13.00660166 $NBO ARCHIVE FILE=MYJOB $END //PS: 此行前后均需一空行 运行gaussian $> g09 job.gjf job.log 即可得到 MYJOB.47文件 // PS: replace MYJOB with any name you like 2. 修改MYJOB.47文件 将如下内容替换MYJOB.47中的第二行 "$NBO $END" $NBO NRT $END $NRTSTR STR1 LONE 2 1 3 1 4 1 END BOND S 1 2 S 1 3 S 1 4 S 2 5 S 2 6 S 3 7 S 3 8 S 4 9 S 4 10 END END STR2 LONE 3 1 4 1 END BOND D 1 2 S 1 3 S 1 4 S 2 5 S 2 6 S 3 7 S 3 8 S 4 9 S 4 10 END END STR3 LONE 2 1 4 1 END BOND S 1 2 D 1 3 S 1 4 S 2 5 S 2 6 S 3 7 S 3 8 S 4 9 S 4 10 END END STR4 LONE 2 1 3 1 END BOND S 1 2 S 1 3 D 1 4 S 2 5 S 2 6 S 3 7 S 3 8 S 4 9 S 4 10 END END $END 注:单个可能的共振结构由LONE和BOND说明 (1) LONE指明孤对电子(Lone Pair)在几号原子上和有多少对LP LONE 2 1 3 1 4 1 END 说明在原子序号为2,3,4的原子上分别各有一对孤对电子 (2) BOND指明键级 S 1 2 说明在原子1,2之间有单键single D 1 3 说明在原子1,3之间有双键double (T n m 说明在原子n,m之间有三键triple) 上例指明了guanidinium离子的4个可能的共振结构 3. 然后运行gennbo $> gennbo < MYJOB.47 > MYJOB.log 即可得到结果 STR1: 0% STR2: 31.65% STR3: 31.65% STR4: 31.65% 为什么总和不是100%呢?还有5%哪去了?看来要仔细阅读manual,看看这个百分比贡献是如何计算出来的,也欢迎指教。 参考: 1. NBO5官方网站: http://www.chem.wisc.edu/~nbo5 2. Grigoriy A. Sereda, "Introduction to GAUSSIAN 98W and GENNBOW 5.0" 3. NBO5 Manual, http://www.mdbbs.org/thread-17437-1-2.html by ChemiAndy from一花一世界@百度空间 [ Last edited by yjcmwgk on 2010-9-25 at 15:14 ] 上传gennbo.f 可用fortran编译器编译 $ ifort gennbo.f[ Last edited by ChemiAndy on 2011-9-15 at 06:38 ] MYJOB.47的文件输入有错:gdn应该只有两个共振结构。三根单键的非极性结构,和两单一双的极性结构。极性结构虽然有三个isomer, 但NBO只需要输入1个,否则得到错误的结果。 上面例子中的结果就是错的,它得到 三根单键的非极性结构 0% 两单一双的极性结构 94.94% 正确的结果应该为 三根单键的非极性结构 7.45% 两单一双的极性结构 58.82% 正确的MYJOB.47部分为(去掉最后两个重复的两单一双的极性结构的定义即可) 另外一个例子BF3,共振结构定义: 参考结果: 三根单键的非极性结构:78% 两单一双的极性结构: 4% [ Last edited by ChemiAndy on 2015-3-16 at 07:38 ] |
» 收录本帖的淘帖专辑推荐
模型 - 模拟 - 统计 - 热力学 | MS资料 | 气态分子化学动力学 | VASP |
» 猜你喜欢
香港理工大学计算材料与物理课题组招聘博后
已经有15人回复
西班牙Institut Català de Nanociència i Nanotecnologia, CSIC-BIST招收公派博士生
已经有0人回复
物理化学论文润色/翻译怎么收费?
已经有201人回复
英国利物浦大学屠昕和雍雪课题组招收CSC博士生
已经有27人回复
北京交通大学王熙教授团队招收2026年入学催化方向博士研究生(还有1个名额)
已经有0人回复
华北电力大学(北京)(第一性原理计算)博士招生——学博,专博各1人
已经有45人回复
[电子教材]天津大学物理化学(第七版)上、下册
已经有1人回复
阴离子交换膜电解二氧化碳还原
已经有0人回复
英国贝尔法斯特女王大学招收 2026 年 CSC/BBSRC phd 机器学习 催化剂设计方向
已经有0人回复
法国里昂大学招生CSC 资助博士生
已经有0人回复
法国里昂大学接收CSC 资助访问学者
已经有0人回复
» 本主题相关商家推荐: (我也要在这里推广)
» 本主题相关价值贴推荐,对您同样有帮助:
SUSE Linux系统下安装gfortran编译器
已经有7人回复
为什么我的只有查看源文件?没有查看源代码?
已经有5人回复
Fortran程序在linux下编译的问题
已经有5人回复
module无法编译?
已经有4人回复
lammps下载及安装教程
已经有8人回复
怎样在linux系统上提交高斯的输入文件,运算已经查看输出文件
已经有3人回复
Linux下编译F程序的问题
已经有4人回复
Fortran变量格式
已经有3人回复
linux系统下求fortran编译器
已经有12人回复
各位高手,怎么在windows下编译LAMMPS?
已经有4人回复
Linux ubantu下gcc编译出现错误,如何解决?这是两次makefile的结果。
已经有4人回复
【求助】怎样把linux的bash脚本编译成windows下的可执行文件(.exe)
已经有16人回复
【求助】linux下查看优化的分子结构的问题
已经有6人回复
【求助】200 重金求购软件 NBO5.0 以及NBOView
已经有8人回复
【原创】精简Linux内核编译的简单方法
已经有5人回复
【求助】.47文件如何产生
已经有13人回复
【求助】linux下lapack库编译测试错误
已经有3人回复
【原创】成功编译NBO 5.G on GAMESS (January 12, 2009 R3.)
已经有26人回复
【原创】linux 下 icc+MKL 方案编译安装 gamess
已经有62人回复
sjzxbe
木虫 (小有名气)
- 应助: 11 (小学生)
- 金币: 2090.2
- 红花: 6
- 帖子: 277
- 在线: 288小时
- 虫号: 481255
- 注册: 2007-12-17
- 性别: GG
- 专业: 理论和计算化学
2楼2010-08-13 06:57:17
erylingjet
铁杆木虫 (著名写手)
- 应助: 0 (幼儿园)
- 贵宾: 5.372
- 金币: 9933.4
- 散金: 752
- 红花: 2
- 帖子: 2248
- 在线: 241.5小时
- 虫号: 415302
- 注册: 2007-06-28
- 性别: GG
- 专业: 计算化学
★
小木虫(金币+0.5):给个红包,谢谢回帖交流
小木虫(金币+0.5):给个红包,谢谢回帖交流
|
按照您说的从头到尾,没出现任何问题,到这一步,说是: -bash :gennbo: command not found 如果直接./gennbo的话,出现如下错误: forrtl: Illegal seek forrtl: severe (20): REWIND error, unit 5, file /dev/pts/6 Image PC Routine Line Source gennbo 00000000004FE383 Unknown Unknown Unknown gennbo 00000000004FC862 Unknown Unknown Unknown gennbo 00000000004D6E70 Unknown Unknown Unknown gennbo 00000000004A536E Unknown Unknown Unknown gennbo 00000000004A4FCF Unknown Unknown Unknown gennbo 00000000004BA2CA Unknown Unknown Unknown gennbo 000000000040DCA5 Unknown Unknown Unknown gennbo 0000000000403030 Unknown Unknown Unknown gennbo 0000000000402FCC Unknown Unknown Unknown gennbo 0000000000402F2A Unknown Unknown Unknown libc.so.6 00000033B151C4BB Unknown Unknown Unknown gennbo 0000000000402E6A Unknown Unknown Unknown 请多指教! |
3楼2010-09-25 15:07:07
calfwoo
金虫 (小有名气)
- 应助: 0 (幼儿园)
- 金币: 1812.1
- 红花: 2
- 帖子: 171
- 在线: 276.9小时
- 虫号: 97355
- 注册: 2005-11-08
- 性别: GG
- 专业: 理论和计算化学
4楼2010-09-26 15:45:11
erinic
新虫 (正式写手)
- 应助: 12 (小学生)
- 金币: 2045.2
- 散金: 743
- 红花: 3
- 帖子: 499
- 在线: 179.1小时
- 虫号: 1099432
- 注册: 2010-09-15
- 性别: GG
- 专业: 理论和计算化学
5楼2011-01-16 17:07:15
kathy2008
木虫 (正式写手)
- 应助: 0 (幼儿园)
- 金币: 2161.5
- 红花: 2
- 帖子: 328
- 在线: 213.2小时
- 虫号: 558502
- 注册: 2008-05-15
- 性别: GG
- 专业: 材料物理化学
★
小木虫(金币+0.5):给个红包,谢谢回帖交流
小木虫(金币+0.5):给个红包,谢谢回帖交流
|
可否传一份NBO5.G Standalone (GENNBO) Linux,去分子模拟论坛下载不下来,积分不够。邮箱yhuaqing2008@gmail.com,谢谢。 |
6楼2011-03-02 14:12:23
kathy2008
木虫 (正式写手)
- 应助: 0 (幼儿园)
- 金币: 2161.5
- 红花: 2
- 帖子: 328
- 在线: 213.2小时
- 虫号: 558502
- 注册: 2008-05-15
- 性别: GG
- 专业: 材料物理化学
7楼2011-03-09 14:27:37
ifmc1234
木虫 (著名写手)
- 应助: 18 (小学生)
- 金币: 2797.9
- 散金: 6001
- 红花: 14
- 帖子: 1761
- 在线: 572.6小时
- 虫号: 825500
- 注册: 2009-08-10
- 专业: 理论和计算化学
8楼2011-04-29 21:53:32
★
小木虫(金币+0.5):给个红包,谢谢回帖
小木虫(金币+0.5):给个红包,谢谢回帖
|
请教lz关于.47文件的生成问题。 按照你的帖子,生成.47文件应该输入 # rb3lyp/6-311++g(d,p) pop=NBOread 我的问题是, rb3lyp/6-311++g(d,p)起什么作用?如果我输入的结构已经用 rb3lyp/6-311++g(d,p)优化好了,还需要输入 rb3lyp/6-311++g(d,p)吗?我尝试了直接用pop=NBOread,gaussian默认的基组是STO-3g,也产生了.47文件。 这样产生的.47文件与# rb3lyp/6-311++g(d,p) pop=NBOread是否是一样的? |
9楼2011-07-25 11:34:43
ChemiAndy
木虫 (正式写手)
- QC强帖: 3
- 应助: 52 (初中生)
- 金币: 2573.3
- 散金: 18
- 红花: 104
- 帖子: 590
- 在线: 553.8小时
- 虫号: 836907
- 注册: 2009-08-30
- 性别: GG
- 专业: 理论和计算化学
10楼2011-07-25 18:17:16













回复此楼
