Pathモジュール
ReactPath
インスタンス化方法
nameとAtomsを与える方法
from grrmpy.path import ReactPath
from ase.io import iread
atoms_list = [atoms fro atoms in iread(atoms)] # 5つのAtomsが格納されている
name = ["EQ0","TS0","EQ1","TS1","EQ2"]
data = {":name":name,"atoms":atoms}
path = ReactPath(data)
nameとenergyを与える方法 → この方法は現在,非推奨. ReactPathは機能するがReactPathsが機能しない.この方法でインスタンス化したReactPathからReactPathsをインスタンス化しようとするとエラーになる
from grrmpy.path import ReactPath
from ase.io import iread
energy = [-201.3, -123.3, -222.3, -192.6, -200.1] # Hartree単位
name = ["EQ0","TS0","EQ1","TS1","EQ2"]
data = {"name":name,"energy":energy}
path = ReactPath(data,unit="Hartree") # eV単位以外の場合は単位を設定する
プレビュー
path.preview()
Excelへ保存
path.write_excel("Sample.xlsx")
htmlへ保存
path.write_html("Sample.html") # Sample.htmlに保存
path.write_html() # 標準出力 空白が表示される場合,path.write_html().show(renderer="sphinx_gallery")
- class grrmpy.path.reaction_path.ReactPath(data: dict, positions: ~typing.Optional[list] = None, mask=None, barrier_less_index=[], title=None, unit='eV', calc_func=<function pfp_calculator>)[ソース]
Parameters:
- data: dict or DataFrame
energyとnameまたはatomsとnameの2つのキーを持つ辞書.
- 'energy': list of float
- エネルギーをリストで与える単位はkJ/mol, eV単位で与える場合,unit='eV'とする
- 'atoms': list of Atoms
- Atomsのリスト
- 'name'list of str
- Ex) ['EQ0','TS1','EQ3','TS3','EQ2','PT2','EQ5']'TS','PT'の文字列を含んでいる場合,それぞれグラフ描写時に赤色,緑色で表示される
- title: srt
- Pathを識別するためにタイトルを付ける事が可能.デフォルトはNone
- positions: list of bool
- solidラインの位置をカスタマイズする使用方法は を参照指定しない場合はすべてTrueリストが作成される
- unit: string
dataの設定の際に'energy'で設定した場合,与えたエネルギーの単位を記入する 'kJ/mol','Hartree','eV'のいずれか
- clac_funct: function object
- dataの設定の際に'atoms'で設定した場合,calculatorを与える関数が必要.デフォルトではPFP.
- mask: list of bool
dot線を書かない部分をFalseにする.Noneの場合全てTrueのリスト
- barrier_less_index: list of int
- バリアレスの部分のindex番号(設定は任意)EQ1-TS0-EQ2-EQ3でEQ2-EQ3の部分がバリアレスの場合,barrier_less_index=[2]
注釈
constraintsはFixAtomsだけfromdict,frompkl変換できる
- classmethod frompkl(openfile, calc_func=<function pfp_calculator>)[ソース]
topklで作成したpickleファイルからオブジェクト再生する
>>> path = ReactPath.frompkl("Path.pickle")
- write_excel(outfile: str, mask=None, **kwargs)[ソース]
Excellにグラフを作成する
その他の引数はreaction_path.functions.to_excell()を参照
Parameters:
- outfile: str
- Excelファイル名
- write_html(outfile=None, mask=None, annotation=[], barrier_less_index=None, **kwargs)[ソース]
反応座標グラフをhtmlに保存する
Parameters:
- outfile: str or Path
- 出力先のhtmlファイルNoneの場合は標準出力する
サンプル
通常
>>> path.write_html("Sample.html")
アノテーション(x座標が14.5の部分に"Sample text"と入力)
>>> path.write_html("Sample.html",annotation=[(14.5,"Sample text")])
create_reactpath
テキストファイルからReactPathオブジェクトを作成する
例としてEQ_Listフォルダに0.traj,1.traj...のEQ構造が,TS_Listフォルダに0.traj,1.traj...のTS構造がある事を想定する.
Path.datファイルの中身は
[Dir]
EQ: ./EQ_List/
TS: ./TS_List/
PT:
[ReactPath]
path: EQ0;TS1;EQ2;TS0;EQ1~EQ5|EQ3
上のファイルは次のように表記することもできる
[ReactPath]
EQ: ./EQ_List/
TS: ./TS_List/
PT:
path: ${EQ}0;${TS}1;${EQ}2;${TS}0;${EQ}1~${EQ}5|${EQ}3
name: ["EQ0","TS1","EQ2","TS0","EQ1","EQ2","EQ0"]
from grrmpy.path import create_reactpath
react_path = create_reactpath("Path.dat")
react_path.write_html("Sample.html")