連続Vib計算

複数の振動数計算を連続的に自動で行う

基本操作

ts_listはTS構造のAtomsのリスト

from grrmpy.automate import AutoVib

vib = AutoVib(ts_list,indices=[0,1,2,3,4,5,6,7,8,9,10]) #indicesは動かす原子のindex番号
vib.summary() # htmlファイルに振動数の表が作成される

虚振動の振動モードをtrajに書き出す方法

  • 全てのTSの虚振動を書き出す場合

    >>> vib.write_mode()
    
  • 特定のTSの虚振動を書き出す場合(例TS5の虚振動)

    虚振動がなかった場合は何も作成されない

    >>> vib.write_mode(i=5)
    
  • 虚振動以外のモードのtrajファイルを作成したい場合.

    >>> vib[3].write_mode(n=2) # TS3のn=2のモードのtrajファイルが作成される.
    

Tips

  • 複数のNEBイメージからTS構造のみを抽出する.

    "Structures"フォルダに複数のNEBイメージのtrajファイルがある事を想定する

    from grrmpy.io import iread_traj
    from grmpy.neb.functions import get_ts_image
    
    neb_list,_ = iread_traj("Structures") # これでNEBのイメージを取り出す(この地点で2Dのリスト)
    ts_list = [get_ts_image(images) for images in neb_list] # これで各NEBからTS構造のみ抽出する
    # その後
    vib = AutoVib(ts_list)
    vib.run()
    
  • 各TSのVibrationsオブジェクトはgetitem(各括弧)で取得できる

    >>> vib[2] # <-- TS2の構造のASEのVibrationsオブジェクト