module 3: dislocation dynamics · simulations with a small number of dislocation segments, whereas...
TRANSCRIPT
![Page 1: MODULE 3: DISLOCATION DYNAMICS · simulations with a small number of dislocation segments, whereas ParaDiS is a C code which can perform well on massively parallel computers and suitable](https://reader034.vdocuments.net/reader034/viewer/2022042411/5f2ace1fa868d12aaf625ac4/html5/thumbnails/1.jpg)
MODULE 3: DISLOCATION DYNAMICS
Principles and Theory
![Page 2: MODULE 3: DISLOCATION DYNAMICS · simulations with a small number of dislocation segments, whereas ParaDiS is a C code which can perform well on massively parallel computers and suitable](https://reader034.vdocuments.net/reader034/viewer/2022042411/5f2ace1fa868d12aaf625ac4/html5/thumbnails/2.jpg)
I. Introduction
2
![Page 3: MODULE 3: DISLOCATION DYNAMICS · simulations with a small number of dislocation segments, whereas ParaDiS is a C code which can perform well on massively parallel computers and suitable](https://reader034.vdocuments.net/reader034/viewer/2022042411/5f2ace1fa868d12aaf625ac4/html5/thumbnails/3.jpg)
http://www.lbl.gov/CS/html/exascale4energy/nuclear.html
You are here
3
![Page 4: MODULE 3: DISLOCATION DYNAMICS · simulations with a small number of dislocation segments, whereas ParaDiS is a C code which can perform well on massively parallel computers and suitable](https://reader034.vdocuments.net/reader034/viewer/2022042411/5f2ace1fa868d12aaf625ac4/html5/thumbnails/4.jpg)
What is dislocation dynamics?A (predictive?) guide to the evolution of materials microstructureAn experiment on a computerA simulation of the “classical” dynamics of dislocations
4http://llnl.gov http://dierk-raabe.com
![Page 5: MODULE 3: DISLOCATION DYNAMICS · simulations with a small number of dislocation segments, whereas ParaDiS is a C code which can perform well on massively parallel computers and suitable](https://reader034.vdocuments.net/reader034/viewer/2022042411/5f2ace1fa868d12aaf625ac4/html5/thumbnails/5.jpg)
Why is it useful?By simulating dislocation motion, interaction, and growth, we can gain mesoscale insight into dislocation structure
Advanced experimental techniques (TEM, high-energy X-ray diffraction) can resolve dislocation structure, but not dynamics
We can predict and understand dislocation behavior and compare / interpret experimental observations
Total control of dislocation interactions and initial conditions
Nanomechanical measurement approaches scale of DD
5
![Page 6: MODULE 3: DISLOCATION DYNAMICS · simulations with a small number of dislocation segments, whereas ParaDiS is a C code which can perform well on massively parallel computers and suitable](https://reader034.vdocuments.net/reader034/viewer/2022042411/5f2ace1fa868d12aaf625ac4/html5/thumbnails/6.jpg)
What is it used for?Bridge from atomistic to mesoscale- dislocation behavior and interaction scale up
Understanding strain hardening- dislocation density growth with strain &
importance of interaction mechanisms
Examining small-scale plasticity- micro- and nano pillars show unusual
plastic behavior due to dislocations
Parameterizing larger-scale models- dislocation-density-based crystal plasticity
6http://llnl.gov http://icams.de
![Page 7: MODULE 3: DISLOCATION DYNAMICS · simulations with a small number of dislocation segments, whereas ParaDiS is a C code which can perform well on massively parallel computers and suitable](https://reader034.vdocuments.net/reader034/viewer/2022042411/5f2ace1fa868d12aaf625ac4/html5/thumbnails/7.jpg)
Dislocations and plastic deformation 7
Peach-Kohler force Orowan equation
applied stress plastic strain
force on dislocations dislocation motion
dislocation mobility Peierls stress
dislocation/obstacle interaction
![Page 8: MODULE 3: DISLOCATION DYNAMICS · simulations with a small number of dislocation segments, whereas ParaDiS is a C code which can perform well on massively parallel computers and suitable](https://reader034.vdocuments.net/reader034/viewer/2022042411/5f2ace1fa868d12aaf625ac4/html5/thumbnails/8.jpg)
II. History
8
![Page 9: MODULE 3: DISLOCATION DYNAMICS · simulations with a small number of dislocation segments, whereas ParaDiS is a C code which can perform well on massively parallel computers and suitable](https://reader034.vdocuments.net/reader034/viewer/2022042411/5f2ace1fa868d12aaf625ac4/html5/thumbnails/9.jpg)
First DDD simulationsRobert Amodeo and Nasr Ghoniem (1997-1998) start direct numerical simulations of interacting dislocations to understand cell formationRange of efforts worldwide:
Cai/Bulatov/ArsenlisDevincreGhoniem/Al Ezab...
In addition, there are other approaches that attempt to model dislocations as entities:
Phase-field methodsLevel-set methods
All of the discrete dislocation dynamics methods benefit heavily from parallelization
9
![Page 10: MODULE 3: DISLOCATION DYNAMICS · simulations with a small number of dislocation segments, whereas ParaDiS is a C code which can perform well on massively parallel computers and suitable](https://reader034.vdocuments.net/reader034/viewer/2022042411/5f2ace1fa868d12aaf625ac4/html5/thumbnails/10.jpg)
III. Basic Principles
10
![Page 11: MODULE 3: DISLOCATION DYNAMICS · simulations with a small number of dislocation segments, whereas ParaDiS is a C code which can perform well on massively parallel computers and suitable](https://reader034.vdocuments.net/reader034/viewer/2022042411/5f2ace1fa868d12aaf625ac4/html5/thumbnails/11.jpg)
DDD simulates dislocation motion using overdamped dynamics: similar to MD, but with a mobility law not mass.
Running a simulation is like cooking - just follow the recipe!
Three ingredients:
1. An initial system configuration: dislocations2. Interaction between dislocations: Peach-Kohler3. Evolving dislocation geometry: mobility + remeshing
The fundamental idea
11
![Page 12: MODULE 3: DISLOCATION DYNAMICS · simulations with a small number of dislocation segments, whereas ParaDiS is a C code which can perform well on massively parallel computers and suitable](https://reader034.vdocuments.net/reader034/viewer/2022042411/5f2ace1fa868d12aaf625ac4/html5/thumbnails/12.jpg)
Represent dislocation curves
Unlike MD, dislocations areone-dimensional objects: hence,discretizationDifferent approaches:
Dislocation as line segmentsDislocation as cubic splineDislocation as connected arcsDislocation as “rastered” pure edge and screw segments
Dislocation intersections have to be considered as wellTypically use Frank-Read or one-armed sources
Ingredient 1: Initial configuration
12
A short course on DDLab and ParaDiS
Wei Cai*, Jie Deng** and Keonwook Kang* *Department of Mechanical Engineering, Stanford University, Stanford, CA, 94305-4040
**Department of Mechanical Engineering, Florida State University, Tallahassee, FL, 32310
May 23, 2005 1 Introduction of DDLab and ParaDiS DDLab and ParaDiS are dislocation dynamics simulation codes. They use the same algorithm for the calculation of node force, node velocity and topological changes, etc. The difference between them is that DDLab is a MATLAB code which is mainly used in simulations with a small number of dislocation segments, whereas ParaDiS is a C code which can perform well on massively parallel computers and suitable for large systems. DDLab was initially written as a development and debug tool for ParaDiS. The purpose of this course is to help users understand the basic theory behind the code, how to set up the simulation and how to run the code. The users may then become better prepared for more complex cases in the future. This course consists of 10 sections, section 2 describes how to represent a dislocation loop in the code, section 3 shows the flow chart of the code. Sections 4 and 5 discuss how to calculate the node force and the node velocity, and section 6 describes the topological changes. Sections 7 to 10 give examples of how to use DDLab and ParaDiS to simulate FR source and junction. 2 How to represent a dislocation structure
![Page 13: MODULE 3: DISLOCATION DYNAMICS · simulations with a small number of dislocation segments, whereas ParaDiS is a C code which can perform well on massively parallel computers and suitable](https://reader034.vdocuments.net/reader034/viewer/2022042411/5f2ace1fa868d12aaf625ac4/html5/thumbnails/13.jpg)
Ingredient 1: Frank-Read source
13www.wikipedia.org
![Page 14: MODULE 3: DISLOCATION DYNAMICS · simulations with a small number of dislocation segments, whereas ParaDiS is a C code which can perform well on massively parallel computers and suitable](https://reader034.vdocuments.net/reader034/viewer/2022042411/5f2ace1fa868d12aaf625ac4/html5/thumbnails/14.jpg)
Ingredient 2: Interaction forcesThe net force acting on each dislocation in the system is a result of its interactions with all other dislocations + applied stress
The underlying physical form is well-established: Peach-Kohler force
14
![Page 15: MODULE 3: DISLOCATION DYNAMICS · simulations with a small number of dislocation segments, whereas ParaDiS is a C code which can perform well on massively parallel computers and suitable](https://reader034.vdocuments.net/reader034/viewer/2022042411/5f2ace1fa868d12aaf625ac4/html5/thumbnails/15.jpg)
• Dislocation line: separates “slipped” from “unslipped” parts of crystal • Sweeping out area displaces top part of crystal • Force on top area times displacement = −work done on dislocation
Dislocation motion under stress 15
slip plane
t
b
dr
dt
dW = �(force) · (displacement)
= �(stress · area) · (displacement)
= (� · da) · b = da · � · b= (dr ⇥ dt) · � · b= �(dt ⇥ dr) · (� · b)
= �h(� · b) ⇥ dt
i· dr
= �dF · drdF = (� · b) ⇥ dt
Force/length on a dislocation
![Page 16: MODULE 3: DISLOCATION DYNAMICS · simulations with a small number of dislocation segments, whereas ParaDiS is a C code which can perform well on massively parallel computers and suitable](https://reader034.vdocuments.net/reader034/viewer/2022042411/5f2ace1fa868d12aaf625ac4/html5/thumbnails/16.jpg)
• Force per length (“Peach-Kohler force”) • Always perpendicular to dislocation line • Force in slip plane: glide force • Force normal to slip plane: climb force (edge) or cross-slip (screw)
Dislocation motion under stress 16
b
n
v=b×n
t = v cos θ + b sin θ
θ
dF = (� · b) ⇥ dt
=
0BBBBBB@
�vv �vb �vn�vb �bb �bn�vn �bn �nn
1CCCCCCA ·0BBBBBB@
0
b0
1CCCCCCA ⇥0BBBBBB@
cos✓sin✓
0
1CCCCCCA dt
=
0BBBBBB@
�bvb�bbb�bnb
1CCCCCCA ⇥0BBBBBB@
cos✓sin✓
0
1CCCCCCA dt
=
��������
v b n�bvb �bbb �bnbcos✓ sin✓ 0
��������dt
= �bnb(�v sin✓ + b cos✓)
+ �bvb sin✓n � �bbb cos✓n
glide force
cross-slip force
climb force
![Page 17: MODULE 3: DISLOCATION DYNAMICS · simulations with a small number of dislocation segments, whereas ParaDiS is a C code which can perform well on massively parallel computers and suitable](https://reader034.vdocuments.net/reader034/viewer/2022042411/5f2ace1fa868d12aaf625ac4/html5/thumbnails/17.jpg)
• Force per length (“Peach-Kohler force”) • Always perpendicular to dislocation line • Force in slip plane: glide force • Force normal to slip plane: climb force (edge) or cross-slip (screw)
Force on an edge and screw dislocation 17
b
n
v=b×n
t = v cos θ + b sin θ
θ
glide force
cross-slip force
climb force
dF = �bnb(�v sin✓ + b cos✓)
+ �bvb sin✓n � �bbb cos✓ndF
edge
= �bnbb � �bbbndF
screw
= ��bnbv + �bvbn
![Page 18: MODULE 3: DISLOCATION DYNAMICS · simulations with a small number of dislocation segments, whereas ParaDiS is a C code which can perform well on massively parallel computers and suitable](https://reader034.vdocuments.net/reader034/viewer/2022042411/5f2ace1fa868d12aaf625ac4/html5/thumbnails/18.jpg)
To use, we need to need to be able to calculate stress at each point, and translate force on a dislocation segment onto the dislocation “degrees of freedom” (nodes)For elastically isotropic materials (with a core “cutoff ”)
Stress and force
18
�↵�(x) =µ
8⇡
I
C
@i
@p
@p
R
a
hb
m
✏im↵dx
0� + b
m
✏im�dx
0↵
i
+µ
4⇡(1 � ⌫)
I
C
b
m
✏ink
h@
i
@↵@�Ra
� �↵�@i
@p
@p
R
a
idx
0k
R = kx � x
0kRa =
pkx � x
0k2 + a2
![Page 19: MODULE 3: DISLOCATION DYNAMICS · simulations with a small number of dislocation segments, whereas ParaDiS is a C code which can perform well on massively parallel computers and suitable](https://reader034.vdocuments.net/reader034/viewer/2022042411/5f2ace1fa868d12aaf625ac4/html5/thumbnails/19.jpg)
� =b
2⇡r �xz
= �zx
= � Gb
2⇡r
sin✓
�yz
= �zy
=Gb
2⇡r
cos✓�z✓ = �✓z =Gb2⇡r
Screw dislocation: stress field 19
![Page 20: MODULE 3: DISLOCATION DYNAMICS · simulations with a small number of dislocation segments, whereas ParaDiS is a C code which can perform well on massively parallel computers and suitable](https://reader034.vdocuments.net/reader034/viewer/2022042411/5f2ace1fa868d12aaf625ac4/html5/thumbnails/20.jpg)
Edge dislocation: stress field 20
![Page 21: MODULE 3: DISLOCATION DYNAMICS · simulations with a small number of dislocation segments, whereas ParaDiS is a C code which can perform well on massively parallel computers and suitable](https://reader034.vdocuments.net/reader034/viewer/2022042411/5f2ace1fa868d12aaf625ac4/html5/thumbnails/21.jpg)
�rr = �✓✓ =
� Gb2⇡(1 � ⌫)
sin✓r
�r✓ =Gb
2⇡(1 � ⌫)cos✓
r
Edge dislocation: stress field 21
![Page 22: MODULE 3: DISLOCATION DYNAMICS · simulations with a small number of dislocation segments, whereas ParaDiS is a C code which can perform well on massively parallel computers and suitable](https://reader034.vdocuments.net/reader034/viewer/2022042411/5f2ace1fa868d12aaf625ac4/html5/thumbnails/22.jpg)
�rr = �✓✓ =
� Gb2⇡(1 � ⌫)
sin✓r
�r✓ =Gb
2⇡(1 � ⌫)cos✓
r
�
xx
�xy
�xy
�yy
!=
cos✓ � sin✓sin✓ cos✓
! �
rr
�r✓
�r✓ �✓✓
! cos✓ sin✓� sin✓ cos✓
!
=Gb
2⇡(1 � ⌫)r
cos✓ � sin✓sin✓ cos✓
! � sin✓ cos✓cos✓ � sin✓
! cos✓ sin✓� sin✓ cos✓
!
=Gb
2⇡(1 � ⌫)r
cos✓ � sin✓sin✓ cos✓
! �2 sin✓ cos✓ � sin
2 ✓ + cos
2 ✓1 0
!
=Gb
2⇡(1 � ⌫)r
� sin✓(1 + cos
2 ✓) cos✓ cos 2✓cos✓ cos 2✓ � sin✓ cos 2✓
!
=Gb
2⇡(1 � ⌫)r
� sin✓(2 + cos 2✓) cos✓ cos 2✓
cos✓ cos 2✓ � sin✓ cos 2✓
!
✓cart,polar
=
cos✓ � sin✓sin✓ cos✓
!
Edge dislocation: stress field 22
![Page 23: MODULE 3: DISLOCATION DYNAMICS · simulations with a small number of dislocation segments, whereas ParaDiS is a C code which can perform well on massively parallel computers and suitable](https://reader034.vdocuments.net/reader034/viewer/2022042411/5f2ace1fa868d12aaf625ac4/html5/thumbnails/23.jpg)
−yy
+yy+xy
−xy
+xx+yy
−xx−yy+xy
−xy
−xx−yy−xy
+xx
−xx+yy−xy
+xx+yy+xy
−yy+xy
+xx
−xx
Edge dislocation: stress field 23
![Page 24: MODULE 3: DISLOCATION DYNAMICS · simulations with a small number of dislocation segments, whereas ParaDiS is a C code which can perform well on massively parallel computers and suitable](https://reader034.vdocuments.net/reader034/viewer/2022042411/5f2ace1fa868d12aaf625ac4/html5/thumbnails/24.jpg)
−yy
+yy+xy
−xy
+xx+yy
−xx−yy+xy
−xy
−xx−yy−xy
+xx
−xx+yy−xy
+xx+yy+xy
−yy+xy
+xx
−xx
�xx
= � Gb
2⇡r(1 � ⌫) sin✓(2 + cos 2✓)
�yy
=Gb
2⇡r(1 � ⌫) sin✓ cos 2✓
�zz
= ⌫(�xx
+ �yy
)
⌧xy
=Gb
2⇡r(1 � ⌫) cos✓ cos 2✓
Edge dislocation: stress field 24
![Page 25: MODULE 3: DISLOCATION DYNAMICS · simulations with a small number of dislocation segments, whereas ParaDiS is a C code which can perform well on massively parallel computers and suitable](https://reader034.vdocuments.net/reader034/viewer/2022042411/5f2ace1fa868d12aaf625ac4/html5/thumbnails/25.jpg)
To use, we need to need to be able to calculate stress at each point, and translate force on a dislocation segment onto the dislocation “degrees of freedom” (nodes)For elastically isotropic materials (with a core “cutoff ”)
Stress and force
25
�↵�(x) =µ
8⇡
I
C
@i
@p
@p
R
a
hb
m
✏im↵dx
0� + b
m
✏im�dx
0↵
i
+µ
4⇡(1 � ⌫)
I
C
b
m
✏ink
h@
i
@↵@�Ra
� �↵�@i
@p
@p
R
a
idx
0k
to node i. Suppose x lies on segment ij, then
(8) i. e. , Ni(x) goes linearly from zero at node j to 1 at node i, as illustrated in Figure 2. Based on shape function and PK force, the elastic force on node i is:
(9) From Eq.(9) we know that the nodal force are weighted averages of the PK force along the segments connected to the node.
Figure 2: The shape function N2(x) for node 2 varies linearly from 1 at node 2 to 0 at its two neighbors: node 1 and node 3. Notice that the PK force is proportional to the local stress field, which is the superposition of stress fields from all dislocation segments in the system. In both DDLab and ParaDiS, we use the second approach, Eq.(9), to compute nodal force. The detailed description of nodal force can be found in Ref. 1.
Q: What does integral along C mean if it is not a loop? A: If C is not a loop, then the integral along C is evaluated over a set of directed paths that traverse the entire network visiting every point on it exactly once. Q: Do we need to compute stress field along the entire line C to obtain the force on one node from Eq.(9)? A: No. Because the shape function is only nonzero at the segments connected to the node, the integrand vanishes on the segments which do not connect to the node and do not need to be evaluated.
R = kx � x
0kRa =
pkx � x
0k2 + a2
For line segments, map force to nodes by integrating a linear “shape function” along connected segments
![Page 26: MODULE 3: DISLOCATION DYNAMICS · simulations with a small number of dislocation segments, whereas ParaDiS is a C code which can perform well on massively parallel computers and suitable](https://reader034.vdocuments.net/reader034/viewer/2022042411/5f2ace1fa868d12aaf625ac4/html5/thumbnails/26.jpg)
Ingredient 3: Evolution of dislocationsInitial dislocation geometry + forces on dislocation:How to evolve? F=ma?
Dislocations aren't “objects” with mass; instead, they experience an overdamped dynamics where velocity is proportional to force: mobility.
26
![Page 27: MODULE 3: DISLOCATION DYNAMICS · simulations with a small number of dislocation segments, whereas ParaDiS is a C code which can perform well on massively parallel computers and suitable](https://reader034.vdocuments.net/reader034/viewer/2022042411/5f2ace1fa868d12aaf625ac4/html5/thumbnails/27.jpg)
LiF crystal
Fe-3.25%Si crystal
Dislocation velocity: thermal activation 27
![Page 28: MODULE 3: DISLOCATION DYNAMICS · simulations with a small number of dislocation segments, whereas ParaDiS is a C code which can perform well on massively parallel computers and suitable](https://reader034.vdocuments.net/reader034/viewer/2022042411/5f2ace1fa868d12aaf625ac4/html5/thumbnails/28.jpg)
Ingredient 3: Evolution of dislocationsInitial dislocation geometry + forces on dislocation:How to evolve? F=ma?
Dislocations aren't “objects” with mass; instead, they experience an overdamped dynamics where velocity is proportional to force: mobility.
Mobility can be anisotropicIn plane: edge dislocations vs. screw dislocationsOut-of-plane: cross-slip (screw) vs. climb (edge)
28
![Page 29: MODULE 3: DISLOCATION DYNAMICS · simulations with a small number of dislocation segments, whereas ParaDiS is a C code which can perform well on massively parallel computers and suitable](https://reader034.vdocuments.net/reader034/viewer/2022042411/5f2ace1fa868d12aaf625ac4/html5/thumbnails/29.jpg)
Ingredient 3: Evolution of dislocationsGiven velocity on nodes, integrate nodes forward in time
Euler forward / backward schemes
Newton-Krylov, other sophisticated integratorsRemeshing:
Too few nodes to represent the curvature?Introduce new nodes (split)Too many nodes in a small area of space?Eliminate extra nodes (merge)
Dislocation annihilation reactions: elimination of dislocation segments with opposite Burgers vector
29
Forward: x(t + �t) = x(t) + �t x(t)Backward: x(t + �t) = x(t) + �t x(t + �t)
![Page 30: MODULE 3: DISLOCATION DYNAMICS · simulations with a small number of dislocation segments, whereas ParaDiS is a C code which can perform well on massively parallel computers and suitable](https://reader034.vdocuments.net/reader034/viewer/2022042411/5f2ace1fa868d12aaf625ac4/html5/thumbnails/30.jpg)
Dislocation dynamics flowchart
30
calculate force on each node
calculate velocity of each node
calculate new position of each node
split / merge nodes
![Page 31: MODULE 3: DISLOCATION DYNAMICS · simulations with a small number of dislocation segments, whereas ParaDiS is a C code which can perform well on massively parallel computers and suitable](https://reader034.vdocuments.net/reader034/viewer/2022042411/5f2ace1fa868d12aaf625ac4/html5/thumbnails/31.jpg)
IV. Advanced Topics
31
![Page 32: MODULE 3: DISLOCATION DYNAMICS · simulations with a small number of dislocation segments, whereas ParaDiS is a C code which can perform well on massively parallel computers and suitable](https://reader034.vdocuments.net/reader034/viewer/2022042411/5f2ace1fa868d12aaf625ac4/html5/thumbnails/32.jpg)
Boundary conditionsInteraction between dislocations (calculated via stress) depends on the boundary conditions:
Most simulations assume periodic boundary conditionsSimulations of finite systems involves image stresses
Interaction calculation can be accelerated with Fast Multipole Methods (similar to charged interactions)
32
![Page 33: MODULE 3: DISLOCATION DYNAMICS · simulations with a small number of dislocation segments, whereas ParaDiS is a C code which can perform well on massively parallel computers and suitable](https://reader034.vdocuments.net/reader034/viewer/2022042411/5f2ace1fa868d12aaf625ac4/html5/thumbnails/33.jpg)
V. Dislocation Dynamics Packages
33
![Page 34: MODULE 3: DISLOCATION DYNAMICS · simulations with a small number of dislocation segments, whereas ParaDiS is a C code which can perform well on massively parallel computers and suitable](https://reader034.vdocuments.net/reader034/viewer/2022042411/5f2ace1fa868d12aaf625ac4/html5/thumbnails/34.jpg)
DDD software
34
ParaDiSParaDiShttp://paradis.stanford.edu/