| 5 | 1/1 | 返回列表 |
| 查看: 4264 | 回復(fù): 12 | |||||||
| 本帖產(chǎn)生 1 個(gè) QC強(qiáng)帖 ,點(diǎn)擊這里進(jìn)行查看 | |||||||
| 當(dāng)前只顯示滿足指定條件的回帖,點(diǎn)擊這里查看本話題的所有回帖 | |||||||
ChemiAndy木蟲(chóng) (正式寫手)
|
[交流]
【ChemiAndy個(gè)人文集】NBO5.G Standalone (GENNBO) Linux下的編譯和使用 已有9人參與
|
||||||
|
(此帖已在mdbbs.org發(fā)過(guò),所帶附件可去那邊下載) 我需要計(jì)算Guanidinium ion的多個(gè)resonance structure對(duì)overall structure的相對(duì)貢獻(xiàn)(百分比)。經(jīng)google,從這個(gè)教程(猛擊: Introduction to GAUSSIAN 98W and GENNBOW 5.0 NBO)了解到,需要使用NBOGEN。此GENNBO似乎并沒(méi)有集成在Gaussian03/09所帶的NBO3.X中,故需使用NBO源代碼編譯所謂的standalone程序gennbo. 編譯很不順利,輾轉(zhuǎn)搜索很多信息方得以通過(guò),因此記下來(lái)供別人參考。 我的編譯平臺(tái): 硬件: AMD64 OS: Ubuntu 10.04 編譯器: Intel fortran compiler 11 (ifort) (安裝ifort請(qǐng)參考這里) 如下編譯過(guò)程分為4個(gè)步驟,下載,劈分源代碼nbo_5g.src,重新生成源代碼gennbo.f,修改bug并編譯。 陰影中文字為linux命令和輸出。 1. 小木蟲(chóng)論壇下載源代碼: http://www.mdbbs.org/viewthread.php?tid=12591&highlight=nbo 解壓后,應(yīng)當(dāng)是名為nbo_5g.src的源文件(52192行)和一個(gè)enable.f (560行)的文件。 2. 生成gennbo.f (1) 首先將nbo_5g.src轉(zhuǎn)成linux格式,并劈成2個(gè)文件 NBO_5GA.SRC: 包括nbo_5g.src的前25134行,此部分包括主要的NBO計(jì)算 NBO_5GB.SRC: nbo_5g.src的其余部分,即后27070行,此部分包括所有的NRT計(jì)算 格式轉(zhuǎn)換 $> dos2unix * //Ubuntu10.04中沒(méi)有dos2unix,可以安裝"apt-get install tofrodos"然后用"fromdos *"命令轉(zhuǎn)換格式 文件分割: $> head -25125 nbo_5g.src >> NBO_5GA.SRC $> tail -27067 nbo_5g.src >> NBO_5GB.SRC 確認(rèn)你得到的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, 并執(zhí)行它獲得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 //沒(méi)錯(cuò),選擇32bit,盡管我們的平臺(tái)是64bit,見(jiàn)后記 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前補(bǔ)2個(gè)右括號(hào) (2) 搜索 IF(MORB.EQ.0.AND.NAMEAT(IATNO(NCTR).NE.'gh') THEN 在THEN前補(bǔ)1個(gè)右括號(hào) (所補(bǔ)括號(hào)要跟在原括號(hào)后, THEN前必須有空格) 感謝參考2中demonangel 的討論,不修改這2處bug很難編譯通過(guò)。 4. 編譯gennbo.f $> ifort gennbo.f -o gennbo 應(yīng)該沒(méi)有任何warning或error,隨后得到可執(zhí)行的gennbo; 使用gfortran編譯時(shí)得到一大堆warning,沒(méi)有通過(guò),遂放棄。 5. 關(guān)于所需的內(nèi)存大小,可以直接從gennbo的log文件的前幾行讀出來(lái), Storage needed: 85140 in NPA, 68112 in NBO ( 20000000 available) 上面為10原子使用6-311++G(d,p)基組,僅使用85K+68K=~150K的內(nèi)存,說(shuō)明NBO計(jì)算不太消耗內(nèi)存,源代碼所設(shè)定的20M對(duì)于大型體系也應(yīng)該是足夠的。否則可以通過(guò)查找gennbo.f中的"MEMORY = 20000000" 然后修改為你所需的。注意20后面6個(gè)0表示20M。 關(guān)于如何通過(guò)GENNBO計(jì)算各共振結(jié)構(gòu)的貢獻(xiàn),請(qǐng)看下一篇博文。 參考: 1. "成功編譯NBO 5.G on GAMESS (January 12, 2009 R3.)" http://www.gaoyang168.com/html/201001/1808338.html 2. http://58.213.153.47/viewthread. ... p;extra=&page=2 ************************ 后記:我原先按照參考1(GAMESS編譯)切割nbo_5g.src,編譯成功后,測(cè)試表明得到的程序不能正常計(jì)算,因?yàn)橐话阋粋(gè)NBO分析應(yīng)該是1-2分鐘的事情,但是它既不退出,也不報(bào)錯(cuò),查看log file,只有聊聊數(shù)行,因此,只能強(qiáng)行退出。 后來(lái),仔細(xì)看了看NBO_5GA.SRC, 和NBO_5GB.SRC,發(fā)現(xiàn)它切割的地方很奇怪,于是從5GA的末端找到NRT部分開(kāi)始的地方,全部復(fù)制到5GB的前面,重新編譯。還是不行,運(yùn)算陷入死循環(huán)。 后來(lái)還按照NBO5 FAQ 使用古老的g77編譯,但是編譯無(wú)法通過(guò),提示COMMON BLOCK的大小不匹配。就在已經(jīng)絕望之后,發(fā)生了一件古怪的事情,我再次用ifort編譯,得到的程序運(yùn)算一切正常。所有的計(jì)算在幾十秒內(nèi)成功完成。。。哥,這到底是為什么? 后來(lái)用UltraCompare仔細(xì)比較,原來(lái)是我無(wú)意中在enable那一步使用了32bit,而只有選擇32bit編譯才能通過(guò),正確地選擇 64bit卻全部失敗... 神奇的NBO5...或者, 只是我的平臺(tái)的問(wèn)題。那么,前一步切割NBO文件的位置到底有沒(méi)有影響呢?從enable.f的源碼去讀,應(yīng)該沒(méi)有影響。所以,如果你的編譯出了問(wèn)題,不要放棄,just keep trying... 附件: (1) 我得到的gennbo.f。這樣你無(wú)須去切割和修改bug,直接使用“ifort gennbo.f -o gennbo"搞它。前提是你必須是64位linux。否則按照我上面的順序折騰。 (2) 我得到的gennbo程序,如果你使用和我相同的平臺(tái)(AMD64-4cores/Ubuntu10.04),或許可以執(zhí)行,我沒(méi)有嘗試。 NBO5.G Standalone (GENNBO) Linux下的編譯和使用(二) 下面說(shuō)明使用NBO計(jì)算某一分子(Guanidinium as an example)個(gè)共振式對(duì)總體結(jié)構(gòu)的相對(duì)貢獻(xiàn)百分比。 Guanidinium離子(C+(NH2)3) 理論上有4種最可能的共振式,下面的計(jì)算表明只有3種共振式對(duì)總體結(jié)構(gòu)有貢獻(xiàn)。 過(guò)程很簡(jiǎn)單,用gauss03/09生成.47文件,然后.47作為輸入文件用gennbo跑一下即可。 gennbo的運(yùn)行很簡(jiǎn)單: $> gennbo < input.47 > output.log //PS: replace "input / output" with your file name 關(guān)鍵是input.47文件的生成。它是由gaussian 98/03/09 計(jì)算生成的。 1. .47文件的生成 生成這個(gè)文件的輸入文件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: 此行前后均需一空行 運(yùn)行g(shù)aussian $> g09 job.gjf job.log 即可得到 MYJOB.47文件 // PS: replace MYJOB with any name you like 2. 修改MYJOB.47文件 將如下內(nèi)容替換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 注:?jiǎn)蝹(gè)可能的共振結(jié)構(gòu)由LONE和BOND說(shuō)明 (1) LONE指明孤對(duì)電子(Lone Pair)在幾號(hào)原子上和有多少對(duì)LP LONE 2 1 3 1 4 1 END 說(shuō)明在原子序號(hào)為2,3,4的原子上分別各有一對(duì)孤對(duì)電子 (2) BOND指明鍵級(jí) S 1 2 說(shuō)明在原子1,2之間有單鍵single D 1 3 說(shuō)明在原子1,3之間有雙鍵double (T n m 說(shuō)明在原子n,m之間有三鍵triple) 上例指明了guanidinium離子的4個(gè)可能的共振結(jié)構(gòu) 3. 然后運(yùn)行g(shù)ennbo $> gennbo < MYJOB.47 > MYJOB.log 即可得到結(jié)果 STR1: 0% STR2: 31.65% STR3: 31.65% STR4: 31.65% 為什么總和不是100%呢?還有5%哪去了?看來(lái)要仔細(xì)閱讀manual,看看這個(gè)百分比貢獻(xiàn)是如何計(jì)算出來(lái)的,也歡迎指教。 參考: 1. NBO5官方網(wǎng)站: 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的文件輸入有錯(cuò):gdn應(yīng)該只有兩個(gè)共振結(jié)構(gòu)。三根單鍵的非極性結(jié)構(gòu),和兩單一雙的極性結(jié)構(gòu)。極性結(jié)構(gòu)雖然有三個(gè)isomer, 但NBO只需要輸入1個(gè),否則得到錯(cuò)誤的結(jié)果。 上面例子中的結(jié)果就是錯(cuò)的,它得到 三根單鍵的非極性結(jié)構(gòu) 0% 兩單一雙的極性結(jié)構(gòu) 94.94% 正確的結(jié)果應(yīng)該為 三根單鍵的非極性結(jié)構(gòu) 7.45% 兩單一雙的極性結(jié)構(gòu) 58.82% 正確的MYJOB.47部分為(去掉最后兩個(gè)重復(fù)的兩單一雙的極性結(jié)構(gòu)的定義即可) 另外一個(gè)例子BF3,共振結(jié)構(gòu)定義: 參考結(jié)果: 三根單鍵的非極性結(jié)構(gòu):78% 兩單一雙的極性結(jié)構(gòu): 4% [ Last edited by ChemiAndy on 2015-3-16 at 07:38 ] |
模型 - 模擬 - 統(tǒng)計(jì) - 熱力學(xué) | MS資料 | 氣態(tài)分子化學(xué)動(dòng)力學(xué) | VASP |
金蟲(chóng) (正式寫手)
|
請(qǐng)教lz關(guān)于.47文件的生成問(wèn)題。 按照你的帖子,生成.47文件應(yīng)該輸入 # rb3lyp/6-311++g(d,p) pop=NBOread 我的問(wèn)題是, rb3lyp/6-311++g(d,p)起什么作用?如果我輸入的結(jié)構(gòu)已經(jīng)用 rb3lyp/6-311++g(d,p)優(yōu)化好了,還需要輸入 rb3lyp/6-311++g(d,p)嗎?我嘗試了直接用pop=NBOread,gaussian默認(rèn)的基組是STO-3g,也產(chǎn)生了.47文件。 這樣產(chǎn)生的.47文件與# rb3lyp/6-311++g(d,p) pop=NBOread是否是一樣的? |
木蟲(chóng) (小有名氣)
鐵桿木蟲(chóng) (著名寫手)
|
按照您說(shuō)的從頭到尾,沒(méi)出現(xiàn)任何問(wèn)題,到這一步,說(shuō)是: -bash :gennbo: command not found 如果直接./gennbo的話,出現(xiàn)如下錯(cuò)誤: 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 請(qǐng)多指教! |
金蟲(chóng) (小有名氣)
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 求調(diào)劑 +7 | 十三加油 2026-03-21 | 7/350 |
|
|---|---|---|---|---|
|
[考研] 341求調(diào)劑(一志愿湖南大學(xué)070300) +5 | 番茄頭--- 2026-03-22 | 6/300 |
|
|
[考研]
|
pk3725069 2026-03-19 | 16/800 |
|
|
[考研] 一志愿重慶大學(xué)085700資源與環(huán)境,總分308求調(diào)劑 +7 | 墨墨漠 2026-03-23 | 8/400 |
|
|
[考研] 求調(diào)劑一志愿武漢理工大學(xué)材料工程(085601) +3 | WW.' 2026-03-23 | 5/250 |
|
|
[考研] 接收2026碩士調(diào)劑(學(xué)碩+專碩) +4 | allen-yin 2026-03-23 | 6/300 |
|
|
[考研] 306求調(diào)劑 +5 | 來(lái)好運(yùn)來(lái)來(lái)來(lái) 2026-03-22 | 5/250 |
|
|
[考研] 求調(diào)劑 +7 | Auroracx 2026-03-22 | 7/350 |
|
|
[考研] 一志愿南大,0703化學(xué),分?jǐn)?shù)336,求調(diào)劑 +3 | 收到VS 2026-03-21 | 3/150 |
|
|
[考研] 313求調(diào)劑 +4 | 肆叁貳壹22 2026-03-19 | 4/200 |
|
|
[考研] 279求調(diào)劑 +5 | 紅衣隱官 2026-03-21 | 5/250 |
|
|
[考研] 求調(diào)劑 +3 | 白QF 2026-03-21 | 3/150 |
|
|
[考研] 301求調(diào)劑 +10 | yy要上岸呀 2026-03-17 | 10/500 |
|
|
[考研] 304求調(diào)劑 +6 | 曼殊2266 2026-03-18 | 6/300 |
|
|
[考研] 295求調(diào)劑 +4 | 一志愿京區(qū)211 2026-03-18 | 6/300 |
|
|
[考研] 一志愿武漢理工材料工程專碩調(diào)劑 +9 | Doleres 2026-03-19 | 9/450 |
|
|
[考研] 353求調(diào)劑 +3 | 拉鉤不許變 2026-03-20 | 3/150 |
|
|
[考研] 0703化學(xué)調(diào)劑 +4 | 18889395102 2026-03-18 | 4/200 |
|
|
[考研] 考研求調(diào)劑 +3 | 橘頌. 2026-03-17 | 4/200 |
|
|
[考研] 考研調(diào)劑 +3 | 淇ya_~ 2026-03-17 | 5/250 |
|