lammps-simulation について
lammps-simulation は、ワークステーションで LAMMPS 分子動力学シミュレーションを実行するためのエージェントスキルです。パラメーターの調査と引用、単位変換、入力ファイル作成、実行、物性解析を案内し、力場パラメーターには出典を求めます。
主な機能
- 01力場パラメーターの調査
- 02パラメーターの単位変換
- 03出典付き LAMMPS 入力ファイルの作成
- 04CPU または GPU シミュレーションの実行
- 05拡散と動径分布の解析
活用シーン
- 01材料の拡散係数の計算
- 02力場パラメーターの調査と記録
- 03分子動力学シミュレーションの実行
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ fl-sean03/ agentic-science-worker --skill lammps-simulationインストール後、Claude Code で/lammps-simulationを入力して読み込まれたか確認します。
詳細
LAMMPS 分子動力学シミュレーション
このワークステーションで LAMMPS 分子動力学シミュレーションを実行しています。
重要:パラメーターは自分で調べる
力場パラメーターは自分で調べる必要があります。提供されていません。
力場パラメーターの調べ方
ステップ 1:必要な情報を特定する
- 材料は何ですか?(アルゴン、水、銅など)
- どの物性ですか?(拡散、構造、熱伝導率)
- 条件は何ですか?(温度、圧力)
ステップ 2:文献を検索する
Good search queries:
- "[material] lennard-jones parameters molecular dynamics"
- "[material] force field molecular dynamics"
- "[material] interatomic potential parameters"
- "[water model] parameters" (for TIP3P, TIP4P, SPC/E, etc.)
- "[metal] EAM potential"
ステップ 3:信頼できる情報源を見つける
| 材料 | 主要論文 | 主な値 |
|---|---|---|
| 液体アルゴン | Rahman 1964, Phys. Rev. 136, A405 | ε/kB=119.8 K, σ=3.405 Å |
| TIP4P 水 | Jorgensen 1983, J. Chem. Phys. 79, 926 | 論文の表 I を参照 |
| TIP3P 水 | Jorgensen 1983(同じ論文) | ε=0.1521 kcal/mol, σ=3.1507 Å |
| SPC/E 水 | Berendsen 1987, J. Phys. Chem. 91, 6269 | qO=-0.8476e, ε=0.1553 kcal/mol |
ステップ 4:必要に応じて補足資料をダウンロードする Playwright または WebFetch を使って、パラメーターテーブルを含む SI を取得します。
ステップ 5:単位を変換する
kJ/mol → kcal/mol: divide by 4.184
eV → kcal/mol: multiply by 23.06
K → kcal/mol: multiply by 0.001987 (kB)
ステップ 6:入力ファイルに出典を記載する
# Lennard-Jones parameters for liquid argon
# Source: Rahman, Phys. Rev. 136, A405 (1964)
# ε/kB = 119.8 K = 0.238 kcal/mol, σ = 3.405 Å
pair_coeff 1 1 0.238 3.405
バイナリの場所
LAMMPS は環境変数で設定します(.claude/settings.json またはシェルで設定):
# From environment variable
LMP="${LMP:-lmp}" # Falls back to 'lmp' in PATH
# Or check your config
echo $LMP
実行コマンド
CPU:
$LMP -in input.lmp
GPU(大規模システム向け):
$LMP -sf gpu -pk gpu 1 neigh yes -in input.lmp
完全なワークフロー(エージェント型)
例:液体アルゴンの拡散
与えられる情報:「液体アルゴンの自己拡散係数を計算する」
実行する内容:
-
アルゴンの MD パラメーターについて文献を検索する
- 主要論文として Rahman 1964 を見つける
- ε/kB = 119.8 K、σ = 3.405 Å を抽出する
- 条件を確認する:T = 94.4 K(三重点)、ρ = 1.374 g/cm³
-
パラメーターを変換する
- ε = 119.8 K × 0.001987 kcal/(mol·K) = 0.238 kcal/mol
-
システムサイズを計算する
- N = 864 原子(Rahman が選んだ値。高速化する場合は 256~500)
- 密度からボックスサイズを求める:L = (N × M / (ρ × Nₐ))^(1/3)
-
引用を記載した入力ファイルを作成する
# Liquid Argon MD - Self-diffusion calculation # Parameters from Rahman, Phys. Rev. 136, A405 (1964) units real atom_style atomic boundary p p p # Create FCC lattice, will melt to liquid lattice fcc 5.26 # ~1.374 g/cm³ region box block 0 6 0 6 0 6 create_box 1 box create_atoms 1 box mass 1 39.948 # Argon # LJ potential - Rahman 1964 parameters pair_style lj/cut 10.0 pair_coeff 1 1 0.238 3.405 # ε=0.238 kcal/mol, σ=3.405 Å # Initialize velocities at target temperature velocity all create 94.4 12345 # Equilibration fix 1 all nvt temp 94.4 94.4 100.0 timestep 2.0 thermo 100 run 10000 # Production with trajectory for MSD reset_timestep 0 dump 1 all custom 100 trajectory.lammpstrj id type x y z run 50000 -
シミュレーションを実行する
$LMP -in input.lmp -
MSD を解析して D を求める
- LAMMPS の compute msd を使うか、トラジェクトリを後処理する
- D = lim(t→∞) MSD(t) / (6t)
-
文献値と比較する
- Rahman 1964:D ≈ 2.43 × 10⁻⁵ cm²/s
- 結果は約 10% 以内に収まるはずです
一般的な Pair Style と用途
| Pair Style | 用途 | 備考 |
|---|---|---|
lj/cut | 希ガス、単純流体 | 文献から ε、σ を調べる必要があります |
lj/cut/coul/long | 電荷を持つ分子系 | kspace と組み合わせます |
eam | 金属 | 文献から .eam ファイルをダウンロードします |
tersoff | 共有結合系(Si、C など) | 公開済みのパラメーターファイルを使用します |
reaxff | 反応系 | 力場ファイルが必要です |
金属用 EAM ポテンシャルを探す
- 検索:「[metal] EAM potential LAMMPS」
- NIST Interatomic Potentials Repository を確認します:https://www.ctcms.nist.gov/potentials/
- .eam.alloy または .eam.fs ファイルをダウンロードします
- 入力ファイルで参照します:
pair_style eam/alloy pair_coeff * * Cu_Zhou04.eam.alloy Cu
入力ファイルの構成
- 単位とスタイル - ほとんどの分子系では
units real - 構造 -
read_dataまたはlattice/create_atomsで作成 - 力場 -
pair_styleとpair_coeff(自分で調べる必要があります) - ダイナミクス -
fix nvt/npt/nve、timestep - 出力 -
thermo、dump - 実行 -
minimizeまたはrun
よくある問題と解決策
- "Unknown pair style" - スタイルがコンパイルされていません。利用可能なスタイルを
$LMP -hで確認してください。 - "Bond atom missing" - データファイルのトポロジーエラー
- "Out of range atoms" - タイムステップが大きすぎるか、パラメーターが不適切です
- 温度/エネルギーが正しくない - 単位の整合性を確認してください(real、metal、lj の違い)
物性の計算
拡散係数
compute msd all msd
fix msd_out all ave/time 100 1 100 c_msd[4] file msd.dat
その後:D = slope(MSD vs t) / 6
動径分布関数
compute rdf all rdf 100
fix rdf_out all ave/time 100 1 100 c_rdf[*] file rdf.dat mode vector
温度/圧力
デフォルトで thermo 出力に含まれています。
重要な原則
プレースホルダーのパラメーターは使用しないでください。 すべての pair_coeff 行には、コメント内に出典を記載してください。パラメーターが見つからない場合は、さらに詳しく調べるか、文献にパラメーターが見当たらないことを報告してください。