最近の機械学習ポテンシャルのための参照データ形式として,ASEパッケージで用いられている?extxyzフォーマットが良く利用されているのでメモしておく.
下のようなフォーマットとなっている.
128
Lattice="13.348 0.000 0.000 0.000 15.725 0.000 0.000 0.000 12.223" Properties=species:S:1:pos:R:3:forces:R:3 energy=-437.76068789171956
Li 1.8857 4.0571 4.3377 -2.921e-02 -1.009e-01 -1.176e-01
Li 11.0545 4.0424 1.8293 -1.132e-01 -3.853e-01 3.531e-01
Li 4.4235 3.5972 1.7773 3.852e-01 -5.604e-01 -4.473e-01
...
- 1行目:原子数
- 2行目:系に関する付加的情報
Lattice
— セルベクトル要素Properties
— 各原子の行に何が書かれているかの情報.上の例では,species
情報として文字列S
が1つ,pos
情報として実数R
が3つ,forces
情報として実数R
が3つ.energy
— エネルギー- 他にもいくらでも追記可能.
- 3行目以降:各原子情報.原子の位置座標は絶対座標(セルベクトルの相対座標ではない).
ASEでの出力方法
- 他にも
append=True
というオプションを付けると,ファイルの末尾にデータを追加することになる.
nappyでの出力方法
nappy.io.write()
はファイル名にextxyz
が入っている場合にはフォーマットを自動判定する.