入力ファイルエディター(LAMMPS固有の設定)

Force-Field(力場)

入力ファイルエディターの Force-Field で力場の設定を行います。画面右下のメニュー editormenuicon から Force-Field をクリックしてください。

Type of Force Field で使用したい力場の種類を選ぶと、それに対応した設定項目が有効になりますので、設定を行ってください。

力場の設定後、設定内容に応じて各原子のパラメーターを調整する必要がある場合には、 Resolve Force FieldApply ボタンが赤色になりますので、クリックして設定を反映させてください。

原子に電荷を設定しない力場の場合、 Request Charge をyesに設定することで、外部電場用の電荷を設定することができます。

Lennard-Jones

Non-Bonded Interactions 欄でLennard-Jonesポテンシャル E=4\epsilon [(\sigma /r)^{12} -(\sigma /r)^6] のパラメーター\epsilon\sigmaを設定してください。

Charge & Lennard-Jones

Lennard-Jonesポテンシャルのパラメーターに加え、電荷を設定して下さい。全電荷が0でない場合、 Resolve Force FieldApply ボタンをクリックすると、全電荷が0になるように一定の値を差し引きます。

OPLS-AA

Resolve Force FieldApply ボタンをクリックすると、OPLS-AAパラメーターセットに基づき、電荷およびLennard-Jonesポテンシャルのパラメーターを設定します。その後、全電荷が0になるように一定の値を差し引きます。

Non-Bonded Interactions 欄の各行を右クリックすると、割り当ての詳細を確認できます。

../_images/opls.png

NeuralMD

Atomic Energywithout bias に設定することで、LAMMPS実行時にニューラルネットワーク最終層のバイアス項(原子の内部エネルギーに相当する定数)を0にし、原子エネルギーの平準化を図る機能が有効になります。

Potential File で設定する力場ファイルはAdvance/NeuralMDで生成するか、学習済みの力場ファイルを力場データベースからダウンロードして使うこともできます。

ヒント

ニューラルネットワーク力場は、GPUを使って計算を高速化することができます。

  • (Linuxのみ)ローカルで実行する場合、 メインメニュー ‣ Properties ‣ Advance/NeuralMDNumber of GPU に使用するGPUの数を設定します。複数のGPUを使用する設定の場合、MPI並列のプロセスを各GPUに均等に割り当てて実行されます。0を設定するとGPUを使用しません。

  • リモートで実行する場合、SSHサーバーの設定で使用するキューのGPU設定を有効にしてください。

注釈

  • GPUドライバを事前にインストールしておく必要があります。CUDA 11.4.4を使用しており、これに対応するドライババージョン470.82.01以上が必要です。

  • 元素数が5以上の場合は、力場作成時に重み付き対称関数を使っている必要があります。

Open Catalyst 2020

Open Catalyst Project で公開されている、グラフニューラルネットワークに基づく学習済みの汎用力場を使います。

LAMMPSからPythonを呼び出して実行するため、事前にPython環境の設定が必要である他、いくつか制約があります。 info をクリックすると説明が表示されます。

  • MPI並列には非対応です(OpenMP並列・GPUを使った計算が可能です)。

  • ARM版(Apple M1)には非対応です。

  • Z軸方向には周期境界条件が適用されません。

  • ビリアル応力が計算できないため、NPT・NPHアンサンブルでの計算、およびセルの最適化には非対応です。

M3GNet

M3GNet(従来版MatGL版)として公開されている、グラフニューラルネットワークに基づく学習済みの汎用力場+Simple DFT-D3による補正を使います。

LAMMPSからPythonを呼び出して実行するため、事前にPython環境の設定が必要である他、MPI並列には非対応です(OpenMP並列・GPUを使った計算が可能です)。 info をクリックすると説明が表示されます。

Model にはM3GNetに同梱されている学習済みモデルが表示されます。また、画面左上のアイコン mainmenuicon から Import ‣ Import M3GNet model でモデルをインポートできます。

CHGNet

CHGNet として公開されている、グラフニューラルネットワークに基づく学習済みの汎用力場+Simple DFT-D3による補正を使います。

LAMMPSからPythonを呼び出して実行するため、事前にPython環境の設定が必要である他、MPI並列には非対応です(OpenMP並列・GPUを使った計算が可能です)。 info をクリックすると説明が表示されます。

Model にはCHGNetに同梱されている学習済みモデルが表示されます。また、画面左上のアイコン mainmenuicon から Import ‣ Import CHGNet model でモデルをインポートできます。

SevenNet

SevenNet として公開されている、グラフニューラルネットワークに基づく学習済みの汎用力場を使います。

マルチGPUに対応しており、1GPUあたり1MPIプロセスでの実行が想定されています。

SevenNetに対応したLAMMPSの実行ファイルはNanoLaboに同梱されておりません。リポジトリの説明に従ってリモートサーバー上に実行環境を用意し、実行ファイルを lammps_sevennet というファイル名で用意してください。必要に応じ、Job Script設定画面で PATH を設定してください。

Model にはSevenNetに同梱されている学習済みモデルが表示されます。また、画面左上のアイコン mainmenuicon から Import ‣ Import SevenNet model でモデルをインポートできます。

  • SevenNet-0_serial: 応力の出力が可能です。

  • SevenNet-0_parallel: マルチGPUでの実行が可能です。圧力の計算はできません(不正確になります)。

Scheme(計算過程)

入力ファイルエディターの Scheme で計算過程の設定を行います。画面右下のメニュー editormenuicon から Scheme をクリックしてください。

画面右側の Setting Scheme で計算過程のパラメーターを設定します。

  • Shape of Cell: NPH、NPTにおけるセル変形の拘束条件の設定

Isotropic

等方的な変形を許す

Anisotropic

x,y,z軸方向の伸縮を許す

Triclinic

任意の変形を許す

XY Isotropic
YZ Isotropic
XZ Isotropic

2つの軸方向の同じ割合での伸縮を許す

XY Anisotropic
YZ Anisotropic
XZ Anisotropic

2つの軸方向の伸縮を許す

XY Monoclinic
YZ Monoclinic
XZ Monoclinic

2つの軸を含む面内の任意の変形を許す

X Mobile
Y Mobile
Z Mobile

1つの軸方向の伸縮を許す

Add SchemeApply をクリックすると、画面左側に設定内容がタイル状に表示されます。必要に応じ、設定 → Apply を繰り返して過程を追加していきます。

タイルの左上の数字が過程の実行される順番です。前へボタン lpback 、後へボタン lpfwd で順番を入れ替えます。削除ボタン lpdel で削除します。

また、ショートカットキーによる操作ができます。

操作

直前に追加したタイルを削除

Ctrl + C , Backspace , Delete

アンドゥ(直前の操作の取り消し)

Ctrl + Z

リドゥ(取り消した操作のやり直し)

Ctrl + Shift + Z

* macOSでは Ctrlcommand と読み替えてください。

追加済みのタイルの設定を後から編集するには、タイルをダブルクリックしてください。 Set the scheme ウィンドウが表示され、設定を編集できます。

また、 Statistical Properties の各項目を yes に設定することで、統計量(熱伝導率、粘性係数、拡散係数、動径分布関数(RDF))が計算され、結果画面に表示されます。熱伝導率、粘性係数については、 dotsmenuicon からパラメーターを設定できます。

各熱力学量や原子構造は毎ステップではなく、間を空けて出力されます。 Interval to Print Logs で出力の間隔をステップ数で設定できます。

../_images/scheme.png

Option(追加操作)

入力ファイルエディターの Option で外場・外力等の設定を行います。

  • E-Field

    静電場を印加します。

  • Ext. Forces

    外力を印加します。

  • Move Atoms

    原子を一定の速度で(原子に働く力に依らず)動かします。

  • Deform Cell

    セルを一定の速度で変形させます。対象とする原子はセルの変形に追随します。

各タブの Target Group で対象とする原子グループを選び、パラメーターを入力します。

これらの設定は、 Scheme の過程ごとに独立しており、 Target Scheme で選択されている過程にのみ適用されます。

ヒント

初速度を与えて原子を動かすにはこの画面ではなく、 GeometryVelocities で設定します。

また、 Target Group として最初はall(全ての原子)のみが選択できますが、Groups で原子グループを定義することができます。 add をクリックして行を追加し、 Element で元素を選択して一括で指定するか、 Atoms のボタンをクリックして原子を選択して指定します。原子グループを削除するには行の右クリックメニューから Delete をクリックします。

注釈

LAMMPSの仕様により、原子グループ数の上限は32個(allを除いて、31個まで追加可能)となります。

../_images/group.png

User's(ユーザー定義)

入力ファイルエディターの User's で任意コマンド追加、任意変数出力・グラフ化の設定を行います。

  • User's Additional Settings into Input-file

    テキストボックスに任意のLAMMPSコマンドを追加すると、入力ファイルに挿入されます。

  • User's Variables to Output and Plot

    変数を追加すると、結果画面にボタンが追加され、時系列プロットとして表示することができます。また、CSVファイルにもカラムが追加されます。

    変数としてはあらかじめ定義されているもの(LAMMPSマニュアル参照)や、LAMMPSコマンドで追加したものを使えます。

例として、bond・angleが定義されている計算(OPLS-AA力場)で、各時刻の結合距離・結合角の平均をプロットし、ヒストグラムをファイル出力する設定を示します。

  • User's Additional Settings into Input-file

compute 1 all bond/local dist
compute 2 all angle/local theta
compute 3 all reduce ave c_1 c_2
fix 1 all ave/histo 10 10 100 0.8 1.1 20 c_1 mode vector file dist.histo
fix 2 all ave/histo 10 10 100 80 120 20 c_2 mode vector file theta.histo
  • User's Variables to Output and Plot

c_3[*]

LAMMPSコマンドの使い方についてはLAMMPSのマニュアルを参照してください。