最新版(v0.12.0)の機能についてはこちらをご覧ください。
目次
はじめに
pfcc-extras は モデリングや結果の可視化などに使える便利なツールを集めたライブラリパッケージです。
試験的なライブラリパッケージとして提供しているため、新しい機能との互換性を保証するものではなく、将来予告なく変更、削除される可能性があることを予めご了承ください。
この記事で紹介する機能とそれぞれの example ファイルの場所は次の通りです。
| 機能 | ファイルパス ※ | 対応Ver |
| visualization/visualization.ipynb | >0.5.0 | |
| visualization/visualization.ipynb | >0.5.0 | |
| povray_to_gjf/povray_animation.ipynb | >0.5.0 | |
| isosurface/isosurface.ipynb | >0.5.0 | |
| make_mol_surface/make_mol_surface.ipynb | >0.5.0 | |
| solid_solid_interface/make_solid_solid_interface.ipynb | >0.5.0 | |
| wrap_molecule/wrap_molecule.ipynb | >0.5.0 | |
|
adsorption_structure_serch/
|
>0.5.0 |
|
|
>0.5.0 | |
※ すべて "/pfcc-extras-v0.x.0/examples/" 以降のパス です。 /pfcc-extras-v5.0.0/examples/ 以降のパス
インストール方法
- Package Launcher を開き、ページ下部から最新のバージョンを探します。
- zip形式で保存します。
- 保存した zipファイルを右クリックして “Extract Archive”で展開します。
- /pfcc-extras-v0.x.0/examples/install.ipynb ファイルを開き下記のセルを実行してください。
!pip install ..
- 4まででインスートールは完了です。インストール実行前から実行中のPythonカーネルの場合、カーネルの再起動が必要です。
インストールが完了したことの確認として以下のように実行して、インストールしたバージョンが返ってくるかお試しください。(このセルは install.ipynb に含まれます)
- カーネル再起動の方法
- Kernel メニュー > Restart Kernel...
- メイン画面上部のバーから"Restart the kernel"のアイコンをクリックします。
- Kernel メニュー > Restart Kernel...
- バージョン v0.6.0 の場合
import pfcc_extras
pfcc_extras version: 0.6.0
print("pfcc_extras version: ", pfcc_extras.__version__)
- カーネル再起動の方法
各機能のご紹介
pfcc-extras に含まれる主な機能を紹介します。
view_ngl
view_ngl は使いやすくカスタマイズを加えた可視化ツールです。
いくつかの描画表現をインタラクティブに変更可能です。
- 表示する元素の種類
- カラースキーム
- 元素球のサイズ
ファイル名を指定してファイルの保存もできます。
※ Show force、 Show charge を有効にするためには計算が必要です。
SurfaceEditor
SurfaeEditor はさまざまな編集機能を含む可視化ツールです。
※ 事前に Calculator の設定が必要です。
次のような機能があります。
- カラースキームの変更
- 描画の軸方向の変更
- 選択した原子に以下の変更を適用
- 削除 / 置換
- 並行移動 / 回転
- エネルギーや最大の力の表示
- 簡単な最適化計算の実行
- 画像の保存
- XYZ軸の表示
- ポインターを合わせてIDと座標の表示
povray_animation
povray を用いて traj ファイルの動画を作成します。
- .gif
- .png
isosurface
Trajectory データから特定の元素の拡散経路を可視化するためのGaussian cube ファイルを作成します。cube ファイルは OVITO, VESTA, NGLViewer などで読み込むことができます。
手順:
- Trajectory ファイルを準備します。(trj とする)
- 次のように実行します。
iso = IsosurfaceCalculator(trj, grid_size = 0.5) )
iso.calculate(symbol = ‘Li’) x
iso.export(‘./output.cube’)
make_mol_surface
有機分子などの表面構造を作成します。
手順:
- バルク構造の準備
- 構成要素を定義
- make_mol_surface を実行
- 表面構造を作る
- 構成要素を探す
- 構成要素にマッチしないものを取り除く。
(a) アントラセン, (b) グラフェン, (c) SiO2, (d) CH3, NH3, Pbl3
solid_solid_interface
固体固体界面接合モデルを作成します。
※ pymatgen が必要です。
手順:
- 2つの異なる bulk 構造を用意
- それぞれ直方晶に切り取り(make_rectangular_slab)
- 重ねた時のセルサイズのギャップを最小にする乗数を計算(make_similar_lattice_const_slabs)
- 2つを重ねて界面構造を作成(surface_stack)
- 単位格子を抽出(make_primitive)
- 保存
wrap_molecule
- wrap_molecule() … 周期境界を跨いだ分子を分割せずにwrap します。
- get_mol_index() … 分子ごとに index 番号付け、および ラベル付けします
- get_mol_list() … Atoms オブジェクトを分子ごとに分割します。
例:wrap_molecule()
adsorption_strucuture_search
オープンソースのハイパーパラメータ自動最適化フレームワークである OptunaTM を用いて吸着構造を求めます。以下の3つの事例を用意しています。
| ファイル名 | 吸着剤(adsorbent) | 吸着質(adsorbate) |
| adsorption_structure_search_for_slab | Ru(111) slab | acrolein () |
| adsorption_structure_search_for_porous | SiO2 zeolite | H2O |
| adsorption_structure_search_for_cluster | AuCu cluster | 2-Propen-1-thiol |
| cluster_on_slab | CeO2 slab | Co half cluster |
- Ru(111) 表面モデル(slab)に対するアクロレインの吸着
- SiO2 多孔性結晶 に対する 水分子の吸着
- AuCu クラスタ に対する 2-プロペン-1-チオール の吸着
- CeO2 表面モデル(slab)に対する Co クラスタ
monte_carlo
GCMC
グランドカノニカルモンテカルロ(Groud canonical Monte Carlo, GCMC)法を用いたシミュレーションを実行できます。多孔質材料である Metal-organic-framework (MOFs)に対する CO2 分子の吸着の事例で、入力ファイル、パラメタ設定から実行、結果の解析までの手順を紹介しています。
Lattice MC
格子モンテカルロ(Lattice Monte Carlo, LMC)法を用いて金属スラブの構造探索をシミュレーションします。この事例では、Pt3Auのスラブ構造を用います。