ICME 2015 HW3

Jump to: navigation, search

< Back to ICME 2015 Course Overview



This homework takes place at the microscale and macroscale and is separated into two parts:

  • Dislocation Dynamics (DD) using Multiscale Dislocation Dynamics Plasticity (MDDP)
  • Crystal Plasticity (CP) using Abaqus and a user developed crystal plasticity finite element method
  • This exercise uses the hardening law parameters obtained from the previous dislocation dynamics 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, dislocation dynamics serves as a "virtual experiment" from which the hardening parameters can be determined through a fitting routine.
  • This assignment will make use of the finite element code ABAQUS

All necessary input files and scripts are provided in the /cavs/general/Projects/ICME_2015/HW3/ directory. Move 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, upload a .pdf and .doc(x) file to your group folder in the ../ICME_2015/HW3/ directory. Be sure to also upload the requested files and plots from each section of the homework.


  • Downscale: Obtain hardening constants from dislocation dynamics calculations that were run in the previous homework.
  • Run a finite element simulation of a single grain while varying hardening values.
  • Run a finite element simulation of 20 and 180 grains while varying hardening values.
  • Plot a stress-strain curve for each stress state (tension, compression, torsion).
  • Plot pole figures of initial and deformed orientations

Part 1 - Running DD to get hardening constants (upscaling for crystal plasticity calibration)

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.

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. Report on your results

Part 2 - Calibrate the Crystal Plasticity model with the DD results for the hardening constants

1. Using Equation 9.9 from the ICME textbook, determine a set of hardening constants (Kappa_s, H_0, Kappa_0) for the Voce equation from each of the work hardening estimates determined in part 3a.
2. Run a one-element finite element simulation using the Voce hardening law with one crystal orientation.
3. Plot a stress strain curve for each set of hardening constants.
4. Report on your results.


Step 1

  • Navigate to this page and locate the section for crystal plasticity finite element method (CPFEM) for aluminum.
  • Copy the all the files listed to a new directory.

Step 2

  • In the repository, download the single element input file "tension.inp" for ABAQUS standard. Save the file to the same directory.

Step 3

  • Set up inputs for a single grain simulation
    • In the UMAT file the following line needs to be edited
      data  filePath
      &    /'/cavs/cmd/data1/users/qma/abaqus_xtalplas/oneelement/'/
    • Replace the file path with the path to the directory that all the crystal plasticity files are saved in.
    • In the texture input file, the number of grains needs to be changed
      0    0
      101.98      145.03      249.44
      131.73       86.26      229.29
      13.58      153.68      314.40
      88.98      124.12      115.16
      132.81      105.72      180.69
      238.51       61.10      158.50
      346.98       88.58      325.61
      82.38      144.74      207.65
      329.83       45.23      169.92
    • The top number (number of grains) needs to be changed to 1 (for 1 grain)
    • Remove all but one set of Euler angles (for the one grain) and set the last number (seed number) to any value greater than the number of grains.
    • Lastly, in the test.xtali input file
      1    500                                 / crystalID (1:FCC, 2:BCC, 3:HCP), numgrn/
      fcc.sx                                  / single crystal input file
      1                                   / ODF code (fODFCode) /
      20                                      / multiples of inc to output texture (fODFOutInc) /
      texture                                 / filename for I/O texture /
    • The second number in the top most line needs to be changed to the number of grains. If when the texture file was changed (see above), it was given a new name, that new name needs to in the last line shown in place of "texture".
  • If you are running the calculation on Raptor
    • In the ABAQUS input file the material definition needs to be edited
      ** MATERIALS
      *Material, name=Material-1
      *User Material, constants=2
    • Change the number of dependent variable to NUMBER_OF_GRAINS * 70
      • For a single grain Depvar: 1*70=70. For 200 grains Depvar: 200*70=14000

Step 4

  • Change the FCC data to match that of nickel
    • In the fcc.sx file the following lines need to be edited
108.2e3  61.3e3  28.5e3                 / c11(c1), c12(c2), c44(c3) / # These numbers should match c11, c12, and c44 for nickel
2.e-5                                / bdrag / # This should match the drag coefficient obtained in HW2
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

Running the Calculation

  • The finite element simulation can be run either on Raptor or locally (very short simulation)

Change the permissions

  • As with previous assignments, to avoid errors, open permission on all the files with:
    chmod 755 *

Run on Raptor

  • Enter the following software setup command in a terminal
    swsetup abaqus
  • Use a PBS script to submit to Raptor or enter this command into a local terminal:
     abaqus job=tension user=umat_xtal.f

Run Locally

Abaqus must be setup to run with Intel Fortran libraries for this method to work!

  • Open Abaqus CAE and click Open Database
  • Navigate to the cpfem_decks folder and open oneelement.cae -- You will be prompted to covert the database; click Yes
  • For the single grain case a new material will need to be made that has a Depvar = 70 and a User Material with Mechanical Constants 1 = 1, 2 = 1
  • For the multiple grain cases a new material will need to be made that has a Depvar = (70*# of grains) and a User Material with Mechanical Constants 1 = 1, 2 = 1
  • Do not forget to apply this material to the Section
  • Under jobs there are four (4) jobs that have already been created -- To run any of these you will need to edit the job; Under the General tab point the Scratch Directory to a temp folder and the User subroutine file to umat_xtal.for (BE SURE THAT THE UMAT EXTENSION IS .for)
  • You are now able to submit the job and work with the data to produce a stress-strain curve


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

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