追加機能の使用手順¶
LJ-like力場を用いたΔ-NNP¶
ニューラルネットワークの学習(手順4)の前に、古典力場のパラメータの最適化を行います。
sannp --classical
を実行することで、古典力場のパラメータを含むファイルsannp.classが出力されます。
その後、sannp.propで withLJlike 1 と設定して、手順4以降を実行します。
ReaxFFを用いたΔ-NNP¶
ニューラルネットワークの学習(手順4)で、sannp.propで withReaxFF 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.trainを sannp --split で分割します。テストデータsannp.testが用意できたら、sannp.propで insituTest 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です。