• 使CP2K計算的振動模式可以被GaussView觀看的程序:MfakeG

    使CP2K計算的振動模式可以被GaussView觀看的程序:MfakeG

    文/Sobereva@北京科音   2023-Jan-22


    GaussView在觀看振動模式方面非常好用,可以方便地顯示振動矢量,播放和保存振動動畫,還可以沿特定的振動模式對結構進行位移,但GaussView只支持Gaussian程序的振動分析輸出文件。之前我寫過一個程序OfakeG,見《OfakeG:使GaussView能夠可視化ORCA輸出文件的工具》(http://www.shanxitv.org/498),可以把ORCA程序振動分析的輸出文件轉化成類似Gaussian的格式,從而能通過GaussView來可視化。CP2K是非常強大且免費的第一性原理程序,為了也能借助GaussView便利地觀看其振動模式,我寫了叫MfakeG的程序,在此進行介紹。筆者講授的北京科音CP2K第一性原理計算培訓班(http://www.keinsci.com/workshop/KFP_content.html)里非常詳細講授怎么用CP2K計算分子和周期性體系的紅外和拉曼光譜,其中也會充分利用MfakeG程序。

    MfakeG可以在主頁http://www.shanxitv.org/soft/MfakeG免費下載,Windows和Linux版都有。

    CP2K的振動分析任務的輸入文件里在&VIBRATIONAL_ANALYSIS字段中加入以下內容就可以在振動分析結束時輸出后綴為.mol的Molden文件,默認文件名為[項目名]-VIBRATIONS-1.mol。
      &PRINT
        &MOLDEN_VIB
        &END MOLDEN_VIB
      &END PRINT
    如果你用Multiwfn按照《使用Multiwfn非常便利地創建CP2K程序的輸入文件》(http://www.shanxitv.org/587)介紹的方式產生CP2K振動分析的輸入文件,默認也會產生.mol文件。注意這個.mol文件和常見的記錄分子結構和鍵連關系的.mol文件完全是兩碼事。

    .mol文件里面有許多字段,記錄了元素、坐標、振動頻率、描述振動矢量的正則坐標、紅外強度。MfakeG干的事情就是把.mol轉換為GaussView能認的類似Gaussian振動分析輸出文件的形式。

    啟動MfakeG后,輸入.mol文件的路徑,就會在相同目錄下產生與之同名但帶了-fake后綴的.out文件,之后載入到GaussView里就可以照常用Results - Vibrations界面觀看振動信息了。

    CP2K一般都是用來算周期性體系的。為了能讓GaussView顯示出來晶胞邊框,對周期性體系需要自行編輯.mol文件,在里面第二行插入[Cell]字段,比如
     [Cell]
     19.25142628     0.00000000     0.00000000
     -9.62562669    16.67336579     0.00000000
      0.00000000     0.00000000    15.00000000
    三行內容是晶胞的三個矢量,單位為埃。這樣MfakeG轉出來的偽Gaussian輸出文件的原子坐標部分最后會多出來三個原子信息,對應晶胞矢量。

    在MfakeG的example目錄下freq.inp是CP2K對GaN超胞做振動分析的輸入文件,算完后產生了freq-VIBRATIONS-1.mol,用MfakeG轉換后就是freq-VIBRATIONS-1_fake.out。用GaussView的振動分析界面看到的是下面的效果,可見效果很好。

    實際上筆者原本是打算把CP2K的輸出文件轉化成偽Gaussian格式的。但之所以后來決定轉化.mol格式,是因為其格式比CP2K輸出文件更簡單,而且這樣更有通用性,讀者可以自己寫個小程序把任意其它計算化學程序做振動分析得到的結果寫成.mol格式,之后都可以借助MfakeG用GaussView觀看。

    久久精品国产99久久香蕉