LAMMPS
オープンソースの汎用古典分子動力学アプリケーション。ソフトマター、固体、メソスコピック系などの多くの系で動力学計算を行うことができる。原子の動力学計算や一般的な粒子のシミュレーターとしても利用可能で、空間分割を用いた並行計算にも対応する。GPLライセンスを採用し、コードは変更や拡張が容易となるようにデザインされている。
参考文献
Official home Page: http://lammps.sandia.gov/
Official Document: http://lammps.sandia.gov/doc/Manual.html
LAMMPS on MateriApps: https://ma.issp.u-tokyo.ac.jp/app/596
提供バージョン (2025-01-17)
LAMMPS 本体
20240829_update1
物性研スパコンでの利用方法
以下、 $MA_ROOT
は次のディレクトリに置き換えてください。
System B: /home/issp/materiapps/oneapi_compiler_classic-2023.0.0--openmpi-4.1.5
System C (CPU): /home/issp/materiapps/PrgEnv-intel_8.3.3
System C (GPU): /home/issp/materiapps/nvhpc-nompi_24.7__openmpi_nvhpc_4.1.2
環境設定
LAMMPS は
$MA_ROOT/lammps/
以下にバージョンごとにインストールしてあります。
$ source $MA_ROOT/lammps/lammpsvars.sh
として設定ファイルを読み込むと、最新のインストール済みバージョンのディレクトリが環境変数 LAMMPS_ROOT
に設定され、 実行バイナリのあるディレクトリ $LAMMPS_ROOT/bin
がPATH に追加され、 必要なライブラリの場所が LD_LIBRARY_PATH に追加されます。 告知なくバージョンが更新されることがあります。 バージョンを固定したい場合は、それぞれのバージョン名のついた設定ファイルをsource
してください。
実行バイナリ
実行バイナリ名は lammps
です。 実行にはたとえ1プロセスであっても srun
(ohtaka) および mpiexec
(kugui) が必要となります。
パッケージ
Lammpsのパッケージ (https://docs.lammps.org/Packages_list.html) のうち、追加のライブラリが必要になるもの以外、具体的には以下のものがインストールされています。
AMOEBA ASPHERE BOCS BODY BPM BROWNIAN CG-DNA CG-SPICA CLASS2 COLLOID COLVARS CORESHELL DIELECTRIC DIFFRACTION DIPOLE DPD-BASIC DPD-MESO DPD-REACT DPD-SMOOTH DRUDE EFF EXTRA-COMMAND EXTRA-COMPUTE EXTRA-DUMP EXTRA-FIX EXTRA-MOLECULE EXTRA-PAIR FEP GRANULAR INTEL INTERLAYER KSPACE MANIFOLD MANYBODY MC MEAM MESONT MGPT MISC ML-IAP ML-POD ML-RANN ML-SNAP ML-UF3 MOFFF MOLECULE OPENMP OPT ORIENT PERI PHONON PLUGIN POEMS PTM QEQ QTB REACTION REAXFF REPLICA RHEO RIGID SHOCK SMTBQ SPH SPIN SRD TALLY UEF YAFF
技術的には、all_on.cmake
とnolib.cmake
を用いてビルドされています。
サンプルスクリプトと入力ファイルの場所
$LAMMPS_ROOT/share/lammps/examples
にLAMMPS公式のサンプル集があります。ご自身のディレクトリにコピーしてお使いください。
$ cp -r $LAMMPS_ROOT/share/lammps/examples .
ジョブの実行方法
$MA_ROOT/lammps/sample_jobscript/
にスクリプトのサンプル lammps.sh
が用意されているので、カレントフォルダにコピーします。 lammps.sh
で実行部分に記載されている入力ファイル名 in.param
を適切なものに変更した上でジョブを投入します。
$ cp $MA_ROOT/lammps/sample_jobscript/lammps.sh .
# System B
$ sbatch lammps.sh
# System C
$ qsub lammps.sh