Molecular Dynamics of Graphene Lattice

Molecular Dynamics



Molecular Dynamics (MD) is a computational method to determine the trajectories of atoms in phase space according to Newton's equations of motion (F=ma).
The interaction energy is calculated according to atom position only, using an effective interatomic potential. We do not solve quantum equation every time step.

In this project, MD is used for making an example lattice of Graphene with an artificial point defect (missing atom).

(UPDATE on 29/11/13) The files in the following instructions were for Dan Mordehai's Big Mech part of TAMNUN and have been adapted by Dan Mordehai for general use on TAMNUN. Details and downloadable files can be found on Joan Adler's easy LAMMPS page. The files needed for the visualization part of Koren's project are also linked from there.

About Lammps


What is LAMMPS?

  • LAMMPS - Large scale Atomic/Molecular Massively Parallel Simulator, is an MD simulation tool, designed to run efficiently on parallel computers.
  • LAMMPS is distributed freely under the terms of the GNU Public License (GPL).
  • History:

  • LAMMPS development began in the mid 1990s. The goal was to develop a large-scale parallel classical Molecular Dynamics (MD) code. The coding effort was led by Steve Plimpton at Sandia.
  • A final F77 version was released as LAMMPS 99 (1999).
  • A final F90 version was released as LAMMPS 2001.
  • The current LAMMPS is a rewrite in C++ and was first publicly released as an open source code in 2004.
  • It also includes features from older parallel MD codes written at Sandia, namely ParaDyn, Warp, and GranFlow.
  • My Lammps Script


    This script reads a data file of Graphene perfect lattice (fully periodic boundary conditions), creates artificial point defect in the lattice (vacancy) by deleting several atoms, relaxes the system to minimum energy and applies NVE microcanonical ensemble on the imperfect lattice using Interatomic Potential of tersoff.
    The simulation Outputs results to
    xyz dump files.


    Read data file

    To demonstrate lammps script, I have created a perfect 2D Graphene lattice (size 10X10, 400 atoms) data file with C++ code.
    The input data file contains number of atoms, atoms type, simulation box size in all directions, atoms masses and coordinates of atoms (x,y,z).
    In the 2D case, const z=0.

    Delete Atoms

    The delete_atoms command is used to carve out voids from a block of material or to delete created atoms in the lattice.
    For style 'porosity' a specified fraction of atoms are deleted within the specified region.
    In this script, 10% of atoms will be deleted. The atoms to delete are chosen randomaly.

    Relexation

    The relaxation of the system is made by Energy Minimization Technique called 'Conjugate-Gradient method'.
    In general, this method finds the local energy minima in a system of N atoms in a NVE ensemble.At each iteration the force gradient combined with the previous iteration information to compute a new search direction perpendicular (conjugate) to the previous search direction.
    The minimize command perform an energy minimization of the system by iteratively adjusting atom coordinates.
    - 1e-4 is stopping tolerance for energy.
    - 1e-6 is stopping tolerance for force.

    Dynamics

    Fix NVE preforms constant NVE integration to update position and valocity for atoms in the group each timestep. V is volume;E is energy. This creates a system trajectory consistent with the microcanonical ensemble.
    Fix temp/rescale reset the temprature of a group of atoms by explicitly rescaling their velocities.

    Interatomic Potential

    At first, I tried to use ch.airebo potential of 'Brenner' for Carbon, but the solution was diverged and atoms dissappeared from the simulation.
    Later on, I used Tersoff potential and got good results for this project example. However, I should carefully refer to this results, because 'Tersoff' potential is not good enough to deal with defects and boundary conditions in Graphene.

    Dump file

    The output is written to an xyz dump file every 100 steps.
    The xyz dump file contains number of atoms, atoms type and coordinates (x,y,z).

    References


    Project Presentation for class

    Back to top...