| 31 | 1/1 | 返回列表 |
| 查看: 8217 | 回復: 30 | |||||||||||||||
| 【獎勵】 本帖被評價25次,作者sobereva增加金幣 20 個 | |||||||||||||||
| 本帖產生 1 個 QC強帖 ,點擊這里進行查看 | |||||||||||||||
[資源]
使用Multiwfn繪制NBO及相關軌道
|
|||||||||||||||
|
使用Multiwfn繪制NBO及相關軌道 1 前言 NBO程序輸出的軌道包括NBO(自然鍵軌道)、NHO(自然雜化軌道)、NAO(自然原子軌道)、NLMO(自然定域化分子軌道),以及前頭帶P的類型,如PNBO(初自然鍵軌道)。NBO程序輸出的plot文件包含了這些軌道的一切信息。 可視化這些軌道有很多方法: (1)對于Gaussian用戶,可以用pop=saveNBO或pop=saveNLMO將NBO和NLMO軌道寫入chk文件中,再用Gaussview觀看。但是對于其它類型軌道就沒轍了。 (2)用ChemCraft。這個軟件是收費的,而且我曾發(fā)現(xiàn)在基組含有高角動量函數(shù)時這個程序給出的圖形是明顯錯誤的。 (3)用NBOView。這個程序也是收費的,而且界面設計非常落伍,操作不便。 (4)用Zork編寫的NBO2molden程序將NBO plot文件轉換為Molden的輸入文件,然后用Molden程序去看。然而Molden這個程序我認為很不好用。 Multiwfn是一款免費、開源的波函數(shù)分析程序,很早就開始支持讀入NBO plot文件來繪制前述各種類型軌道,可以很方便地顯示等值面圖,也能繪制出各種各樣漂亮的截面圖,操作很方便,可以從http://multiwfn.codeplex.com下載。從2.3.3版開始還可以同時繪制兩條軌道,對于分析軌道間重疊很有用。在繪制NBO相關軌道方面Multiwfn是最佳選擇。本文將介紹如何用Multiwfn繪制NBO軌道,其過程也同樣適用于繪制分子軌道、自然軌道等。 2 輸入文件 這一節(jié)介紹一下怎樣產生能夠讓Multiwfn顯示NBO及相關軌道的輸入文件。Gaussian的fch文件和NBO plot文件都可以用作Multiwfn的輸入文件。 對于Gaussian用戶,可以在route section里寫上pop=saveNBO或pop=saveNLMO,這樣NBO軌道和NLMO就會分別代替分子軌道儲存在chk文件里。然后用formchk程序將chk文件轉化為fch文件,就可以讀入Multiwfn來看NBO和NLMO了。注意fch文件中的軌道編號和Gaussian的NBO 3.1模塊(L607)顯示的軌道編號不全一致,在存入fch文件時會進行重排,NBO模塊輸出信息末尾的Sorting of NBOs和Reordering of NBOs for storage部分顯示的序號是重排前后的對應關系。 如果想看NBO和NLMO以外的軌道,就只能用NBO plot文件了。做法是在Gaussian輸入文件中加上pop=nboread關鍵詞,在末尾空一行寫上比如$NBO plot file=c:\ltwd\NH2COH $END,用Gaussian運行后就會有一批NBO plot文件NH2COH.31、NH2COH.32 ... NH2COH.41在c:\ltwd下面生成。.31文件儲存的是基函數(shù)信息,.32~.40分別儲存的是PNAO/NAO/PNHO/NHO/PNBO/NBO/PNLMO/NLMO的展開系數(shù)信息。.41是密度矩陣信息,對繪制軌道沒直接用處。 如果用的是獨立版本的NBO程序,即GENNBO,比如想在h:\Yuri目錄下生成NBO plot文件的話就將GENNBO輸入文件(.47)開頭的$NBO和$END中間寫上plot file=h:\Yuri\NH2COH然后用GENNBO運行即可。 本文的例子都是B3LYP/6-31G**下的甲酰胺,Gaussian輸入文件如下 %chk=C:\gtest\NH2COH.chk # B3LYP/6-31G** opt pop=nboread B3LYP/6-31G** opt 0 1 C -0.03549095 -0.45781414 0.00000000 H -0.01702195 -1.52765473 0.00000000 O -1.28606421 0.23570336 0.00000000 N 1.07346837 0.20822655 0.00000000 H 1.05620762 1.20807757 0.00000000 H 1.94799512 -0.27675072 0.00000000 $NBO plot file=c:\NH2COH $END 3 繪制軌道等值面圖 啟動Multiwfn,然后輸入.fch文件或.31文件的路徑。如果用的是后者,程序會讓你再輸入.32~.40文件中的一個,輸入哪個取決于要繪制哪種軌道,比如要看PNHO,就要輸入.34文件的路徑,假設你先輸入的是c:\Rio_rainbow_gate\RioXLina\NH2COH.31,而.34文件就在這個.31文件所在路徑下,那么直接輸入數(shù)字34就可以了,可以免得輸入完整的路徑。 接下來輸入0就會在文本窗口中輸出所有原子的坐標,并彈出用于觀看分子結構和軌道等值面的窗口,如下所示,圖中顯示的是12號NBO。 此界面的各個物件的用途稍微玩弄一下就明白了,在手冊3.2節(jié)也有詳細說明。右下角是軌道列表,點擊其中一個就會馬上在圖形窗口中顯示相應的等值面,十分方便省事,等值面生成速度也比起Gaussview等程序快得多。注意,如果使用.fch作為輸入文件,如前所述其中軌道序號已經被重排,所以選擇軌道列表中的第X號所顯示的未必是NBO輸出信息中的第X號軌道的等值面。 從NBO模塊的二階微擾能的分析結果看,NBO 12(N的孤對電子軌道)和NBO 56(C-O的反π鍵)之間有很強的相互作用,這能夠使體系能量下降62.8kcal/mol。像這種情況,同時繪制兩條軌道的圖形來分析它們的相位交疊是很有意義的。為了做這樣的圖,我們先從軌道列表中選12,然后選中Show+Sel. isosur#2復選框(全稱是Show and select isosurface #2),再從列表中選56,這兩條軌道就都顯示出來了,如下所示 沒有選中Show+Sel. isosur#2復選框時選擇的軌道所產生的等值面被稱為Isosurface #1,選中了此復選框再選的軌道所產生的等值面被稱為Isosurface#2。只有已經出現(xiàn)了Isosurface #1時這個復選框才允許選。如果取消選擇此復選框,則已出現(xiàn)的Isosurface #2將會消失,若再次選中此復選框,之前消失的那個Isosurface #2又會重新出現(xiàn)。 Isosurface #1的正值和負值部分的等值面用綠色和藍色表示。為了區(qū)分,Isosurface #2的正值和負值部分等值面分別用黃綠色和紫色表示。等值面的風格可以通過界面上方Isosur#1 style和Isosur#2 style中的相應選項設定,可選的風格有:不透明面、網、點、不透明面+網這四種,在下個版本中還會加入透明面的風格。不透明面的顏色以及網/點的顏色也都可以通過Isosur#1 style和Isosur#2 style中的相應選項進行設定,程序會讓你輸入R,G,B(紅、綠、藍)分量的值,每個分量值的范圍應在0.0~1.0以內,例如0,1,0就代表綠色、1,1,0就代表黃色。R,G,B值需要輸入兩次,第一次是設定等值面正值部分的顏色,第二次是設定負值部分的顏色,文本框內直接出現(xiàn)的數(shù)值是當前R,G,B值。風格和顏色在設定后會立刻在屏幕上生效。 上面圖中的NBO 12和NBO 56的等值面都是不透明的,分析重疊程度比較困難,將兩個等值面都設為網狀風格后如下所示,交疊區(qū)域看起來清晰了。它們之間存在很明顯的交疊,是它們之間二階微擾能很大的主要原因之一。 實際上,在顯示軌道等值面之前,程序會先計算出一個涵蓋整個分子空間范圍的軌道波函數(shù)的格點數(shù)據(jù),這個格點數(shù)據(jù)的格點密度越大,即相同空間范圍內的點數(shù)越多,則等值面越精細。為了生成等值面速度比較快,默認的點數(shù)并不多。尤其當體系較大時,由于格點密度往往較稀疏,等值面會顯得不夠光滑,可以通過增加格點數(shù)來提高等值面顯示效果。方法是選擇窗口上方的Isosur. quality,點擊其中的按鈕后可以輸入所期望的格點數(shù)。重新設定格點數(shù)之后,目前顯示的等值面都會自動消除,之后再選擇軌道所生成的等值面都會套用剛才輸入的設定。 4 生成軌道波函數(shù)格點文件并用VMD繪圖 雖然直接用Multiwfn來產生NBO及相關軌道等值面圖一般夠用了,但是為了追求更好的顯示效果且不嫌麻煩,可以借助于更專業(yè)的能夠顯示格點數(shù)據(jù)的程序,這里推薦VMD,可以在http://www.ks.uiuc.edu/Research/vmd/免費下載,本文用的是1.9版。 這里還是以同時顯示NBO 12和NBO 56的等值面圖為例。首先需要用Multiwfn分別生成NBO 12和NBO 56對應的.cub格點文件。啟動Multiwfn,輸入.fch或NBO plot文件名后依次輸入 5 //生成格點數(shù)據(jù) 4 //軌道波函數(shù) 12 //NBO 12 2 //中等質量格點數(shù)據(jù) 2 //將生成的格點數(shù)據(jù)保存到當前目錄下MOvalue.cub中。然后我們將此文件改名為NBO12.cub 0 //返回主界面 5 //生成格點數(shù)據(jù) 4 //軌道波函數(shù) 56 //NBO 56 2 //中等質量格點數(shù)據(jù) 2 //將生成的格點數(shù)據(jù)保存到當前目錄下MOvalue.cub中。然后我們將此文件改名為NBO56.cub 現(xiàn)在關閉Multiwfn,啟動VMD,將NBO12.cub和NBO56.cub依次拖進VMD主窗口。選主界面中的Graphics-representations,將新窗口上方的Selected Molecule切換到NBO 12。將已有的那個顯示方式的Drawing Method改為CPK。然后點Create Rep,將新產生的顯示方式的Drawing Method改為Isosurface,Draw改成Solid Surface,Show改成Isosurface,Isovalue改為0.05,將Coloring Method改為ColorID并在旁邊選7 Green。然后再以相同的方式建一個顯示方式,但ColorID選0 Blue,Isovalue改為-0.05。這時NBO 12的等值面就出現(xiàn)了。之后在Selected Molecule中切換到NBO56,按照處理NBO 12的方法也通過建立兩個顯示方式來顯示NBO 56的等值面。得到的圖像如下 在VMD中這兩個軌道的等值面還可以用透明的方式顯示。將前面建立的四個顯示方式中的Material都設為GlassBubble,然后在主界面里面選Graphics-Colors-Display-Background-8 white將背景變?yōu)榘咨,在主界面里選Display-Rendermode-GLSL,就能看到希望的效果。如果想獲得更好效果可以用渲染器(當GLSL無法打開時,也只能通過渲染器才能獲得透明效果)。例如,在主界面的File-Render里面選Tachyon (internal, in-memory rendering)然后點Start Rendering,就會出現(xiàn)下面的圖,重疊區(qū)域顯示得相當清楚。 在Multiwfn里不能同時顯示多于兩條軌道的等值面(因為這種情況一般很少涉及,所以不打算支持)。如果想同時顯示三條及以上軌道的等值面的話,就只能用VMD來實現(xiàn)。方法很簡單,就是將更多的軌道的cub文件拖進VMD里并進行同樣的設置即可,想同時顯示多少條軌道都沒問題。 5 生成軌道波函數(shù)等值線圖 Multiwfn能夠繪制的平面圖種類很多,包括填色圖、等值線圖、地形圖、梯度線圖、向量場圖。繪制過程很簡單,選項也很靈活,在Multiwfn手冊的4.4節(jié)里給出了很多實例。這里只介紹一下如何作同時含有兩個軌道的等值線圖(其它類型的圖只能一次做一個軌道的)。 這次還是作NBO 12和NBO 56的圖,對于表現(xiàn)它們的交疊情況,最合適的作圖平面應當是垂直于分子面且穿過N和C的那個平面。這個面不是XY/YZ/XZ面之一,也沒法用三個原子坐標來定義。在Multiwfn里定義這個面最好通過指定的三個坐標點來定義。第一個和第二個點的坐標就設為C和N的坐標,而第三個點的坐標設為在C或者N的坐標的基礎上往Z方向稍微移動一點(Z軸垂直于分子平面)。 啟動Multiwfn,載入.31和.37文件(或載入.fch文件),然后依次輸入 4 //繪制平面圖 4 //軌道波函數(shù) 12,56 //兩個NBO軌道的編號。如果只輸入一條軌道的編號,做出來的圖就是一條軌道的 直接敲回車,用默認的格點設定 5 //通過輸入三個坐標點來定義作圖平面 0.000000 0.794089 0.000000 //第一個坐標點,即C的位置。X/Y/Z坐標可以用逗號或空格來分隔,單位是bohr。在進入主功能0的時候屏幕上就會出現(xiàn)各個原子的坐標,可以直接將其拷貝下來粘貼到此處,如果不知道怎么拷貝,可以參見手冊5.4節(jié) -1.778942 -1.064235 0.000000 //第二個坐標點,即N的位置 -1.778942 -1.064235 1.000000 //第三個坐標點,是在N的位置的基礎上往Z正方向挪了1 bohr得到的。挪的距離需要反復嘗試找到最佳的,不合適的值會使感興趣的區(qū)域不在圖的中央。 得到的圖是如下這樣的,實線和虛線代表正值和負值部分 這個圖看起來比較亂,這是因為在默認的等值線設定下,數(shù)值比較小的等值線也顯示了出來,然而這些較小數(shù)值的等值線的意義并不大。為了讓圖看起來比較清楚,應該刪除一些數(shù)值較小的等值線。因此在圖上點鼠標右鍵關閉之,然后輸入 3 //設定等值線 5 //刪除一批等值線 1,4 //刪除1至4號等值線,即分別為0.001, 0.002, 0.004, 0.008的四條 5 //再刪除一批等值線 28,31 //刪除28至31號等值線,即分別為-0.001, -0.002, -0.004, -0.008的四條。如果嫌每次作類似的圖都要刪等值線比較麻煩,可以接下來選6來將當前等值線設定保存到指定的外部文本文件里,下次再進入這個設定界面時可以選7來從指定的外部文件中讀入等值線設定 1 //退出等值線設定界面 2 //令等值線數(shù)值顯示在圖中 25 //等值線數(shù)值的文字大小設為25 -1 //重新繪制圖像 此時得到如下圖像,可見絕對值大小低于0.008的等值線都沒了,圖像也變得十分清楚,很方便分析交疊區(qū)域。 只有與繪圖平面垂直距離小于特定距離的原子的符號才會顯示在圖中,這個距離閾值以及符號大小分別由settings.ini里的disshowlabel和pleatmlabsize參數(shù)調節(jié),修改后需重新啟動Multiwfn方可生效。 6 結合Photoshop同時繪制兩條以上軌道的等值線圖 個別時候需要分析一個NBO軌道與多個NBO軌道的相互作用,這時可能需要同時繪制三條或更多條的軌道的等值線圖。雖然Multiwfn不直接支持這種情況,但是通過利用Photoshop(以下簡稱ps),可以很容易地實現(xiàn),而且借助于ps強大的功能,在線條風格上可以更自由地控制。 這個例子中,我們要將NH2CHO的NBO 4的等值線圖利用ps疊加在上一節(jié)得到的NBO 12和NBO 56的等值線圖上。NBO 4是C-N間的σ成鍵軌道。首先,我們先得到只含NBO 4的等值線圖。啟動Multiwfn,載入NBO plot文件然后依次輸入 4 //繪制平面圖 4 //軌道波函數(shù) 4 //NBO 4 2 //等值線圖 直接敲回車 5 //通過三個點定義繪圖平面。這三個點的坐標必須和上一節(jié)用的一模一樣,只有這樣得到的圖才能精確地疊加到上一節(jié)的圖上 0.000000 0.794089 0.000000 -1.778942 -1.064235 0.000000 -1.778942 -1.064235 1.000000 接下來還是和上一節(jié)一樣,進入等值線設定界面,刪掉數(shù)值較小的等值線,然后退回到上一級菜單,最后選0將圖片保存到當前目錄下前綴為DISLIN的png格式的圖形文件中。所得圖像如下所示 現(xiàn)在打開ps準備將這個圖和上一節(jié)的圖合并,我這里用的是Photoshop CS2版。先將這兩幅圖都拖進ps里,激活NBO 4的窗口,按Ctrl+A全選并按Ctrl+C復制,切換到NBO 12+NBO 56的窗口中按Ctrl+V粘貼。這時會有兩個圖層,NBO 12+NBO 56的圖層被NBO 4的圖層覆蓋住了,為了能讓前者也同時顯示出來,就必須把NBO 4圖層的白色背景刪掉以變成透明的背景。最便捷的方法就是先確保圖層列表里已經選定了NBO 4的圖層,然后選ps主菜單的"Select"-"Color Range",然后將光標移到圖上(會變成取色器形狀的指針),點一下圖中的白色部分,確認Color Range窗口中的Fuzziness為0,然后點OK,這時NBO 4的圖層的白色背景就都被選中了,按一下鍵盤上的del鍵,背景就透明了,NBO 4、12、56的等值線就同時顯示出來了。在圖上空白處點一下鼠標來取消選擇狀態(tài),就能看到這樣的圖: 不過,兩條軌道以上等值線同時顯示出來會很亂,所以這里我們把NBO 4的線條弄成彩色,使之明顯一些。方法是在圖層列表中將NBO 12+NBO 56的圖層選為不可見模式(即點一下眼睛的圖標),并確保當前激活的是NBO 4的圖層,然后選"Select"-"Color Range",并且點一下圖中的黑色線條(一次點不準可以多點幾次),然后點OK就將NBO 4的所有黑色線條選中了。之后選ps主菜單的"Edit"-"Fill",Use里面選Color然后選一種顏色,點OK,并在空白處點擊左鍵取消選擇狀態(tài),就會看到黑色線條都變成指定的顏色了。然而坐標軸也變成紫色的了,因此應該刪掉這部分,只讓NBO 12+NBO 56的圖層的黑色坐標軸顯示出來。方法是使用范圍選擇工具將NBO 4的等值線區(qū)域選中,然后在主菜單選"Select"-"Inverse",然后按Del鍵。最后,將NBO 12+NBO 56的圖層恢復為可見模式,就能看到下面的效果 也可以在ps中將等值線加粗使之更鮮明,也就是利用色彩范圍選擇工具選中線條后,然后在圖上點右鍵選Stork,設好顏色和加粗的寬度后,點OK。 將更多條軌道的等值線圖作在同一張圖上的步驟也是類似的。 Multiwfn畢竟是一個方便、實用、普適的波函數(shù)分析工具,不可能擁有ps的豐富強大的繪圖功能,也不可能面面俱到,能作任何特殊類型的圖滿足所有用戶的要求,否則界面將變得冗雜不堪。而將Multiwfn與ps結合使用,就可以十分靈活地得到許多單獨靠Multiwfn無法輸出的圖,希望讀者看過此例后能夠舉一反三。ps的使用不難,只要稍微掌握一點就能解決很多作圖上的問題。 [ Last edited by sobereva on 2012-4-16 at 19:49 ] |
量化輔導 | 量化學習 | 量化經驗 | 量子化學應用及圖形化 |
mulwiwfn | 建模 | 經驗 | 電子書 |
高斯學習 | 量化作圖 | 有用的 | 量化 |
自己感覺好的東西 |
|
把.fch文件用文本編輯器打開,然后在第一行寫上saveNBOene即可。 關于序號重排問題,在此帖后來的更新版本中有說明:http://hi.baidu.com/sobereva/item/b0226b3a534a4b637d034bc5 |
| 31 | 1/1 | 返回列表 |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 268求調劑 +7 | 好運連綿不絕 2026-03-12 | 8/400 |
|
|---|---|---|---|---|
|
[考研] 341求調劑 +5 | 搗蛋豬豬 2026-03-11 | 7/350 |
|
|
[考研] 328求調劑,英語六級551,有科研經歷 +3 | 生物工程調劑 2026-03-16 | 8/400 |
|
|
[考研] 材料工程專碩調劑 +5 | 204818@lcx 2026-03-17 | 5/250 |
|
|
[考研] 290求調劑 +6 | 孔志浩 2026-03-12 | 11/550 |
|
|
[考研] 274求調劑 +5 | 時間點 2026-03-13 | 5/250 |
|
|
[考研] 藥學383 求調劑 +3 | 藥學chy 2026-03-15 | 4/200 |
|
|
[考研] 304求調劑 +3 | 曼殊2266 2026-03-14 | 3/150 |
|
|
[考研] 中科院材料273求調劑 +4 | yzydy 2026-03-15 | 4/200 |
|
|
[考研] 297求調劑 +4 | 學海漂泊 2026-03-13 | 4/200 |
|
|
[考研] 材料080500調劑求收留 +3 | 一顆meteor 2026-03-13 | 3/150 |
|
|
[考研] 308 085701 四六級已過求調劑 +7 | 溫喬喬喬喬 2026-03-12 | 14/700 |
|
|
[考研] 一志愿中科院,化學方向,295求調劑 +4 | 一氧二氮 2026-03-11 | 4/200 |
|
|
[考研] 求材料調劑 085600英一數(shù)二總分302 前三科235 精通機器學習 一志愿哈工大 +4 | 林yaxin 2026-03-12 | 4/200 |
|
|
[考研] 一志愿西南交大,材料專碩317求調劑 +5 | lx8568 2026-03-11 | 5/250 |
|
|
[考研] 求調劑 +5 | 一定有學上- 2026-03-12 | 5/250 |
|
|
[考研] 求調劑 +7 | 18880831720 2026-03-11 | 7/350 |
|
|
[考研] 295求調劑 +3 | 小匕仔汁 2026-03-12 | 3/150 |
|
|
[考研] 283求調劑,材料、化工皆可 +8 | 蘇打水7777 2026-03-11 | 10/500 |
|
|
[考博] 2026年博士申請 +3 | QwQwQW10 2026-03-11 | 3/150 |
|