加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

[转载]高斯软件的简单介绍及简单操作【转载】

(2011-12-13 16:08:36)
标签:

转载

分类: Gaussian
1. Gaussian 軟體到底是什麼?它可以幫我計算什麼?
 
      Gaussian 是量子化學計算的專業軟體,它是利用量子力學的原理以數值方法來預測化學分子的性質。Gaussian 軟體的創始人是 John Pople (1998 年諾貝爾化學獎得主), 他從 1970 年代開始在 Carnegie-Mellon University 發展 Gaussian 程式供學術界使用,後來在 1980 年代成立 Gaussian 公司發售 Gaussian 軟體,目前最新的版本是 Gaussian 03。 Gaussian 是目前無論在學術界或工業界使用最廣泛的量子化學計算軟體,這是因為它包含了非常齊全的理論計算方法並有著很高的咚阈剩嚓P支援的軟體也很多,使用上 也非常方便。基本上,使用者提供想要計算的分子之三度空間結構,電荷等資料並選擇一種理論計算方法,Gaussian 程式則進行大量的數值咚闱蟪鲈诖死碚摲椒ㄏ轮娮硬ê瘮(或電子密度)及能量,並依此計算出分子的其他各種化學性質 (最低能量結構,光電性質,光譜特性,反應性等等)。其他常用到的量子化學計算軟體包括 Molpro, Gamess, AcesII, Q-Chem, NWChem 等等。
 
   2. 我想要在 PC 安裝 Gaussian,硬體與作業系統該如何選擇?
 
      現在的 PC 速度非常快,成本低廉,是使用 Gaussian 的一個經濟實惠的平台。 對稍懂電腦的人我會建議組裝一台 Linux 工作站,基本的配備應包括 64 位元 Dual-Core CPU, 如 Intel P4 8xxD, 9xxD, Core Duo, 或 AMD Athlon 64X2 等,2 GB DDR2 667 以上記憶體, 2 台 200 GB 以上 SATA 硬碟以彈性使用 Raid 0/1。Linux 作業系統可選擇免費下載之 Fedora Core 4 或 5,Suse 10 等,記得要使用 64 位元的版本。 舊的 32 位元 PC 也可以用,只是效能上會差很多。接下來要依照你的系統種類選擇適當的 Gaussian 03 版本,請參閱本站首頁。目前 Window XP 的版本 (G03W) 還不能發揮 64 位元的咚阈埽 使用上的便利性及功能性也都不如 Linux 的版本
 
   3. Default.Route 檔有什麼用? 我需要設定它嗎?
 
      Default.Route 檔(位於 $g03root/g03/ 目錄中) 是用來設定 Gaussian 程式的一些預設值如 cpu 數目,使用記憶體的量等, 例如
      -M- 64MW
      -P- 2
      -S- NCCU-CHEM-WPH
      是將預設使用的記憶體定為 64 MW (1 MW =  8 Megabytes) ,使用 2 個 cpu (shared memory),並將 Site Name 訂為 NCCU-CHEM-WPH。 Site Name 會出現在 output file 最後的總整理 (Archive section) 中, 可以用來標示計算是由那個單位做的。 我們也可以指定本來要出現在 Route section 中的 keywords,例如
      -#- MaxDisk=16GB
      -#- SCF=(XQC,Tight)
      這些設定都只是預設值,若 input file 中指定了別的值,程式會使用 input file 中的設定。因此,Default.Route 檔非絕對必要,但若設定得宜,常會讓 Gaussian 使用者方便很多。
 
   4. Gaussian 所算出的能量到底是什麼能量?
 
      這是最常造成學生困擾的一個問題,因為 Gaussian 內所印出的能量有很多種。 首先,Gaussain 直接計算出的是所謂的 Born-Oppenheimer energy (或稱為 classical energy,electronic energy),也就是解電子的薛丁格方程式後所得的電子能量加上原子核間的排斥能量。這個能量在 output file中會以
 
      SCF Done:  E(RHF) =  -380.150439861  (Hartree Fock 能量)
      EUMP2 =    -0.38124686136939D+03     (MP2 能量)
 
      等型態印出,單位是 Hartree (626.5095 kcal/mol),或在 output file 最後面的 Archive section 以 HF=-380.1504399MP2=-381.2468614....的方式印出。這個能量包括了分子內電子的動能與位能以及原子核間的排斥能 量,由於計算中的薛丁格方程式是在 Born-Oppenheimer 的假設下求解的 (原子核靜止),因此並不包括任何原子核邉拥哪芰俊 這個能量在許多情況下已經足夠來大致判斷分子的許多相對能量 (bond energies, conformational energies, energies of reactions, etc.),若要更實際的模擬實驗條件下的相對能量,我們必須計算出原子核邉拥哪芰浚@些能量包括分子的 translational, rotational, vibrational energies。 在絕大多數條件下, 平均的 translational, rotational  energies 可以用古典力學的方式求出:
      E(trans) = 3/2 kT
      E(rot) = 3/2 kT (nonlinear molecules) or  kT (linear molecules)
      vibrational energies 又分為二種,一種是永遠存在的 zero-point energy (每一個 vibrational mode 貢獻1/2 hv) ,一種是在 0 K 以上會有的 vibrational  excitation energy。Vibrational energies 必須藉著 frequency 的計算求得 (FREQ keyword)。 所謂的 thermal energy 就是 translational, rotational, vibrational energies 之和。 至於其他的能量如 enthalpy, Gibbs free energy 以及定容比熱(CV),亂度 (S)等也可以利用熱力學及統計力學的公式求得。要注意的是這些能量除了 electronic energy, zero-point energy 外,它們的值與溫度甚至壓力有關。 Gaussian 內定的溫度是 298.15 K,壓力是 1 atm,若你需要別種狀態也可以由 FREQ keyword 來指定 (FREQ=ReadIsotopes)。 通常經過 FREQ 計算後會印出如下的表格,您可以與上述內容相對照應該不難了解 Gaussian output file 中印出的最主要的幾種能量的涵義。
 
      Zero-point vibrational energy     158175.4 (Joules/Mol)
                                        37.80483 (Kcal/Mol)
      Zero-point correction=                          0.060246 (Hartree/Particle)  
      Thermal correction to Energy=                   0.066535  
      Thermal correction to Enthalpy=                 0.067479  
      Thermal correction to Gibbs Free Energy=   0.029709  
      Sum of electronic and zero-point Energies=           -381.186616  
      Sum of electronic and thermal Energies=              -381.180326  
      Sum of electronic and thermal Enthalpies=            -381.179382  
      Sum of electronic and thermal Free Energies=         -381.217153
                             E (Thermal)             CV                S
                             KCal/Mol        Cal/Mol-Kelvin    Cal/Mol-Kelvin
      Total                   41.751             21.325             79.495  
      Electronic               0.000              0.000              0.000  
      Translational            0.889              2.981             39.807  
      Rotational               0.889              2.981             26.279
      Vibrational             39.974             15.363             13.410
 
   5. 我該怎麼選擇理論方法與基底函數?
 
      這是一個很複雜的問題,大概需要寫一本書才可以完整的探討。簡單來說理論方法與基底函數的選擇要能達到平衡,很好的理論配上不洽當的基底函數所得的結果也 會是很不可靠。有些理論用中等大小的基底函數就可以達到此理論所能到達的最佳準確度 (如 HF, MP2, DFT),增加基底函數可能只是浪費時間,但有些高準確度的理論 [如 QCISD(T),CCSD(T)]必須配合非常好的基底函數才能發揮功能。計算資源是另外重要的考量,HF, MP2, CCSD(T) 的計算量大約分別與基底函數的大小的 4, 5, 7 次方成正比,因此增加基底函數通常會造成計算量大幅的增加。對一般計算而言以下的組合通常是不錯的
      HF/6-31G*
      MP2/6-31+G*, MP2/6-31+G**, MP2/cc-pVDZ, MP2/aug-cc-pVDZ
      DFT(例如 B3LYP)/6-31+G**, DFT/6-311+G**
      CCSD(T)/aug-cc-pVDZ, CCSD(T)/aug-cc-pVTZ
      在含有 F 及帶負電的系統中一定要加入 diffuse function (+, aug-),在計算氫鍵,凡德瓦力,過渡態時也建議使用diffuse function。
      使用 CCSD(T), QCISD(T) 理論時建議使用 Dunning's cc-pVnZ (aug-cc-pVnZ) basis sets。
 
   6. 若我想要用的基底函數並不包含我想要算的分子中的某些原子該怎麼辦?
 
      每一種基底函數適用的原子種類都不大相同,早期的基底函數主要是針對第一,二週期的非金屬元素,後來慢慢的增加了對金屬元素,第三週期,以及過渡金屬元素 的支援。比如說常用的 6-31G, 6-311G 系列基底函數支援 H 到 Kr 的所有元素, 3-21G** 系列基底函數支援 H 到 Xe 的所有元素。 通常比較容易碰到問題的是 第四週期以後的過渡金屬,因為所支援的基底函數較少。 像 LANL2DZ 或 CEP 系列的基底含數雖然支援幾乎所有的元素,但其品質並不理想。比較常見的作法是對較輕的元素使用常用的基底函數,對於重過渡金屬使用包含 effective core potential (ECP) 的基底含數,再加入一些額外的極化 (polarization) 函數或擴散 (diffuse) 函數,例如
 
      #B3LYP/Gen Pseudo=Read OPT
 
      W(CO)6
 
      0 1
      .....
      ..... (原子座標)
      .....
 
      C, O, 0
      6-31+G*
      ****
      W, 0
      LANL2DZ
      ****
      W, 0
      F, 1, 1.00
      0.27, 1.00
      ****
 
      W, 0
      LANL2
 
      在上例中,我們計算 W(CO)6 的結構,碳和氧我們使用 6-31+G* 基底函數, 對鎢金屬我們使用 LANL2DZ 的基底含數及 LANL2 的 ECP,我們並且對鎢加入了一組 f 函數。使用 Gen, Pseudo=Read 可讓我們選擇搭配不同的基底含數及 ECP。原則上,相互搭配的基底含數的品質要大致相當才能得到可靠的結果。
 
   7. 在 input file 中是否要設定 %mem,計算所花的時間有差別嗎?
 
      %mem 的功用在於指定 Gaussian 程式可使用的記憶體,g03 的default 值是 6MW (48MB)。許多計算所必須用到的記憶體量會超過預設值,此時必須靠此 link 0 指令來加大 memory, 例如:%mem=16MW 將可使用的記憶量設為 128 MB。 關於各種計算記憶體的需求量請參閱 g03 使用手冊。至於設成比較大的值有沒有好處呢?這個問題比較複雜,首先,有時候增加記憶體可以讓 g03 使用比較有效率的計算方法,如 SCF=InCore, 這對 HF 及 DFT 計算容易有明顯的幫助;同時,增加記憶體對大型的計算有時可降低 Disk IO 的負擔。我們以 C2F4 的計算為例:
      (時間單位: 秒, Intel 830D CPU, dual channel DDRII-667 memory, g03d2_x64 版本)
      1cpu     B3LYP      
           
 
          aug-cc-pVDZ      
           
      memory (MW)
          16     64      
      SP     29     17     41%
      OPT     164     110     33%
      FREQ     255     182     29%
 
           
           
           
 
          MP2      
           
 
          aug-cc-pVDZ      
           
      memory     16     64      
      SP     38     23     39%
      OPT     387     209     46%
      FREQ     1423     1320     7%
 
           
           
           
 
          CCSD(T)
           
           
 
          aug-cc-pVDZ
           
           
      memory
          64
          128
           
      SP
          822
          766
          7%      
 
      將 memory 由 16 MW 增加到 64 MW 對於B3LYP 單點,結構最佳化,以及振動頻率的計算都有很大的幫助 (30-40%)。對 MP2 的 OPT 計算加速更顯著 (46%),但對 MP2 的頻率計算及 CCSD(T) 單點只有 7% 的加速。 但我們也發現,若使用 pgf77 compiler 所編繹出的 g03, 增加 memory 會造成系統 IO 時間明顯的增加,而使整體速度的提升不顯著,甚至降低計算效率。 Intel compiler 在 memory 管理上似乎有獨門秘方使得計算速率較不受 memory IO 的影響。 g03 也有提供 MP2=InCore 的選項,但我們的經驗是速度並不一定增加,而且有時結果不大可靠,因次我們不建議使用。原則上我們會建議先嘗試 SCF=InCore,若設定的 memory 值太小,output file 中會告訴你該設多大。對於一些大型的計算,加大 memory 的效果有可能會更顯著,但記得最好不要超過實體記憶體的 80%,不然系統可能會開始使用 swap file 讓計算速率大幅下降。此外,增加記憶體頻寬,如使用 Dual-Channel DDRII-800 也會明顯的增加計算速度。
 
   8. Gaussian 計算可以平行化嗎? 平行效能如何?
 
      平行化是近年來科學計算的趨勢,但平行化的程度決定在問題的本質以及程式的設計。 電子結構計算中有許多部分在理論上是可以平行化的,在 g03 程式中許多部分也都已經有平行化的效能。使用者可以用二種方式來進行平性化的 G03 計算,第一種是使用多 cpu 或多核心的電腦進行共享記憶體 (shared memory) 的計算 ,第二種是利用 Linda 程式進行多電腦的分配記憶體 (distributed memory) 計算。 第一種方式比較簡單,只要使用者擁有有多核心 cpu (Pentium D, Core Duo 等) 的電腦並在 input file 的開始加入 %NProcShared=n (n = 2, 4, etc) 的指令即可。第二種方式比較複雜,使用者必須向 Gaussian 公司購買 Linda 程式, 並將 g03 編譯成含 Linda 功能的版本,而且要將二台以上的電腦以 TCP 區域網路連起來,然後在 input file 的開始要加入 %NProcLinda=n (n = 2, 4, etc) 的指令,並用 setenv GAUSS_LFLAGS -nodelist 的指令指定電腦的名稱。詳情請參閱 Linda 使用說明。 在這裡我們暫以 shared memory 的平行化為例說明,下表中列出單一CPU與雙CPU的計算時間比較,所使用的分子也是 C2F4。
      (時間單位: 秒, Intel 830D CPU, dual channel DDRII-667 memory, g03d2_x64 版本)
 
          B3LYP      
           
 
          aug-cc-pVDZ      
           
      %mem=64MW     1 cpu     2 cpu      
      SP     17     14     121%
      OPT     110     76     145%
      FREQ     182     123     148%
 
           
           
           
 
          MP2      
           
 
          aug-cc-pVDZ      
           
      %mem=64MW     1 cpu     2 cpu      
      SP     23     18     128%
      OPT     209     152     138%
      FREQ     1320     942     140%
 
           
           
           
 
          CCSD(T)      
           
 
          aug-cc-pVDZ      
           
      %mem=128MW     1 cpu     2 cpu      
      SP     766     534     143%
 
           
           
           
 
      在雙核心的計算下,速度通常可以有 20%-50% 的提升。大型的計算可能可以有更好的平行化效能。 若要達到非常高度平行化的效能,則必須使用 distributed memory 的方法。
 
   9. Input file 中分子結構的對稱性對計算效能有影響嗎?
 
      分子的對稱性對計算效能影響很大。首先,高對稱性分子所須計算的 2 electron integral 會明顯減少,因為有很多積分值相等或為零。其次,在計算結構時所要調整的變數也比較少,所需的結構計算步數 (optimization steps) 也較少。最後,高對稱性計算所需使用的 scratch file 也較小,不易造成 IO 瓶頸。因此,具有高對稱性結構的分子計算速率較高,若已知分子的對稱性,input file 中應該盡量使用具有該對稱性的結構。但要注意的是,G03 在做結構最佳化時會維持分子的 point group。若設定的對稱性過高,則可能得到帶有虛頻率的不穩定結構; 因此最後還是最好做一次頻率計算來確認結構的正確性。 下表列出以 Cs 及 C2v point group 的 C2F4 結構作計算所花的時間:
 
      (時間單位: 秒, Intel 830D CPU, dual channel DDRII-667 memory, g03d2_x64 版本)
 
          B3LYP      
           
 
          aug-cc-pVDZ      
           
      %mem=64MW, 2cpu
          Cs     C2v      
      SP     28     14     200%
      OPT     200     76     263%
      FREQ     343     123     279%
 
           
           
           
 
          MP2      
           
 
          aug-cc-pVDZ      
           
      %mem=64MW, 2cpu     Cs     C2v      
      SP     44     18     244%
      OPT     796     152     524%
      FREQ     2136
          942     227%
 
           
           
           
 
          CCSD(T)      
           
 
          aug-cc-pVDZ      
           
      %mem=128MW, 2cpu     Cs     C2v      
      SP     1854
          534     347%
 
      以 C2v 結構所做的計算效率明顯高出很多。 現在大家習慣用圖形介面來建分子,因此常容易忽略了分子的對稱性, 建議各位開始做計算時查看 G03 output file 中所讀入的分子對稱性是否與化學鍵結觀念吻合。

0

  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有