Abstract

This project provides a complete “input-to-analysis” workflow for simulating adatom diffusion on FCC metal surfaces. It demonstrates how to set up surface diffusion simulations in LAMMPS, manage EAM potentials, and automatically parse trajectory data into publication-ready visualizations using Python.

The workflow covers two material systems (Copper (Cu) and Platinum (Pt)) providing comparative datasets that highlight how atomic mass and bonding strength affect surface dynamics.

Technical Implementation

Simulation Architecture

The project separates simulation logic from analysis code:

DirectoryDescription
/adatom_cuCopper adatom diffusion on Cu(100)
/adatom_ptPlatinum adatom diffusion on Pt(100)

Each directory contains:

  • LAMMPS input scripts (.in files) defining the physics
  • EAM potential files for accurate metallic bonding
  • Python analysis scripts for trajectory and energy parsing

Key Features

  • EAM Potentials: Uses Embedded Atom Method alloy potentials to accurately model metallic bonding and surface energies, which simple Lennard-Jones potentials fail to capture
  • Automated Analysis: Python pipeline (plot_energy.py, plot_xy.py) that parses raw thermodynamic logs and trajectory dumps to generate “health check” dashboards
  • Workflow Orchestration: Demonstrates the “Input → Simulation → Analysis” loop, automating the transition from raw .lammpstrj files to publication-ready plots
  • Kokkos Support: Includes high-performance execution commands for GPU/multi-threaded runs

Simulation Parameters

ParameterValuePurpose
EnsembleNVT → NVEEquilibration followed by energy conservation checks
PotentialEAM/alloyAccurate metallic bonding for surface dynamics
MinimizationCG (1.0e-4)Remove steric overlaps before dynamics
Output5 fs resolutionHigh-fidelity trajectory capture

This workflow is documented in detail in companion blog posts: