Integrated Computational Materials Engineering (ICME)

Task 2 - Atoms to Dislocations

In this task, we will bridge information from the nanoscale to the microscale by calculating the dislocation mobility drag coefficient using Molecular Dynamics, and using it to run Dislocation Dynamics simulations. There are two parts to this task:

  • Molecular Dynamics (MD) using Large-scale Atomic/Molecular Massively Parallel Simulator (LAMMPS)
  • Dislocation Dynamics (DD) using Multiscale Dislocation Dynamics Plasticity (MDDP)
All the necessary files can be found on the ICME website. Copy them to a folder on your computer. Use /scratch/"Your Directory" for best results, especially if your job reads/writes much data.

Write a full report that follows a journal article manuscript format (include figures and tables in the text).

Upon completion, submit via email a .pdf and .doc(x) file of your report. Be sure to also include the requested files and plots from each section of the task.

Part 1 - Single Dislocation Mobility Calculations Using MEAM


For this section, you will use the Modified Embedded Atom Method (MEAM) in Large-scale Atomic/Molecular Massively Parallel Simulator (LAMMPS) to acquire the dislocation mobility drag coefficient for your material.

You can obtain LAMMPS and find the user manual here. Visit the LAMMPS tutorials page for a wide range of examples.

LAMMPS video tutorials:

Environment Setup

LAMMPS is an open source code and can be downloaded here. The source code can be easily compiled, or binary distributions are available for easy installation.

In addition to the software, you will need an input file, an atom position file, a post-processing script, and two files for your atomistic potential.

  • The input file for this simulation is DislocationVelocity.
  • The atom position file will be created by Atomistic Dislocation Generation.
  • The post-processing script uses Ovito's scripting and analysis capabilities: Single Defect Velocity in Ovitos.
  • The atomistic potential files will be from ICME 2017 HW1.

Calculating Dislocation Velocity


Video tutorials:

Step 1

Generate the atomic structure using Atomistic Dislocation Generation. Once you have downloaded and compiled the fortran routine, as directed, simply run it at the command line as explained on the script page. For this calculation, you want to make an edge dislocation in a PAD geometry. It will create the required data file as atoms.*.edge.pad, where * is either fcc or bcc, depending on your material. You will need to copy the data file to the directory where you will run the MD simulation.

Step 2

Edit the LAMMPS input file for your material, applied stress, and desired temperature. These can all be set by variables at the top of the input file.

# Variable definitions
variable initTemp equal 300.          	# desired temperature
variable sigma equal 15000.    		# applied stress in bar
variable material string Ta		# material symbol
variable atom_file string atoms.bcc.edge.pad # the configuration was generated by SG with the preprocessor dislocation.f90

initTemp will determine the temperature of the system.

sigma will determine the applied shear stress in bar.

material will determine the name of your material used in your MEAM potential files. It expects to find a library file, *.library.meam, and a parameter file, *.meam where the * represents the material symbol.

atom_file is the name of the data file that contains the initial atom positions.

Step 3

Run the simulation:

lmp_version -in

LAMMPS will create several output files from the simulation. You can load each of them in Ovito to see what each includes. You will run the post-processing script, Single Defect Velocity in Ovitos, on the dump.shear.unwrap file, following the directions on the script page.

It will output a time versus position file which you can use to calculate the velocity of the dislocation.

Task Assignment

  1. Generate the atom positions file to be used for studying the mobility of an edge dislocation for your FCC or BCC material. A unit cell size of 100 x 60 x 2 will produce a simulation box containing ~70,000 atoms for an FCC structure.

  2. Run LAMMPS using the atom positions file generated in the previous step along with the LAMMPS input file for each of the following:
    1. Show the atom positions before the calculation illustrating the dislocation by looking at the dump.equilibration file.
    2. Use a minimum of three (3) different MEAM parameter sets based on the sensitivity analysis from HW1. Compare the position vs. time curves for each set.
    3. Study the effects of the applied shear stress on the dislocation velocity in your material compared to aluminum as in Figure 9.7 (a) in the ICME for Metals textbook.
    4. Determine the drag coefficient using Equation 9.2 in the ICME for Metals textbook from the study in Part (c).

Part 2 - Dislocation Dynamics


In this section, you will use Multiscale Dislocation Dynamics Plasticity (MDDP) to simulate the motion of a dislocation, thereby upscaling the dislocation mobility from the nanoscale.

Environment Setup

Source code and example inputs can be downloaded from this link.

Post processing instructions for MDDP are found here.

A video tutorial on running MDDP can be found here.

A second video on running MDDP can be found here.

Simulating the Motion of a Dislocation


Step 1

Edit datain and data.

The first file, datain, will be used by the utility that creates the dislocation geometry. You will need to make sure that the two files are consistent - specifically that they both have the same system size (sidex,sidey,sidez).

The second file, data, will be used by MDDP to define material and system parameters.

For your material, edit:
  • Crystal structure
  • Density
  • Shear modulus (shr)
  • Poisson's ratio (both elastic moduli can be upscaled from DFT)
  • Mobility (from the first part of this task)
  • Burger's vector (Ba)
  • Intrinsic stacking fault energy (stkFE)
Make sure that you maintain the format of the file

Step 2

Create the dislocation geometry.

Depending on your crystal structure, run FCCdata or BCCdata. The utility will prompt you for several quantities, including the type of structures to create. Specify Frank-Read Source pairs as your geometry.

Step 3


Several output files will be created, but only two kinds that we care about:
  • DDtimeResults.out - This is a text file with the history data of dislocation density, stress, and strain.
  • tech* - These will be a series of files that can be used to get the visual output including the dislocation lines.

Step 4

Post-process using TecPlot or Paraview

Task Assignment

  1. Run MDDP using a single Frank-Read source (SFRS). Be sure to change the data file to reflect the properties of your material as determined from LAMMPS.
    1. Generate stress-strain curves using a minimum of three (3) different mobilities.
    2. Illustrate the SFRS at several intervals as the dislocation loop propagates.

Part 3 - Room for Improvement

Improve the instructions and/or tutorials for running LAMMPS/MDDP using your experience gained from Parts 1 and 2.


By using the codes provided here you accept the the Mississippi State University's license agreement. Please read the agreement carefully before usage.