CHGNet汎用力場を使うための設定¶
Pythonの設定¶
LAMMPSからCHGNet汎用力場+Simple DFT-D3による補正を使うために必要な設定手順を説明します。
実際に計算を行うマシン(計算サーバーにジョブ投入する場合には、その計算サーバー上)でインストールを行ってください。
conda環境の用意
Python環境としてcondaを使用します。現在condaをお使いでない場合は、必要最小限の構成であるMinicondaを推奨します。
MinicondaのページからPython 3.9のインストーラーをダウンロードし、インストールしてください。
Windowsで環境変数
PATH
を変更しない設定でインストールした場合、以降の作業はスタートメニューからAnaconda Promptを起動して行ってください。インターネット接続にプロキシが必要な場合は、環境変数の設定等を適宜行ってください。
set HTTP_PROXY=http://host:port set HTTPS_PROXY=http://host:port
export HTTP_PROXY=http://user:pass@host:port export HTTPS_PROXY=http://user:pass@host:port
(任意)GPUを使う場合
NVIDIAドライバがインストールされていない場合は、あらかじめインストールしてください。
PyTorchのGPU版をインストールします。CUDAバージョンが最新の場合は Get Started 、そうでない場合は Previous Versions を参照し、CUDAバージョンに合わせたpipのインストールコマンドを実行してください。
インストール後、GPUが利用可能になっているかどうかPythonの対話環境で確認できます。
python >>> import torch >>> print(torch.cuda.is_available()) #GPU使用可否 True >>> exit() #Python環境終了
インストール
chgnetと、DFT-D3補正に必要なパッケージをインストールします。
pip install chgnet conda install simple-dftd3 dftd3-python -c conda-forge
NanoLaboへの設定¶
ローカル(NanoLaboを使っているマシン)で実行する場合
画面左上のアイコン から
(またはForce Field設定画面の ボタン)でpython実行ファイルのパスを設定します。Windowsでは
condaのインストール先\python.exe
、Linux・macOSではcondaのインストール先/bin/python
にあります。リモート(計算サーバー等)で実行する場合
condaのインストール先が
~/anaconda3
または~/miniconda3
の場合は、デフォルトで追加されるLD_LIBRARY_PATH
で動作しますので、設定は必要ありません。他の場所にインストールした場合は、画面左上のアイコン から
を開き、ジョブスクリプトにLD_LIBRARY_PATH
を追加してください。export LD_LIBRARY_PATH=(condaのインストール先)/lib:$LD_LIBRARY_PATH
実行時のエラー¶
WindowsでGPUを使った場合、次のようなエラーで実行できない場合があります。
FileNotFoundError: Could not find module 'C:\Program Files\NVIDIA Corporation\NVSMI\nvml.dll' (or one of its dependencies). Try using the full path with constructor syntax.pynvml.NVMLError_LibraryNotFound: NVML Shared Library Not Foundこの場合、
C:\Windows\System32\nvml.dll
をC:\Program Files\NVIDIA Corporation\NVSMI\nvml.dll
にコピー(フォルダがない場合は作成)してから実行してみてください。
DFT-D3を有効にして実行した時に次のようなエラーが出る場合があります。
version `GOMP_5.0' not foundこの場合、次の環境変数を設定してください。
export LD_PRELOAD=(condaのインストール先)/lib/libgomp.so
PyTorch1.13.1以前で次のようなエラーが出ることを確認しています。
IndexError: tensors used as indices must be long, byte or bool tensorsこの場合、PyTorchのバージョンを確認し、PyTorch2以降をインストールしてください。
# インストールされているバージョンを確認 pip list # PyTorchをアンインストール pip uninstall torch torchvision torchaudio # インストール可能なPyTorchのバージョンを表示 pip install torch== # PyTorch2以降を指定してインストール pip install 'torch>=2' torchvision torchaudio
LAMMPSを直接実行する場合¶
NanoLaboを使わず、LAMMPS単体で実行する場合の説明です。
NanoLabo Tool同梱の実行ファイル lammps_chgnet
を使用します。MPI並列計算には非対応です。
環境変数の設定¶
実行時にPythonの動的ライブラリを使用しますので、Linux・macOSでは環境変数 LD_LIBRARY_PATH
、Windowsでは環境変数 PATH
を設定してください(インストール時に設定していない場合)。
LinuxではOpenMPIの動的ライブラリが必要ですので、こちらも LD_LIBRARY_PATH
に設定してください。
$ export LD_LIBRARY_PATH=(condaのインストール先)/lib:(NanoLabo Toolのインストール先)/exec.LINUX/mpi/lib:$LD_LIBRARY_PATH
> set PATH=(condaのインストール先);%PATH%
また、Linuxでは環境変数 OPAL_PREFIX
を設定してください。
$ export OPAL_PREFIX=/opt/AdvanceSoft/NanoLabo/exec.LINUX/mpi
LAMMPSから chgnet_driver.py
を呼び出すことで動作しますので、NanoLabo Toolインストール先の chgnet
フォルダをPythonのモジュール検索パスに追加してください。例えば、環境変数 PYTHONPATH
に追加します。
$ export PYTHONPATH=(NanoLabo Toolのインストール先)/chgnet:$PYTHONPATH
入力ファイルの設定¶
LAMMPSの入力ファイル中で、以下のようにpair_style
を設定します。
pair_style chgnet
pair_coeff * * <modelname> <元素名1 元素名2 ...> # モデル名を指定する例
pair_style chgnet/d3
pair_coeff * * path <modelfile> <元素名1 元素名2 ...> # モデルファイルを指定する例
pair_style chgnet/gpu
pair_coeff * * <modelname> <元素名1 元素名2 ...>
pair_style chgnet/d3/gpu
pair_coeff * * <modelname> <元素名1 元素名2 ...>
パラメーター
modelnamemodelfile 使用するグラフニューラルネットワークのモデルMPtrj-efsmを指定すると、同梱の学習済みモデルを使用pathに続けてファイルパスを指定すると、ファイルに保存されたモデルを使用元素名
LAMMPSのatom type毎に、対応する元素名を列挙