lammps-simulation
npx skills add https://github.com/fl-sean03/agentic-science-worker --skill lammps-simulation
Agent 安装分布
Skill 文档
LAMMPS Molecular Dynamics Simulation
You are executing LAMMPS molecular dynamics simulations on this workstation.
CRITICAL: Finding Your Own Parameters
You must find force field parameters yourself. They are NOT provided.
How to Find Force Field Parameters
Step 1: Identify what you need
- What material? (argon, water, copper, etc.)
- What property? (diffusion, structure, thermal conductivity)
- What conditions? (temperature, pressure)
Step 2: Search literature
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"
Step 3: Find authoritative sources
| Material | Seminal Paper | Key Values |
|---|---|---|
| Liquid Argon | Rahman 1964, Phys. Rev. 136, A405 | ε/kB=119.8 K, Ï=3.405 à |
| TIP4P Water | Jorgensen 1983, J. Chem. Phys. 79, 926 | See paper Table I |
| TIP3P Water | Jorgensen 1983 (same paper) | ε=0.1521 kcal/mol, Ï=3.1507 à |
| SPC/E Water | Berendsen 1987, J. Phys. Chem. 91, 6269 | qO=-0.8476e, ε=0.1553 kcal/mol |
Step 4: Download supplementary materials if needed Use Playwright or WebFetch to get SI with parameter tables.
Step 5: Convert units
kJ/mol â kcal/mol: divide by 4.184
eV â kcal/mol: multiply by 23.06
K â kcal/mol: multiply by 0.001987 (kB)
Step 6: Document source in input file
# 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
Binary Location
LAMMPS is configured via environment variable (set in .claude/settings.json or shell):
# From environment variable
LMP="${LMP:-lmp}" # Falls back to 'lmp' in PATH
# Or check your config
echo $LMP
Execution Commands
CPU:
$LMP -in input.lmp
GPU (for large systems):
$LMP -sf gpu -pk gpu 1 neigh yes -in input.lmp
Complete Workflow (Agentic)
Example: Liquid Argon Diffusion
Given only: “Calculate the self-diffusion coefficient of liquid argon”
You do:
-
Search literature for argon MD parameters
- Find Rahman 1964 as seminal paper
- Extract: ε/kB = 119.8 K, Ï = 3.405 Ã
- Note conditions: T = 94.4 K (triple point), Ï = 1.374 g/cm³
-
Convert parameters
- ε = 119.8 K à 0.001987 kcal/(mol·K) = 0.238 kcal/mol
-
Calculate system size
- N = 864 atoms (Rahman’s choice, or 256-500 for faster)
- Box size from density: L = (N Ã M / (Ï Ã Nâ))^(1/3)
-
Create input file with citations
# 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 -
Run simulation
$LMP -in input.lmp -
Analyze MSD and extract D
- Use LAMMPS compute msd or post-process trajectory
- D = lim(tââ) MSD(t) / (6t)
-
Compare to literature
- Rahman 1964: D â 2.43 à 10â»âµ cm²/s
- Your result should be within ~10%
Common Pair Styles and When to Use
| Pair Style | Use For | Notes |
|---|---|---|
lj/cut |
Noble gases, simple fluids | Need ε, Ï from literature |
lj/cut/coul/long |
Molecular systems with charges | Combine with kspace |
eam |
Metals | Download .eam file from literature |
tersoff |
Covalent (Si, C, etc.) | Use published parameter files |
reaxff |
Reactive systems | Requires force field file |
Finding EAM Potentials for Metals
- Search: “[metal] EAM potential LAMMPS”
- Check NIST Interatomic Potentials Repository: https://www.ctcms.nist.gov/potentials/
- Download the .eam.alloy or .eam.fs file
- Reference in input:
pair_style eam/alloy pair_coeff * * Cu_Zhou04.eam.alloy Cu
Input File Structure
- Units and style –
units realfor most molecular systems - Structure –
read_dataor create withlattice/create_atoms - Force field –
pair_styleandpair_coeff(YOU FIND THESE) - Dynamics –
fix nvt/npt/nve,timestep - Output –
thermo,dump - Run –
minimizeorrun
Common Issues and Solutions
- “Unknown pair style” – Style not compiled in. Check
$LMP -hfor available. - “Bond atom missing” – Topology error in data file
- “Out of range atoms” – Timestep too large or bad parameters
- Wrong temperature/energy – Check unit consistency (real vs metal vs lj)
Property Calculations
Diffusion Coefficient
compute msd all msd
fix msd_out all ave/time 100 1 100 c_msd[4] file msd.dat
Then: D = slope(MSD vs t) / 6
Radial Distribution Function
compute rdf all rdf 100
fix rdf_out all ave/time 100 1 100 c_rdf[*] file rdf.dat mode vector
Temperature/Pressure
Already in thermo output by default.
Key Principle
Don’t use placeholder parameters. Every pair_coeff line should have a citation in the comments. If you can’t find parameters, search harder or report that the parameters aren’t available in literature.