ICME 2017 HW3

Revision as of 08:52, 4 April 2017 by Huddleston (Talk | contribs)

Jump to: navigation, search

< Back to ICME 2017 Course Overview



In this homework, we will bridge information from the microscale to the mesoscale. You will dislocation dynamics simulations with multiple Frank Read sources to determine parameters for a hardening rule which will be used in a crystal plasticity code (CPFEM). Thus, there are two parts to this assignment:

  • Dislocation Dynamics (DD) using Multiscale Dislocation Dynamics Plasticity (MDDP)
  • Crystal Plasticity (CPFEM) implemented as a user material routine in ABAQUS or Calculix

This exercise uses the hardening law parameters obtained from DD calculations. The hardening law for slip systems is a critical aspect of crystal plasticity models and contains material related parameters which are difficult to obtain from experiments. Thus, DD serves as a "virtual experiment" from which the hardening parameters can be determined.

All necessary input files and scripts are available through the website. Save these files to your own directory (and make a backup copy) before trying to perform any simulations.

Use /scratch/"Your Directory" for best results.

Write a full report that follows a journal article manuscript format (include figures and tables in the text). Please double-space your document

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 homework.

Part 1 - Dislocation Dynamics Virtual Experiment


This exercise uses dislocation dynamics calculations to determine the parameters of the hardening law used in crystal plasticity. The hardening law for the slip systems is a critical aspect of crystal plasticity models and contains material related parameters that are hard to obtain from experiments. Dislocation dynamics can serve as a “virtual experiment” from which the hardening parameters can be determine using a fitting procedure.

Environment Setup

The setup for MDDP is the same as in the previous homework.

Dislocation Forest Hardening

The steps to run and post-process the results from MDDP will be the same as in the previous homework. However, this time you need to create a DDinput file that includes multiple Frank-Read sources (FRS).

You will want to try to create a structure that has a dislocation density on the order of an annealed material (1e7 1/m^2). The easiest way to do this is to choose a number of FRS to use, and then adjust the system size till you get the correct density. The pre-processor will tell you the total dislocation density at the end of the run. Keep in mind that the more FRS's you have, the longer the simulation will take to run, as the more nodes it will have to simulate. However, if there are too few, the simulation may not be representative of the real material.

You will need to make one additional change to your data file, to change the kind of boundaries in the simulations cell. Change the relevant line to:

4: npolorder,   ncell, ifree (0,1 or 3), nsface1(3),    nsface2(3)
    1            0           1         1 1 1      1 1 1

Homework Assignment

1. Using the three stress-strain curves from dislocation dynamics and by assuming a linear fit to the work hardening (post-yield portion of stress-strain curve), estimate the slope of the linear hardening regime. How does uncertainty affect the linear assumption? Is there a better assumption than linearity?
2. Fit dislocation density results to the Voce Hardening Law (Equation 9.9 in ICME textbook).
3. Report on your results

Part 2 - Upscale Dislocation Forest Hardening to Crystal Plasticity


  • Run a one-element finite element simulation using the Voce hardening law with one crystal orientation.
  • Plot a stress strain curve for each set of hardening constants.
  • Report on your results.

Environment Setup

This part of the assignment can be completed in either ABAQUS on a Mississippi State computer, or any other fully licensed Abaqus, or on Calculix, a free, open-source FEA solver.

For either software, you will need the input files for CPFEM in an aluminum material found here. If you are using a bcc material, you will also need the bcc slip system file here.

For Calculix, also download the additional umat files and compile as described here.

Single Crystal CPFEM Simulation

Step 1

Create the input file.

(Hint: Calculix and Abaqus can take the same input files.)

  1. Create a cube
  2. Constrain the cube so that all rigid body displacements and rotations are constrained.
    1. Constrain one corner of the cube to be fixed in all directions
    2. Constrain two adjacent nodes to be fixed in the direction of loading. Make sure that these 3 nodes are all in a plane which is perpendicular to the direction of loading.
    3. Constrain one of these two adjacent nodes to be fixed in a second direction, such that this node cannot rotate about the fixed corner of the cube.
  3. Mesh the cube such that only a single element is created.
  4. Add a displacement to the face opposite of the constrained face, such that a large strain is applied to the cube.
  5. Create a material section and apply it to the cube.
  6. Add a material to the cube (in Calculix, name it XTAL)
    1. Set the number of dependent variables equal to the number of grains times 70.
       *DEPVAR = NUM_GRAINS * 70
    2. Set the material to be a user material with two mechanical constants: #1 = 1; #2 = 1.
    3. Do not forget to apply this material to the Section

An example Calculix input file can be found here. Make sure you save the file with a *.inp extension NOT a *.txt extension.

Step 2

Set up the CPFEM input files.

  • In the umat_xtal.f file, edit the line
    data  filePath
    &    /'/cavs/cmd/data1/users/qma/abaqus_xtalplas/oneelement/'/
    to be the directory where your crystal plasticity inputs are stored.
    • (FOR CALCULIX) Comment out the line
      include ABAQUS ... something
      by adding a "c" to the beginning of the line.
  • Edit the texture. file to include only a single crystal.
    • Change the first line to 1
    • Leave the second line!
    • Leave only one of the lines containing the Euler angles for the crystal orientations.
  • In the test.xtali input file, change the second number on the first line to 1, for the number of grains.
    • Make sure the line with
      fcc.sx                                  / single crystal input file
      is updated to reflect the crystal structure of your material.

Step 4

Change the single crystal input file (fcc.sx or bcc.sx) to match that of your material The following lines need to be edited with the single crystal elastic constants of your material:

108.2e3  61.3e3  28.5e3                 / c11(c1), c12(c2), c44(c3) / # These numbers should match c11, c12, and c44 for your material

Then, for each slip system in use, edit these lines with the values calculated from Homework 2, or Part 1 of this homework.

2.e-5                                / bdrag / # This should match the drag coefficient obtained in Homework 2
35.5  39.5  1.85  0.0-4  5.0e10    / h0, tausi, taus0, xms, gamss0 / # The first three should match the values obtained in Part 1

Step 5

Run the simulation

The finite element simulation can be run locally, as it is a very small simulation.

For Abaqus, run the job with
abaqus job=<YOUR_INPUTFILE_NAME> user=umat_xtal.f
Similarly, for Calculix, run the job with

For both, make sure to enter the job name without the ".inp" extension.

Step 6

Access the results

  • ABAQUS simulation output is stored in an output database file with extension ".odb". ODB files can be visualized and post processed in ABAQUS CAE or ABAQUS VIEWER.
  • Calculix output can be viewed in Calulix's viewer, or in Paraview.

Room for Improvement

As with the previous homeworks, improve the tutorial(s) by adding/modifying the ICME website for:

1. Dislocation dynamics (MDDP)
2. Crystal Plasticity
Personal tools

Material Models