Introduction
Part of the LAMMPS Adatom Diffusion Series: This post builds on my Cu adatom diffusion tutorial. If you’re new to LAMMPS surface simulations, I’d recommend starting there for the detailed setup explanations. See the complete series overview for the full learning path.
I’m learning molecular dynamics simulations with LAMMPS as part of my graduate work. My goal is to generate trajectory data that can be used for training machine learning models.
I’ve previously written about simulating:
- Mini-Proteins
- Cu Adatom Diffusion on Cu(100) — start here if you’re new to LAMMPS surface simulations
This post extends that work to platinum adatoms on a Pt(100) surface—a system that’s particularly relevant for understanding catalytic processes.
Simulation Setup
This simulation models a single platinum atom (called an “adatom”) moving across a platinum surface. An adatom is simply an atom sitting on top of a crystal surface rather than being part of the regular crystal structure.
Here are the key details:
- Based on: Eric N. Hahn’s tutorial (see my Cu version for more background)
- Potential: Uses an established atomic interaction model from Zhou et al. (2004), available here
- Temperature: Atoms start at 600 K, with a heat bath maintaining the bulk at 850 K
- Duration: 500 picoseconds of simulation time
Why platinum? Platinum is widely used in catalysis, so understanding how individual atoms move on its surface has practical relevance for designing better catalysts.
The setup uses a simple approach: fix the bottom layer of atoms in place and apply a heat bath to the next layer up to maintain realistic temperature conditions.
You can watch the simulation in action here:
LAMMPS Input Script
If you want to try this simulation yourself, here’s the complete LAMMPS input script. The script sets up the crystal structure, places the adatom, and runs the simulation while controlling temperature:
### Original Created by Eric N. Hahn ###
### [email protected] ###
### Modifications by Hunter Heidenreich, CSE lab (Harvard, 2023)
### [email protected]
### 2023-09-01
### Simulating adatoms ###
### Version 0.2 ###
units metal
dimension 3
boundary p p s
atom_style atomic
lattice fcc 3.96
variable cubel equal 4
variable fixer1 equal "v_cubel+2"
variable fixer2 equal "v_cubel+1.49"
region box block -${cubel} ${cubel} -${cubel} ${cubel} -${fixer1} 1 units lattice
region cbox block -${cubel} ${cubel} -${cubel} ${cubel} -${fixer1} 0 units lattice
create_box 1 box
create_atoms 1 region cbox
create_atoms 1 single -0.5 0 0.5 units lattice
region hold block INF INF INF INF -${fixer1} -${fixer2} units lattice
region temp block INF INF INF INF -${fixer2} -${cubel} units lattice
group hold region hold
group temp region temp
pair_style eam/alloy
pair_coeff * * Pt_Zhou04.eam.alloy Pt
timestep 0.005
compute new all temp
velocity temp create 600 12345
fix heater temp temp/rescale 1 850 850 5 1
fix nve all nve
fix freeze hold setforce 0 0 0
variable e equal pe
variable k equal ke
variable t equal etotal
variable T equal temp
fix energy all ave/time 1 50 50 v_k v_e v_t v_T file energy_avg.txt
minimize 1.0e-4 1.0e-6 1000 10000
dump eve all custom 5 dump.lammpstrj id type xu yu zu # fx fy fz # uncomment for forces
dump_modify eve sort id
thermo 50
run 100000 # 100_000 * 5 fs = 500 ps
What’s Next?
This type of simulation generates atomic trajectories that can be valuable for training machine learning models to predict material behavior. While this is a simple system, it’s a stepping stone toward more complex simulations of surface processes.
The data from these simulations could be used to train models that predict how atoms move on surfaces under different conditions—useful for understanding catalysis, crystal growth, and other surface phenomena.
Questions or suggestions? Feel free to reach out—I’m always happy to discuss molecular dynamics and machine learning applications.