追加機能の使用手順

LJ-like力場を用いたΔ-NNP

ニューラルネットワークの学習(手順4)の前に、古典力場のパラメータの最適化を行います。

sannp --classical

を実行することで、古典力場のパラメータを含むファイルsannp.classが出力されます。

その後、sannp.propwithLJlike 1 と設定して、手順4以降を実行します。

ReaxFFを用いたΔ-NNP

ニューラルネットワークの学習(手順4)で、sannp.propwithReaxFF 1 と設定して実行します。

学習時、および分子動力学計算実行時(手順5)にパラメータ定義ファイルffield.reaxが必要です。NanoLabo Toolに同梱されているものをお使いいただけます。ffield.reaxファイルの書式はLAMMPSに準拠します。

ヒント

ReaxFFのパラメータはあらかじめ用意されたものを使い、本製品での最適化は行いません。

メトロポリス法による構造生成

ニューラルネットワークの学習(手順4)が終わった後に実行します。

メトロポリス法の設定をファイルsannp.metroに用意します。デフォルトの設定を使う場合は、ファイルが無くてもかまいません。

sannp --metro

を実行すると、モンテカルロ計算が行われ、構造が生成されます。生成された構造はQuantum ESPRESSOの入力ファイルの形でdft_geomフォルダに出力されます。

ヒント

モンテカルロ計算の過程はmovieフォルダにxyz形式で保存されます。

xyzファイルをAdvance/NanoLaboの画面にドラッグ&ドロップすることで動画として可視化ができます。

続けて

sannp --dft

を実行すると、dft_geom内の計算を実行するためのシェルスクリプトdft_run.sh(Windowsの場合はバッチファイルdft_run.bat)が生成されます。これを使って、再度手順3から実行し、教師データを追加します。

In-situテスト

ニューラルネットワークの学習(手順4)を行う際に、同時にテストデータについても残差RMSを計算して表示する機能です。学習を進めながら、テストデータに対する性能を随時確認できます。また、教師データのRMSが小さくなっていてもテストデータのRMSが大きくなっている場合には、過学習を起こしていると判断できます。

まず、教師データとは別のテストデータを用意します。 sannp --dft を実行し、"test"を選んで生成するか、または既存の教師データsannp.trainsannp --split で分割します。テストデータsannp.testが用意できたら、sannp.propinsituTest 1 と設定して、学習を実行します。

ASEのトラジェクトリファイルの変換

Atomic Simulation Environment(ASE)のトラジェクトリ(.traj)ファイルを教師データに変換し、ニューラルネットワークの学習に使うことができます。

インストール先の python フォルダーにあるPythonスクリプト traj_to_train.py を使い、

python traj_to_train.py filename.traj

と実行すると、教師データ sannp.train が出力されます。ニューラルネットワークの学習(手順4)以降は通常の手順と同様です。

以下のオプションが使えます。

-output_file <file_name>

出力ファイルを指定します。デフォルトは sannp.train です。

-mode {a,w,x}

ファイル出力時の動作を指定します。 a : 追記、 w : 上書き、x : 新規作成(ファイルが既に存在する場合はエラー)です。デフォルトは x です。

-start <int>

変換するデータの最初のインデックスです。デフォルトは0です。

-step <int>

変換するデータのステップです。デフォルトは1です。