mcpField
L
lammps-simulation

lammps-simulation

github.com/fl-sean03その他351 回インストール16 週間前に更新
リポジトリ

lammps-simulation について

lammps-simulation は、ワークステーションで LAMMPS 分子動力学シミュレーションを実行するためのエージェントスキルです。パラメーターの調査と引用、単位変換、入力ファイル作成、実行、物性解析を案内し、力場パラメーターには出典を求めます。

主な機能

  1. 01力場パラメーターの調査
  2. 02パラメーターの単位変換
  3. 03出典付き LAMMPS 入力ファイルの作成
  4. 04CPU または GPU シミュレーションの実行
  5. 05拡散と動径分布の解析

活用シーン

  1. 01材料の拡散係数の計算
  2. 02力場パラメーターの調査と記録
  3. 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, 6269qO=-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

完全なワークフロー(エージェント型)

例:液体アルゴンの拡散

与えられる情報:「液体アルゴンの自己拡散係数を計算する」

実行する内容:

  1. アルゴンの MD パラメーターについて文献を検索する

    • 主要論文として Rahman 1964 を見つける
    • ε/kB = 119.8 K、σ = 3.405 Å を抽出する
    • 条件を確認する:T = 94.4 K(三重点)、ρ = 1.374 g/cm³
  2. パラメーターを変換する

    • ε = 119.8 K × 0.001987 kcal/(mol·K) = 0.238 kcal/mol
  3. システムサイズを計算する

    • N = 864 原子(Rahman が選んだ値。高速化する場合は 256~500)
    • 密度からボックスサイズを求める:L = (N × M / (ρ × Nₐ))^(1/3)
  4. 引用を記載した入力ファイルを作成する

    # 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
    
  5. シミュレーションを実行する

    $LMP -in input.lmp
    
  6. MSD を解析して D を求める

    • LAMMPS の compute msd を使うか、トラジェクトリを後処理する
    • D = lim(t→∞) MSD(t) / (6t)
  7. 文献値と比較する

    • 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 ポテンシャルを探す
  1. 検索:「[metal] EAM potential LAMMPS」
  2. NIST Interatomic Potentials Repository を確認します:https://www.ctcms.nist.gov/potentials/
  3. .eam.alloy または .eam.fs ファイルをダウンロードします
  4. 入力ファイルで参照します:
    pair_style eam/alloy
    pair_coeff * * Cu_Zhou04.eam.alloy Cu
    

入力ファイルの構成

  1. 単位とスタイル - ほとんどの分子系では units real
  2. 構造 - read_data または lattice/create_atoms で作成
  3. 力場 - pair_style と pair_coeff(自分で調べる必要があります)
  4. ダイナミクス - fix nvt/npt/nve、timestep
  5. 出力 - thermo、dump
  6. 実行 - minimize または run

よくある問題と解決策

  1. "Unknown pair style" - スタイルがコンパイルされていません。利用可能なスタイルを $LMP -h で確認してください。
  2. "Bond atom missing" - データファイルのトポロジーエラー
  3. "Out of range atoms" - タイムステップが大きすぎるか、パラメーターが不適切です
  4. 温度/エネルギーが正しくない - 単位の整合性を確認してください(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 行には、コメント内に出典を記載してください。パラメーターが見つからない場合は、さらに詳しく調べるか、文献にパラメーターが見当たらないことを報告してください。

コメント