20

Click here to load reader

A level set method for dislocation dynamics

Embed Size (px)

Citation preview

Page 1: A level set method for dislocation dynamics

Acta Materialia 51 (2003) 5499–5518www.actamat-journals.com

A level set method for dislocation dynamics

Yang Xianga,∗, Li-Tien Chengb, David J. Srolovitzc, Weinan Ed

a Princeton Materials Institute, Princeton University, Bowen Hall, 70 Prospect Avenue, Princeton, NJ 08544, USAb Department of Mathematics, University of California, San Diego, La Jolla, CA 92093, USA

c Princeton Materials Institute and Department of Mechanical and Aerospace Engineering, Princeton University, Princeton,NJ 08544, USA

d Department of Mathematics and PACM, Princeton University, Princeton, NJ 08544, USA

Received 23 May 2003; received in revised form 17 July 2003; accepted 19 July 2003

Abstract

We propose a three-dimensional level set method for dislocation dynamics in which the dislocation lines are rep-resented in three dimensions by the intersection of the zero levels of two level set functions. Since the level set methoddoes not discretize nor directly track individual dislocation line segments, it easily handles topological changes occurringin the microstructure. The dislocation dynamics are not limited to glide along a slip plane, but also account for three-dimensional aspects of their motion: cross-slip occurs naturally and climb is included by fixing the relative climb andglide mobility. The level set dislocation dynamics method was implemented using an accurate finite difference schemeon a uniform grid. To demonstrate the versatility, utility and simplicity of this new model, we present examples includ-ing the motion of dislocation loops under applied and self-stresses (including glide, cross-slip and climb), intersectionsof dislocation lines, operation of Frank–Read sources and dislocations bypassing particles. 2003 Acta Materialia Inc. Published by Elsevier Ltd. All rights reserved.

Keywords: Dislocation dynamics; Modelling; Simulation

1. Introduction

Although dislocation theory began in the earlyyears of the last century and has been an activearea of investigation ever since (see Refs.[1–3]),our ability to describe the evolution of dislocationmicrostructures has been limited by the inherentcomplexity of the problem. This complexity isassociated with several contributing features. The

∗ Corresponding author. Tel.:+1-609-258-0494; fax:+1-609-258-6878.

E-mail address: [email protected] (Y. Xiang).

1359-6454/$30.00 2003 Acta Materialia Inc. Published by Elsevier Ltd. All rights reserved.doi:10.1016/S1359-6454(03)00415-4

interactions between dislocations are extraordi-narily long-ranged and depend on the relative pos-itions of the dislocations, the orientation of theirBurgers vectors (i.e. vector strength) and line ori-entating. Dislocation mobility depends on theorientations of the Burgers vector and line direc-tion with respect to the crystal structure. A descrip-tion of the dislocation structure within a solid isfurther complicated by such topological events asannihilation, multiplication and reaction. As aresult, analytical descriptions of dislocation struc-ture have been limited to a small number of simplegeometrical configurations. More recently, severaldislocation dynamics simulation methods have

Page 2: A level set method for dislocation dynamics

5500 Y. Xiang et al. / Acta Materialia 51 (2003) 5499–5518

been developed that account for complex dislo-cation geometries and/or the motion of multiple,interacting dislocations (see e.g. [4–13]). Thisapproach is becoming an increasingly importanttool for describing plastic deformation.

The existing models for dislocation dynamicscan be divided into two main classes. The first isbased upon front tracking methods, in which dislo-cation lines are discretized into individual seg-ments. During these simulations, each segment istracked and the force on each segment from allother segments are calculated at each timeincrement (usually using the Peach–Koehler for-mula [14]). Early front tracking simulationsfocused on the motion of a single dislocation onits slip plane (i.e. the plane containing the Burgersvector and the line direction) interacting withobstacles [15–17]. Kubin and coworkers performedmesoscopic three-dimensional simulations of mul-tiple dislocations [4,5,18]. In their model, dislo-cation lines are discretized into straight, pure edgeand screw segments. More recently, otherresearchers represented dislocation lines by seg-ments with mixed character [6–8] and/or curvedspline segments [9]. Three-dimensional front track-ing methods made it possible to simulate dislo-cations motion with a degree of reality heretoforenot possible. However, such methods are necessar-ily time-consuming, since they track each segmentof all dislocation lines and calculate the force act-ing on it from all other segments at each timeincrement. Moreover, special rules are needed todescribe the topological changes that occur whentwo segments of the same dislocation annihilate (asin Orowon loop formation) or when two dislo-cations with the same Burgers vector meet andannihilate [8,9,12]).

Another class of dislocation dynamics modelsemploys a phase field description of dislocations,as proposed by Khachaturyan, Wang and cowork-ers [10,11]. In their phase field model, densityfunctions are used to model the evolution of athree-dimensional dislocation system. Dislocationloops are described as the perimeters of thin plate-lets determined by the density functions. Since thismethod is based upon the evolution of a field inthe full dimensions of the space, there is no needto track individual dislocation line segments and

topological changes occur automatically. The elas-tic interactions of the dislocations are determinedefficiently using fast Fourier transform (FFT)methods for the case of periodic boundary con-ditions. However, contributions to the energy thatare normally not present in dislocation theory mustbe included within the phase field model to keepthe dislocation core from expanding (i.e. terms thatdescribe Burgers vector gradients, as in Eq. (9) ofRef. [11]). In addition, dislocation climb is not eas-ily incorporated into this type of model.

In this paper, we propose a three-dimensionallevel set method for dislocation dynamics. We rep-resent dislocation lines in three dimensions as theintersection of the zero levels (or zero contours) oftwo three-dimensional scalar functions (see Refs.[19–21] for a description of the level set method).The two three-dimensional level set functions areevolved using a velocity field extended smoothlyfrom the velocity of the dislocation lines. The evol-ution of the dislocation lines is implicitly determ-ined by the evolution of the two level set functions.Linear elasticity theory is used to compute thestress field generated by the dislocation lines[3,22,23]. The stress field can be solved efficientlyusing an FFT method, assuming periodic boundaryconditions. Since the level set method does nottrack individual dislocation line segments, it easilyhandles topological changes associated with dislo-cation multiplication and annihilation. This levelset method for dislocation dynamics is capable ofsimulating the three-dimensional motion of dislo-cations, naturally accounting for dislocation glide,cross-slip and climb through the choice of the ratioof the glide and climb mobilities. Unlike previousfield-based methods [10,11], no unconventionalcontributions to the system energy are required tokeep the dislocation core localized.

This paper is organized as follows. In Section 2,we review relevant aspects of the continuum theoryof dislocations. In Section 3, we describe the gen-eral features of the level set method and how weapply it to dislocation dynamics. In Section 4, wediscuss the numerical implementation of our levelset method for dislocation dynamics. In Section 5,we demonstrate the generality and power of thenew method through a series of test applicationsincluding the glide, cross-slip and climb of dislo-

Page 3: A level set method for dislocation dynamics

5501Y. Xiang et al. / Acta Materialia 51 (2003) 5499–5518

cation loops under applied and/or self stresses,interactions between two non-coplanar dislocationlines, operation of a Frank–Read source, and a ser-ies of examples of dislocations bypassing particles.

2. Continuum dislocation theory

In this section, we briefly review aspects of thecontinuum theory of dislocations that are used inthe development of the level set description of dis-location dynamics, below. More complete descrip-tions of the continuum theory of dislocations canbe found in, e.g. [2,3,22,23].

Dislocations are line defects in crystals forwhich the elastic displacement vector satisfies

�L

du � b (1)

where L is any contour enclosing the dislocationline with Burgers vector b. Note, the elastic dis-placement vector u is multi-valued. The Burgersvector b and dislocation line direction x can haveany orientation with respect to one another. A dis-location for which these vectors are perpendicularis an edge dislocation and is a screw dislocation ifthey are parallel. The general case is referred to asa mixed dislocation.

We define the distortion tensor w in terms of thedisplacement field u as

wij �∂uj

∂xi

(2)

for i,j = 1,2,3. We can now rewrite Eq. (1) as

�L

w·dx � b. (3)

Using Stokes’ theorem, we obtain

�S

� � w·n dS � �L

w·dx � b (4)

� b�S

d(g)x·n dS

where S is any surface spanning the contour L, n

is the normal to the surface S, g is the location ofthe dislocation line, x is the unit vector tangent tothe dislocation line, δ(g) is the two dimensionaldelta function in the plane perpendicular to the dis-location line and is zero everywhere except on thedislocation line. It is convenient to rewrite Eq.(4) as

� � w � xd(g)�b (5)

where the operator � implies the tensor product oftwo vectors.

While the Burgers vector is constant along anydislocation line, different dislocation lines mayhave different Burgers vectors. Eq. (5) is valid onlyfor dislocations with the same Burgers vector. Incrystalline materials, the number of possible Burg-ers vectors is finite, N (e.g. typically N = 12 for aFCC metal). Eq. (5) may be extended to accountfor all possible Burgers vectors:

� � w � �Ni � 1

xiδ(gi)�bi (6)

where gi represents all of the dislocations with Bur-gers vector bi and xi is the tangent to dislocationline i.

Now we consider the strain and stress tensorsassociated with the dislocations. The strain tensoris given by

eij �12

(wij � wji) (7)

for i, j = 1, 2, 3. The stress tensor s is determinedfrom the strain tensor by the linear elastic consti-tutive equations

sij � �3

k,l � 1

Cijklekl (8)

for i, j = 1, 2, 3, where {Cijkl} is the elastic constanttensor. For an isotropic medium, the constitutiveequations can be written as

sij � 2Geij � G2n

1�2n(e11 � e22 � e33)dij (9)

for i, j = 1, 2, 3, where G is the shear modulus, nis the Poisson ratio, and dij is equal to 1 if i = jand is equal to 0 otherwise. In the absence of bodyforces, the equilibrium equation is simply

Page 4: A level set method for dislocation dynamics

5502 Y. Xiang et al. / Acta Materialia 51 (2003) 5499–5518

�·s � 0. (10)

Finally, the stress and strain tensors associatedwith a dislocation can be found by combining Eqs.(5), (7), (8) and (10).

Dislocations can move under stress. The Peach–Koehler force on the dislocations is given by

f � stot·b � x (11)

where the total stress field stot includes the self-stress s obtained by solving Eqs. (5), (7), (8) and(10), and the applied stress sappl:

stot � s � sappl (12)

The local dislocation velocity is given by

v � M·f (13)

where M is the mobility tensor.A dislocation line can move conservatively (i.e.

without diffusion) only in the plane containingboth its tangent vector and the Burgers vector (i.e.the slip plane). A screw segment on a dislocationline can move in any plane containing the dislo-cation line, since the tangent vector and Burgersvector are parallel. The switching of a screw seg-ment from one slip plane to another is known ascross-slip. At high temperatures, edge segments ofa dislocation can also move out of the slip planeby a non-conservative (i.e. diffusive) processknown as climb. The mobility tensor M is definedsuch as to account for the relatively high glidemobility and slow climb mobility. The presentmethod is equally applicable to all crystal systemsand all crystal orientations through appropriatechoice of the Burgers vector and the mobility ten-sor (which can be rotated into any arbitraryorientation). In the present model, the dislocationcan slip on all mathematical slip planes (i.e. planescontaining the Burgers vector and line direction)and are not constrained to a particular set of crystalplane {h k l}. This restriction will be imposed inlater variations of this method.

The self-stress obtained by solving the elasticityEquations (5), (7), (8) and (10) is singular on thedislocation line. This singularity is artificialbecause of the discreteness of the atomic latticeand non-linearities in the stress–strain relation notincluded in the linear elastic framework. This non-

linear region is called the dislocation core. Oneapproach to handling this problem is to use a sme-ared delta function instead of the exact delta func-tion in Eq. (5) near each point on the dislocationline. The smeared delta function, like the exactone, is defined in the plane perpendicular to thedislocation line, and the vector x is defined every-where in this plane to be the dislocation line tan-gent vector. This smeared delta function can beconsidered to be the distribution of the Burgersvector in the plane perpendicular to the dislocationline. The width of the smeared delta function is thediameter of the core region of the dislocation line.From this point forward, we will use this approachto treat the dislocation core and its smeared deltafunction description. A necessary condition for theelasticity equation (5) to have a solution is

�·(xd(g)) � 0. (14)

Using the local system of coordinates on the dislo-cation line, it is easy to verify that the smeareddelta function and the vector x defined in this waysatisfy this condition.

3. The level set dislocation dynamics method

In this section, we first briefly review the exist-ing level set framework for the motion of three-dimensional curves and then present our level setapproach to dislocation dynamics.

The level set method was devised by Osher andSethian [19] in 1987 and has been successfullyapplied to a wide range of problems (as discussedin a recent review [21]). Recently, Burchard et al.[20] presented numerical simulations using a levelset approach for moving curves in three-dimen-sional space. In their model, a three-dimensionalcurve g(t) is represented by the intersection of thezero levels of two level set functions f(x, y, z, t)and y(x, y, z, t) defined in the three-dimensionalspace, i.e. where

f(x,y,z,t) � y(x,y,z,t) � 0, (15)

see Fig. 1. The evolution of the curve isdescribed by

ft � v·�f � 0

yt � v·�y � 0(16)

Page 5: A level set method for dislocation dynamics

5503Y. Xiang et al. / Acta Materialia 51 (2003) 5499–5518

Fig. 1. A three-dimensional curve g(t) is the intersection ofthe zero levels of the two level set functions f(x, y, z, t) andy(x, y, z, t).

where v is the velocity field extended smoothlyfrom the curve to the three-dimensional space. Thereason this system of partial differential equationsgives the correct motion of the curve can be under-stood in the following way. Assume that the curveg(s, t) described in parametric form using the vari-able s, is given by

f(g(s,t),t) � 0

y(g(s,t),t) � 0,(17)

where t is time. Taking a derivative of Eq. (17)with respect to t gives

�f(g(s,t),t)·gt(s,t) � ft(g(s,t),t) � 0

�y(g(s,t),t)·gt(s,t) � yt(g(s,t),t) � 0.(18)

Comparing with Eq. (16), we have

gt(s,t) � v, (19)

which means the velocity of the curve is equal to v.Geometric properties of the curve can be calcu-

lated from the level set functions f and y. Forexample, the tangent vector x can be written as

x ��f � �y��f � �y�

. (20)

In this paper, we use the level set framework forthree-dimensional curves to describe dislocationdynamics. In our level set method for dislocation

dynamics, the union of the three-dimensional dislo-cation lines g(t) is represented by Eq. (15) and itsevolution is given by Eq. (16). The velocity fieldof a dislocation is computed from the stress fieldusing Eqs. (11)–(13). The self-stress field isobtained by solving the elasticity equations (5), (7),(8) and (10). The tangent vector x in equations (5)and (11) is calculated using Eq. (20).

The above representation applies only to thecase where all dislocations have the same Burgersvector b. For a more general case where dislo-cation lines have different Burgers vectors, we canuse different level set functions fi and yi for differ-ent Burgers vectors bi, i = 1, 2, ..., N, where N isthe total number of the possible Burgers vectors,and use Eq. (6) instead of Eq. (5) in the elas-ticity equations.

The delta function in Eq. (5) is given by

d(g) � d(f)d(y), (21)

where the delta functions on the right-hand-side areone-dimensional, smeared delta functions

d(x) � � 12e�1 � cos

πxe � �e�x�e

0 otherwise

(22)

and e scales the distance over which the delta func-tion is smeared. The region where the delta-func-tion is not zero represents the core region of thedislocation line. Usually in the level set method,the level set functions f and y are chosen to besigned distance functions to their zero levels andtheir zero levels are kept perpendicular to eachother. A procedure called reinitialization is usedto retain these properties of f and y during theirtemporal evolution (see the next section fordetails). Therefore the delta function defined byEq. (21) is a two-dimensional smeared delta func-tion in the plane perpendicular to the dislocationline. Moreover, the size and the shape of the coreregion will not change during the evolution.

Now we define the mobility tensor M. First notethat the normal vector of the slip plane that con-tains the tangent vector x of the dislocation and theBurgers vector b, is given by

Page 6: A level set method for dislocation dynamics

5504 Y. Xiang et al. / Acta Materialia 51 (2003) 5499–5518

n �x � b�x � b�

. (23)

The orthogonal projection matrix that projects vec-tors onto the plane with normal vector n is givenby

P � I�n�n, (24)

where I is the identity matrix and � is the tensorproduct operator. We now write the mobility tensorin the general form

M � (25)

�mg(I�n�n) � mcn�n edge (x not parallel to b)

mgI screw (x parallel to b)

where mg is the mobility constant for dislocationglide and mc is the mobility constant for dislocationclimb, and

0�mc

mg�1. (26)

While we implicitly assume that the glidemobilities of edge and screw segments are ident-ical, this assumption is easily relaxed. Unlessotherwise noted, we will assume that mc = 0 (i.e.dislocation can only glide) in this paper.

For simplicity, we employ isotropic elasticitythroughout this paper. While anisotropy will notcause any essential difficulties in our model, theadded complexity clouds the description of themethod. If we further assume periodic boundary

s11 � 2Gi� 1k2

1 � k22 � k2

3(k2b3�k3b2)d1�

11�n

k22 � k2

3

(k21 � k2

2 � k23)2[(k2b3�k3b2)d1 � (k3b1�k1b3)d2 � (k1b2�k2b1)d3]�

s22 � 2Gi� 1k2

1 � k22 � k2

3(k3b1�k1b3)d2�

11�n

k21 � k2

3

(k21 � k2

2 � k23)2[(k2b3�k3b2)d1 � (k3b1�k1b3)d2 � (k1b2�k2b1)d3]�

s33 � 2Gi� 1k2

1 � k22 � k2

3(k1b2�k2b1)d3�

11�n

k21 � k2

2

(k21 � k2

2 � k23)2[(k2b3�k3b2)d1 � (k3b1�k1b3)d2 � (k1b2�k2b1)d3]�

s12 � s21 � 2Gi� 12(k2

1 � k22 � k2

3)[(k3b1�k1b3)d1 � (k2b3�k3b2)d2] �

11�n

k1k2

(k21 � k2

2 � k23)2[(k2b3�k3b2)d1 � (k3b1�k1b3)d2 � (k1b2�k2b1)d3]�

s23 � s32 � 2Gi� 12(k2

1 � k22 � k2

3)[(k1b2�k2b1)d2 � (k3b1�k1b3)d3] �

11�n

k2k3

(k21 � k2

2 � k23)2[(k2b3�k3b2)d1 � (k3b1�k1b3)d2 � (k1b2�k2b1)d3]�

s13 � s31 � 2Gi� 12(k2

1 � k22 � k2

3)[(k1b2�k2b1)d1 � (k2b3�k3b2)d3] �

11�n

k1k3

(k21 � k2

2 � k23)2[(k2b3�k3b2)d1 � (k3b1�k1b3)d2 � (k1b2�k2b1)d3]�

(27)

conditions, the solution of the elasticity equations(5), (7), (9) and (10) takes the form of Eq. (27)below, where sij is the Fourier coefficient of theterm eik1x + ik2y + ik3z for sij, i, j = 1, 2, 3, di, i = 1,2, 3 are the Fourier coefficients of the termeik1x + ik2y + ik3z for the three components of xd(g),respectively, and b1, b2, b3 are the three compo-nents of the Burgers vector b.

This solution is valid only for the case wherethe summation of the total Burgers vector is equalto zero in the simulation cell. If the total Burgersvector is not equal to zero, the stress is equal to aperiodic function plus a linear function in x, y andz [24,25]. In this case, we also use the above for-mula, since it only gives the periodic part of thestress field. This is consistent with the approachsuggested by Bulatov, Cai and coworkers for com-puting periodic image interactions in the fronttracking method [24,25].

In summary, in the case of isotropic elasticitywith periodic boundary conditions, our level setmethod for dislocation dynamics consists of theevolution equation (16), the velocity field equa-tions (11)–(13), and the self-stress field equation(27).

4. Numerical implementation

The numerical implementation for our level setdislocation dynamics method consists of two parts.The first is the elasticity part, which involves com-

Page 7: A level set method for dislocation dynamics

5505Y. Xiang et al. / Acta Materialia 51 (2003) 5499–5518

puting the velocity field in the evolution equation(16) from the elasticity theory, including Eqs.(11)–(13) and (27). The second is the level set part,which involves solving the evolution equation (16)and maintaining good level set functions usinglevel set techniques such as reinitialization andvelocity interpolation and extension.

4.1. Computing elastic fields

We solve the elasticity equations associated withthe dislocations using the FFT approach, as givenby Eq. (27). First step is to compute the dislocationtangent vector xd(g) from the level set functions fand y. The delta function δ(g) is computed usingEq. (21) with core radius e = 3dx, where dx is thespacing of the numerical grid. The tangent vectorx is computed using a regularized form of Eq. (20)(to avoid division by zero), i.e.

x ��f � �y

���f � �y�2 � dx2, (28)

as is standard in level set methods.The gradients of f and y in Eq. (28) are com-

puted using the third order WENO method [26].Since WENO derivatives are one-sided, we switchsides after several time steps to reduce the errorcaused by asymmetry. The reason that one-sidedderivatives are used instead of a centered one is asfollows. The leading order effect of the self-stressof the dislocation is associated with dislocationcurvature [3,22], which tends to stabilize high fre-quency oscillations of the dislocation line. If weuse central differencing to compute the derivatives,the formulation for the self-stress will not see thehigh frequency oscillations and therefore does notgive the correct self-stress needed to stabilize thedislocation lines.

After we obtain the self-stress, we compute thevelocity field using Eqs. (11)–(13). We now usecentral differencing to compute the gradients of fand y in Eq. (28) to get the tangent vector x inEqs. (11) and (23). The mobility tensor in Eq. (13)is computed using Eqs. (23) and (25). We also reg-ularize the denominator in Eq. (23) to avoiddivision by zero, as we did in Eq. (28). For themobility tensor (Eq. (25)), we use the mobility for

a screw dislocation when �x × b� � 0.1 and use themobility for an edge dislocation otherwise (seeEq. (25)).

4.2. Numerical implementation of the level setmethod

4.2.1. Solving the evolution equationsThe level set evolution equations are commonly

solved using high order ENO (essentiallynonoscillatory) or WENO (weighted essentiallynonoscillatory) methods for the spatial discretiz-ation [19,26,27] and TVD (total variationdiminishing) Runge–Kutta methods for the timediscretization [28,29]. In this paper, we computethe spatial upwind derivatives using the third orderWENO method [26] and use fourth order TVDRunge–Kutta [29] to solve the temporal evolutionequation (16).

4.2.2. ReinitializationIn level set methods for three-dimensional

curves, the desired level set functions f and y aresigned distance functions to their zero levels (i.e.the value at each point in the scalar field is equalto the distance from the closest point on the zerolevel contour surface with a positive value on oneside of the zero level and a minus sign on theother). Ideally, the zero level surfaces of these twofunctions should be perpendicular to each other.Initially, we choose f and y to be such signed dis-tance functions. However, there is no guaranteethat the level set functions will always remainsigned distance functions during the evolution.Numerical errors may be large if the level set func-tions are not well-behaved. Standard level set tech-niques are used to keep the level set functionssigned distance functions and their zero levels per-pendicular to each other. We use the followingtechniques found in Refs. [20,30–32].

4.2.2.1. Signed distance functions To get a newsigned distance function f from f, we solve thefollowing evolution equation to steady state:

ft � sign(f)(��f��1) � 0

f(t � 0) � f(29)

where the function sign(x) is defined by

Page 8: A level set method for dislocation dynamics

5506 Y. Xiang et al. / Acta Materialia 51 (2003) 5499–5518

sign(x) � ��1, x � 0

0, x � 0

1, x � 0.

(30)

Since the signed distance function satisfies��f� = 1 and the above evolution equation does notmove the zero level of f, theoretically the steadystate solution f is the desired signed distance func-tion. Similarly, the new signed distance functiony for the level set function y is found by solvingthe following equation:

yt � sign(y)(��y��1) � 0

y(t � 0) � y.(31)

Numerically, we use the following formulation[31]

ft �f

�f2 � ��f�2dx2(��f��1) � 0

f(t � 0) � f.

(32)

and

yt �y

�y2 � ��y�2dx2(��y��1) � 0

y(t � 0) � y.

(33)

We solve for the steady state solutions to theseequations using fourth order TVD Runge–Kutta[29] in time and Godunov’s scheme [27,33] com-bined with third order WENO [26] in space. Weiterate these equations several steps using half ofthe Courant–Friedrichs–Levy (CFL) number (i.e.the numerical stability limit) of the fourth orderTVD Runge Kutta method [29] as the timeincrement. We solve for the new level set func-tions f and y at each time step for use in solvingthe evolution equation (16).

4.2.2.2. Perpendicular zero levels Theoretically,the following equation resets the zero level of fperpendicular to that of y [20,32]

ft � sign(y)�y��y�

·�f � 0

f(t � 0) � f(34)

The numerical formulation is

ft �y

�y2 � ��y�2dx2

�y

���y�2 � dx2·�f � 0

f(t � 0) � f (35)

We solve for the steady state solution to thisequation using fourth order TVD Runge–Kutta[29] in time and third order WENO [26] for theupwind one-sided derivatives of f. The gradient ofy in the equation is computed using the averageof the third order WENO [26] derivatives on bothsides. We iterate this equation several steps usinghalf of the CFL number of the fourth order TVDRunge–Kutta method given in Ref. [29] as thetime increment.

Similarly, the following equation resets the zerolevel of y perpendicular to that of f:

yt � sign(f)�f|�f|

·�y � 0

y(t � 0) � y(36)

and the numerical formulation is

yt �f

�f2 � ��f�2dx2

�f

���f�2 � dx2·�y � 0

y(t � 0) � y. (37)

We implement it the same way as we do for theequation for f.

We perform this perpendicular resetting pro-cedure once several time steps for solving the evol-ution equation (16).

4.2.3. VisualizationThe plotting of the dislocation line configur-

ations is complicated by the fact that the dislo-cation lines are determined implicitly by the twolevel set functions. We use the following plottingmethod, described in more detail in Ref. [20]. Eachcube in the grid is divided into six tetrahedra.Inside each tetrahedron, the level set functions fand y are approximated by linear functions. Theintersection of the zero levels of the two linearfunctions is a line segment inside the tetrahedron

Page 9: A level set method for dislocation dynamics

5507Y. Xiang et al. / Acta Materialia 51 (2003) 5499–5518

if the intersection is not empty (i.e. we need onlycompute the two ending points of the line segmenton the tetrahedron surface), see Fig. 2. The unionof all these segments is the dislocation configur-ation.

4.2.4. Velocity interpolation and extensionWe use a smeared delta function (rather than an

exact delta function) to compute the self-stress ofthe dislocations in order to prevent the self-stressfrom being singular on the dislocations. The regionnear the dislocations where the smeared delta func-tion is not equal to zero is the core region of thedislocations. The leading order of the self-stressnear the dislocations, when using a smeared deltafunction, is of the order 1/e, where e is the dislo-cation core size. This O(1 /e) self-stress near thedislocations does not contribute to the motion ofthe dislocations (it has the effect of expanding thecore region). We remove this contribution to theself-stress by a procedure which we call velocityinterpolation and extension. We first interpolate thevelocity on the dislocation line and then extend theinterpolated value to the whole space using the fastsweeping method [34].

In the velocity interpolation, we use a method

Fig. 2. A cube in the grid, a tetrahedron ABCD and a dislo-cation line segment EF inside the tetrahedron. Point G is on thesegment EF and the length of CG is the distance from the gridpoint C to the segment EF.

similar to that used in the plotting of dislocationlines. For any grid point, the dislocation line seg-ments in its nearby cubes can be found by the plot-ting method. The distance from this grid point tothe dislocation line is the minimum distance to anydislocation segment. The remainder of the pro-cedure is most simply described by considerationof the example in Fig. 2. The distance from thegrid point of interest, point C, to the dislocationline is the distance from C to the segment EF. Wecan locate a point G on the segment EF, such thatthe length of CG is the minimum distance from Cto EF. We know the velocity on the grid points ofthe cube in Fig. 2. We compute the velocity onthe points E and F by trilinear interpolation of thevelocity on these grid points. Then, we computethe velocity on the point G using a linear interp-olation of the velocity on E and F. The velocity ofpoint C is approximated as that on grid point G.In summary, velocity interpolation allows us tocalculate the velocity associated with any gridpoint as the velocity of the nearest point on a dislo-cation segment in adjacent cubes (if one ispresent).

The trilinear interpolation can be described asfollows. Assume we have grid points(xi + l1

,yj + l2,zk + l3

) and the velocity vi + l1,j + l2,k + l3on

them, where l1, l2, l3 = 0, 1 for some i, j, k. Thetrilinear interpolation of v on a point (x, y, z) isgiven by

v(x,y,z) �18 �1

l1,l2,l3 � 0

vi+l1,j+l2,k+l3xl1

yl2zl3

(38)

where

xl1� 1 � (2l1�1)�2(x�xi)

dx�1�

yl2� 1 � (2l2�1)�2(y�yj)

dy�1�

zl3� 1 � (2l3�1)�2(z�zk)

dz�1�.

(39)

Bilinear and higher order interpolations havebeen used in other level set method applications[35,36].

To extend the velocities calculated at grid points

Page 10: A level set method for dislocation dynamics

5508 Y. Xiang et al. / Acta Materialia 51 (2003) 5499–5518

neighboring the dislocation lines, we employ thefast sweeping method [34,36–38]. The fast sweep-ing method is an algorithm for obtaining the dis-tance function to the dislocations at all gridpointsfrom the distance values (obtained as describedabove) at gridpoints neighboring the dislocations.Velocity extension is incorporated into this algor-ithm by updating the velocity at each gridpointafter the distance function is determined such thatthe velocity is constant in the directions normal tothe dislocations (the gradient directions of the dis-tance function).

4.2.5. InitializationInitially, we choose the level set functions f andy such that

1. The intersection of their zero levels gives theinitial configuration of the dislocation lines;

2. f and y are signed distance functions to theirzero levels, respectively;

3. The zero levels of f and y are perpendicular toeach other.

Though we solve the elasticity equationsassuming periodicity, the level set functions are notnecessarily periodic and may be defined in a regionsmaller than the periodic simulation box.

4.3. Outline of the algorithm

Finally, we summarize the steps of our algor-ithm as follows:

Step 1. Initialize the level set functions f and y.Step 2. Compute the tangent vector x and the delta

function d(g) from the level set functionsf and y using Eqs. (21) and (28).

Step 3. Compute the self-stress tensor {sij} usingEq. (27) and a FFT.

Step 4. Compute the velocity field using Eqs.(11)–(13).

Step 5. Perform velocity interpolation and exten-sion.

Step 6. Update level set functions f and y usingEq. (16).

Step 7. Reinitialize the level set functions f andy as signed distance functions at each

time step using Eqs. (32) and (33); resettheir zero levels perpendicular to eachother using Eqs. (35) and (37) after severaltime steps.

Step 8. Plot the dislocation lines as required forvisualization.

Step 9. Repeat step 2 through 8.

5. Examples

In this section, we present several exampleapplications using the level set method for dislo-cation dynamics proposed above. The simulationswere performed within simulation cells that werel × l × l (where l = 2, except as noted) in arbitraryunits. The stresses are scaled by Gb/2l, allmobilities are normalized by the glide mobility mg,and the time is scaled by 4l /Gb2mg, where b is themagnitude of the Burgers vector. We assume per-iod boundary conditions and discretize the simul-ation cell into 64 × 64 × 64 grid points, exceptwhere noted. We set the Poisson ratio n = 1 /3 andthe climb mobility mc = 0 except where noted. Thesimulations described in the next subsection, per-formed with these parameters, required less than 5h on a personal computer with a 450 MHz PentiumII microprocessor. The computational efficiency isindependent of the absolute value of the glidemobility or the absolute value of the grid spacing.

5.1. Prismatic loop shrinking under its self-stressby climb

At high temperature, a prismatic loop (Burgersvector perpendicular to the plane containing theloop) will shrink under its own self-stress by climb(assuming mc � 0). The leading order term in theforce that tends to shrink the loop is [3,22]

Gb2

4π(1�n)log

4e

(40)

where is the curvature of the loop and is thecore radius. For a circular prismatic loop, this is

Gb2

4π(1�n)1R

log4Re

(41)

Page 11: A level set method for dislocation dynamics

5509Y. Xiang et al. / Acta Materialia 51 (2003) 5499–5518

where R is the radius of the circular loop.Fig. 3 shows a circular prismatic loop shrinking

under its own self-stress by climb. The Burgersvector b is in the z direction. (Recall that ourchoice of Burgers vector is arbitrary and that theorientation of the coordinate system used todescribe the simulation cell may be different thanthe orientation of the traditional crystal coordinatesystem.) The initial loop is a circle with radius r= 0.7 in the x–y plane. We choose time step dt =0.0001 and plot the loop every 100 time steps.Note that the rate at which the loop shrinksincreases in time (i.e. with decreasing radius), asexpected based upon the driving force dependenceon the loop radius (see Eq. (41)). The loop eventu-ally disappears.

5.2. Glide loop expanding under an appliedstress

A glide dislocation loop (i.e. a loop in the planecontaining the tangent vector of the dislocation andthe Burgers vector) will shrink under the action ofits self-stress, in the absence of an applied stress.

Fig. 3. A prismatic loop shrinking under its self-stress byclimb. The Burgers vector b is pointing out of the paper. Theloop is plotted at uniform time intervals starting with the outer-most circle. The loop eventually disappears.

The leading order term in the shrinking force is[3,22]

Gb2

4π(1�n)[(1 � n)cos2q � (42)

(1�2n)sin2q]log4e

where is the curvature of the loop, e is the coreradius, and q is the angle between the tangent vec-tor of the dislocation and the Burgers vector.

The leading order shrinking force for the pureedge segments of the dislocation loop is

Gb2

4π1�2n1�n

log4e

. (43)

That for the screw segments of the loop is

Gb2

4π1 � n1�n

log4e

. (44)

For n = 1/3, the shrinking force on the screwsegments exceeds that on the edge segments.Therefore the sections of the loop in the screworientation shrink faster than those in edge orien-tations when they have the same curvature.

The glide dislocation loop can expand in its slipplane provided that a sufficiently large externalstress is applied. The leading order term in theexpansion force is

tb�Gb2

4π(1�n)[(1 � n)cos2q � (45)

(1�2n)sin2q]log4e

where q is the angle between the tangent vector ofthe dislocation and the Burgers vector and t =sxz is the applied shear stress (see Fig. 4). Theexpansion force on the screw segments is smallerthan that on the edge segments, at fixed curvatureand applied stress. Therefore, an initially circularloop should expand slower in the direction parallelto the Burgers vector than in any other direction.

Fig. 4 shows the simulation results for a dislo-cation loop expanding in its slip plane under anapplied stress and the self-stress. The loop is in thex–y plane (the z direction is pointing out of thepaper), the Burgers vector b is in the x direction

Page 12: A level set method for dislocation dynamics

5510 Y. Xiang et al. / Acta Materialia 51 (2003) 5499–5518

Fig. 4. A dislocation loop with a Burgers vector b in the xdirection expanding in its slip plane under an applied stresssxz � 0 (the z direction is pointing out of the paper). The loopis plotted at uniform time intervals starting from the innermostcircular loop.

and the tangent vector rotates along the loop in theclockwise direction. The applied shear stress sxz

= 7.5, while the other components of the appliedstress are 0. Initially, the loop is a small circle withradius r = 0.15. We choose the time step to bedt = 0.0001 and plot the loop every 100 time steps.The loop expands and elongates in the directionof the Burgers vector, as expected based upon thediscussion above.

5.3. Dislocation loop expanding under anapplied stress: general case

While the previous two cases considered pureclimb and pure glide dislocation loop geometriesin which the loop remained planar, the evolutionof a loop under an arbitrary applied stress need notalways move in the initial plane of the loop. Fig.5(a) shows the expansion of an initially planar, cir-cular loop under the action of an applied stresswith non-zero components sxz = 2.5, which tendsto expand the loop, and sxy = 4.0, which tends tomove it out of the xy plane. Only the screw seg-ments of the loop move out of the initial plane of

the loop. Although there is a finite force on thenon-screw oriented segments, they cannot moveout of the slip plane because the dislocationmobility in such directions is zero (see Eq. (25)).

At high temperatures, the non-screw compo-nents of a dislocation can move out of their slipplane by climb. Fig. 5 shows a simulation of theexpansion of the dislocation loop under a range ofdifferent climb mobilities. Fig. 5(a) corresponds tothe extreme case of mc /mg = 0. In this case, onlythe screw part of the dislocation can move out ofthe slip plane by cross-slip. Fig. 5(e) shows theextreme case of the climb mobility equal to theglide mobility mc /mg = 1. In this case, the screwsegments cross-slip and the non-screw componentsclimb out of the slip plane. The loop appears torotate as it expands. Fig. 5(b)–(d) show intermedi-ate cases where the degree of climb of the edgecomponents vary.

5.4. Dislocation intersections

We now examine the case of the intersection ofpairs of perpendicular dislocation lines for tworelatively simple cases. Fig. 6 shows the intersec-tion of a straight edge dislocation with Burgersvector b parallel to the x-axis and line directionparallel to the y-axis and another straight edge dis-location with the same Burgers vector and the linedirection parallel to the z-axis. The first dislocationline is driven towards the second by an appliedstress sxz. A dislocation reaction occurs when theymeet, temporarily joining half of one dislocationwith half of the other. As the two halves whichoriginally belonged to the first dislocation continueto move forward, they rejoin and the two halvesof what was originally the second dislocation alsorejoin. (The level set method represents the twodislocations at the point of intersection by two 90°dislocations. This is equivalent to a pair of perpen-dicular intersecting dislocations. The choice of rep-resentation is arbitrary.) This procedure looks likethe first dislocation cutting through the second one.This cutting should produce Burgers vector sizekinks in dislocations. However, kinks cannot beresolved in the continuum model. Nonetheless, thebarrier to form kinks is reproduced, as indicated

Page 13: A level set method for dislocation dynamics

5511Y. Xiang et al. / Acta Materialia 51 (2003) 5499–5518

Fig. 5. An initially circular glide loop, with a Burgers vector b in the x direction, expanding under a complex applied stress (sxz

= 2.5 and sxy = 4.0) with mobility ratios mc/mg of (a) 0, (b) 0.25, (c) 0.5, (d) 0.75 and (e) 1.0. The loop is plotted at regular intervalsin time (every �t = 0.02).

by the cusps in the dislocation lines formed as onedislocation cuts through the other.

Fig. 7 shows the intersection of two straightscrew dislocations with different Burgers vectorsb1 and b2, respectively. The directions of the twodislocation lines are the same as those in Fig. 6.The Burgers vector b1 is parallel to the y-axis andthe Burgers vector b2 is parallel to the z-axis. Dis-location 1 moves towards dislocation 2 under the

applied stress syz. One pair of level set functionsis used for each unique Burgers vector (two in thiscase): dislocation 1—f1 and y1 and dislocation 2—f2 and y2. Accordingly, we describe the elasticfields using Eq. (6) rather than Eq. (5). Movingscrew dislocation 1 cuts through dislocation 2. Inan atomistic view, this cutting operation leaveskinks on each of the screw dislocations, which arenot resolved here. The cutting distorts both dislo-

Page 14: A level set method for dislocation dynamics

5512 Y. Xiang et al. / Acta Materialia 51 (2003) 5499–5518

Fig. 6. Intersection of two initially straight edge dislocationswith the same Burgers vector b. The dislocation that is initiallyparallel to the y-axis, is driven in the +x-direction by an appliedstress sxz.

cations and acts as a localized barrier to the motionof dislocation 1.

Admittedly, these two examples are rather sim-ple compared with the types of intersections andjunctions (e.g. Lomer locks) that occur in thedynamics of large dislocation ensembles. We willpresent a more complete analysis of junctionformation/dislocation intersections in a sub-sequent paper.

5.5. Frank–Read source

A Frank–Read source is one of the classic dislo-cation multiplication mechanisms [39]. We simu-late the Frank–Read source in a 4 × 4 × 2 simul-ation cell that is discretized into 128 × 128 × 64grid points. The initial configuration is a rectangu-lar loop in the y–z plane, as shown in Fig. 8(a).The Burgers vector is parallel to the x-axis and astress sxz is applied. We operate the Frank–Readsource under zero climb mobility conditions, suchthat only the initially horizontal segments are

Fig. 7. Intersection of two initially straight screw dislocationswith Burgers vectors b1 and b2. Dislocation 1 is driven in thedirection of the x-axis by the applied stress syz.

Page 15: A level set method for dislocation dynamics

5513Y. Xiang et al. / Acta Materialia 51 (2003) 5499–5518

Fig. 8. Frank–Read source. (a) Initial configuration. (b) Con-figuration after some time.

mobile (i.e. the dislocation can glide only in x–yplanes). In order to avoid the effects of the verylarge forces near the corners of the loops, we fixthe level set functions near the immobile verticalsegments. Fig. 8(b) shows a three-dimensionalconfiguration at some time during the expansion ofthe Frank–Read source. The evolution of aninitially horizontal segment in its slip plane isshown in Fig. 9 (the two end points are pinned).When the stress is applied, the segment increas-ingly bows out, until opposite sides of the loopmeet and annihilate. The meeting and annihilationof opposite sides of the loop is aided by the attract-ive interaction between these two segments (i.e.which have the same Burgers vector but oppositeline direction, x). The result of this process is theformation of a large loop with a dislocation seg-ment, similar to the initial one, inside. This seg-ment then bows out under the applied stress andthe entire process repeats itself, thus generating aseries of concentric dislocation loops.

Fig. 9. Simulation of the Frank–Read source. The configur-ation in the slip plane is plotted at different times during theevolution.

5.6. Dislocations bypassing particles

We applied the simulation procedure describedabove to dislocation dynamics in the presence ofan array of impenetrable particles. A criticalapplied stress exists beyond which a dislocationcan bypass the array of particles. This is the sourceof particle strengthening of metals. The value ofthis critical stress depends upon the particle bypassmechanism. Classically, dislocations can bypassimpenetrable particles by either leaving (Orowan)loops behind as the dislocations glide pass the par-ticles [40] or by cross-slip [41,42].

We assume that the particles exert short-rangerepulsive forces on the dislocations. This short-range repulsive force relaxes the hard core repul-

Page 16: A level set method for dislocation dynamics

5514 Y. Xiang et al. / Acta Materialia 51 (2003) 5499–5518

sion that would occur if the dislocation did notsense the particle until it reached the interface. Innature, such forces are the rule, rather than anexception and can be associated with suchphenomena as misfit stresses, interaction associa-ted with elastic heterogeneity or corecompression/changes as the dislocation approachesvery close to a particle. We assume a repulsiveforce of the form

A(r�B)3�C (46)

where r is the distance from a point on the dislo-cation line to the center of the particle. More pre-cisely, for a spherical particle with radius R, wechoose a repulsive force with hard core repulsionand a cut-off at large dislocation–particle separ-ation:

�� , if r � R /2

Gb2

2l � (1.5R)3

(r�0.5R)3�1�, if R /2 � r � 2R

0, if r � 2R.

(47)

where we recall that l is the dimension of one edgeof the simulation cell.

Numerically, in the velocity interpolation pro-cedure, if there are dislocation segments in thecubes adjacent to a grid point, we compute therepulsive force (Eq. (47)) acting on the nearestpoint on the dislocation to this grid point and addit to the total force. We then extend the velocitydefined near the dislocations to the whole space byvelocity extension.

We study the critical applied shear stress for aninitially straight dislocation to bypass a regulararray of particles. When a dislocation line cannotbypass the particles, it will reach an equilibriumconfiguration. We assume the equilibrium state isachieved if the averaged velocity of the dislocationna over a long time (10,000 time steps in thesimulation) is less than 0.002 of the initial velocityof the straight dislocation. The averaged velocityna is defined as

va �

�f(1)ijk ��dx, �y(1)

ijk ��dx

(�f(2)ijk �f(1)

ijk � � �y(2)ijk �y(1)

ijk �)

N,

(48)

where the subscript ijk is the index of the gridpoint, f(1)

ijk and y(1)ijk are the values of the level set

functions on the grid point ijk at a particular time,f(2)

ijk and y(2)ijk are the values of the level set functions

on the grid point ijk at a later time, N is the totalnumber of grid points where �f(1)

ijk � � dx and �y(1)ijk �

� dx. A similar definition of the equilibrium statewas used in level set method calculations of twodimensional, multiphase motion [38].

5.6.1. Bypassing mechanisms5.6.1.1. Orowan mechanism Fig. 10 shows asimulation of an edge dislocation bypassing a lin-ear array of spherical particles that are coplanar.The dislocation approaches the particle array andthen bows out between the particles. The two dislo-cation segments on the sides of the particle areelastically attracted to each other (recall that they

Fig. 10. An edge dislocation bypassing a linear array of par-ticles, leaving Orowan loops around the particles behind. TheBurgers vector b is in the x direction. The applied stress sxz

� 0, where the z direction is pointing out of the paper. Theglide plane of the dislocation intersects the centers of the par-ticles.

Page 17: A level set method for dislocation dynamics

5515Y. Xiang et al. / Acta Materialia 51 (2003) 5499–5518

have the same Burgers vector but opposite linedirections). These two segments annihilate oneanother, leave behind a dislocation loop as the dis-location moves on. This is exactly the classicalOrowan [40] mechanism for bypassing particles.Similar simulation results were obtained for ascrew dislocation bypassing a linear array ofspherical particles in the same plane.

5.6.1.2. Cross-slip In 1957, Hirsch suggested[41] that dislocations can also bypass particles bycross-slip. A detailed description of this mech-anism was provided by Hirsch and Humphreys[42]. We examined this cross-slip bypassing mech-anism using our level set method. Figs. 11 and 12show such a bypass process for the case in whichthe plane along which the dislocation would glidein the absence of particles does not contain the cen-ters of the particles.

Fig. 11 shows an edge dislocation bypassing aparticle by cross-slip. The edge dislocationapproaches the particle under the action of theapplied stress. The dislocation begins bowingbetween the particles until two segments are ori-ented perpendicular to the initial line direction.These segments are screws. The screw segmentscross-slip over the top of the particle and annihilateeach other there. Since the edge segments cannotcross-slip, a non-glide loop is left behind the par-ticle. The resultant loop is canted with respect tothe loops in Fig. 10 (i.e. where the particle centerand dislocation are exactly coplanar such that thereis no glide force out of the plane).

Fig. 12 shows a screw dislocation bypassing aparticle by a combination of Orowan looping andcross-slip. The screw dislocation approaches theparticle under the action of the applied stress andbegins to bend around the particle. The segmentsthat begin to bend have at least partial edge charac-ter and cannot cross-slip. On the other hand, thesegment behind the particle, remains in screworientation and begins to cross-slip over the par-ticle under the applied stress and its interactionwith the non-coplanar particle. At the same time,the dislocation continues to bend around the par-ticle and pinches-off an Orowan loop. Since thisloop does not lie in the plane containing the par-ticle center, the screw segment formed when the

Fig. 11. An edge dislocation bypassing a particle by theHirsch mechanism through cross-slip. The top set of panelsshow a three-dimensional view, while the bottom set is viewedfrom above (i.e. looking in the �z direction). The Burgers vec-tor b is in the x direction, the applied stress is sxz � 0, and theinitial edge dislocation glide plane is above (in the +z direction)the particle center.

Page 18: A level set method for dislocation dynamics

5516 Y. Xiang et al. / Acta Materialia 51 (2003) 5499–5518

Fig. 12. A screw dislocation bypassing a particle by a combi-nation of Orowan looping and cross-slipping. The top set ofpanels show a three-dimensional view, while the bottom set isviewed from above (i.e. looking in the �z direction). The Burg-ers vector b is in the y direction, the applied stress is syz � 0,and the plane in which the screw dislocation would glide inthe absence of the particle is above the particle center (in the+z direction).

Orowan loop pinches-off begins cross-slippingover the top of the particle. The screw segmentsfrom in front of and behind the particle areattracted toward each other and annihilate. Thisleaves behind two dislocation loops on the twosides of the particle. These are non-glide loops.

Our simulations agree with and confirm the pre-diction of the cross-slip bypassing theory.

5.6.2. Critical applied stressIn addition to showing the bypass mechanism, a

successful method for simulating dislocationmotion should also be able to quantitatively predictthe critical applied shear stress for a dislocation tobypass a particle array. We examined the criticalstress for an edge dislocation bypassing an arrayof spherical particles of diameter D = 0.2 that isperiodic in the x, y and z directions. The initialstraight dislocation is parallel to the y direction andhas a Burgers vector in the x direction. The bypasscriterion was as described at the beginning of thissection. We performed a series of simulations, inwhich we varied the applied stress in a binarysearch to determine the critical applied stress.Simulations were performed for several values ofthe inter-particle separation L, see Fig. 13.

Fig. 13. A schematic illustration of the geometry used todetermine the critical applied stress. The inter-particle separ-ation L and the particle diameter D are indicated.

Page 19: A level set method for dislocation dynamics

5517Y. Xiang et al. / Acta Materialia 51 (2003) 5499–5518

The critical stress for an edge dislocation tobypass the particles by the Orowan mechanism canbe approximated as [17,40,43]

t Gb2πL

logD1

r0(49)

where D1 is the harmonic mean of L and D

D1 � (D�1 � L�1)�1 (50)

and r0 is the inner cut-off radius, associated withthe dislocation core.

Fig. 14 shows the critical stress required for thedislocation to bypass the particle array (in units ofGb/L) versus log(D1/r0) The data points representthe simulation results and the straight line is thebest fit to our data using Eq. (49).1 Excellent agree-ment between our simulation results and the theor-etical estimate is achieved. This suggests that theproposed dislocation dynamics simulation pro-cedure can be employed to make quantitative pre-dictions.

Fig. 14. The critical stress plotted in the unit Gb/L againstlog(D1/r0).

1 Due to the detailed form we chose for the repulsive interac-tion between dislocations and particles (Eq. (47)), the effectivediameter of the particles is D = 0.26, rather than D = 0.2.

6. Summary

We have proposed a novel three-dimensionallevel set method for dislocation dynamics, inwhich the dislocation lines are represented by theintersection of the zero levels of two three-dimen-sional level set functions. The evolution of the dis-location lines is implicitly determined by the evol-ution of the two level set functions. Linearelasticity theory is used to compute the elasticinteractions between dislocations. The equationsdescribing the elastic behavior were solved usingthe fast Fourier transform FFT method with per-iodic boundary conditions.

Since the level set method does not directly trackthe motion of individual dislocation line segments,it can easily handle topological changes that read-ily occur during the evolution of dislocation micro-structures. Our level set method naturally incorpor-ates inherently three-dimensional motion ofdislocations, thereby accounting for cross-slip andclimb. Relative glide and climb mobilities can befixed arbitrarily, as necessary for capturing tem-perature-dependent behavior. Numericalimplementation of the level set method wasthrough simple and accurate finite differenceschemes on uniform grids.

Simulation examples using our method show theglide, cross-slip and climb of dislocation loopsunder applied and/or self-stresses, the intersectionof dislocation lines, and the operation of a Frank–Read source. In the presence of impenetrable par-ticles, our simulations show that the dislocation canbypass the particles by Orowan loop mechanismor the combination mechanisms of Orowan loopand cross-slip. An example of the relationship ofthe critical bypassing applied stress against the par-ticle size and inter-particle distance is quantitat-ively studied. All these simulation results agreevery well with the theoretic predictions and theresults obtained using other methods.

Acknowledgements

The authors gratefully acknowledge useful dis-cussions with Prof. Stanley Osher (UCLA). Thiswork was supported by the National Science Foun-

Page 20: A level set method for dislocation dynamics

5518 Y. Xiang et al. / Acta Materialia 51 (2003) 5499–5518

dation through grant DMR0080766 and theDefense Advanced Research Project Agencythrough grant F33615-01-2-2165. The secondauthor was supported in part by NSF Grant#0208449.

References

[1] Volterra V. Ann Ec Norm 1905;24:401.[2] Nabarro FRN. Theory of crystal dislocations. Oxford,

England: Clarendon Press, 1967.[3] Hirth JP, Lothe J. Theory of dislocations, 2nd ed. New

York: John Wiley, 1982.[4] Kubin LP, Canova GR. In: Messerschmidt U, editor. Elec-

tron microscopy in plasticity and fracture research ofmaterials. Berlin: Akademie Verlag; 1990:23.

[5] Kubin LP, Canova G, Condat M, Devincre B, Pontikis V,Brechet Y. Solid State Phenomena 1992;23/24:455.

[6] Zbib HM, Rhee M, Hirth JP. Int J Mech Sci 1998;40:113.[7] Rhee M, Zbib HM, Hirth JP, Huang H, de la Rubia T.

Model Simul Mater Sci Eng 1998;6:467.[8] Schwarz KW. J Appl Phys 1999;85:108.[9] Ghoniem NM, Tong SH, Sun LZ. Phys Rev B

2000;61:913.[10] Khachaturyan AG. In: Turchi EA, Shull RD, Gonis A,

editors. Science of alloys for the 21st Century, TMS Pro-ceedings of a Hume–Rothery Symposium. TMS;2000:293.

[11] Wang YU, Jin YM, Cuitino AM, Khachaturyan AG. ActaMater 2001;49:1847.

[12] Weygand D, Friedman LH, Van der Giessen E, Needle-man A. Model Simul Mater Sci Eng 2002;10:437.

[13] Pant P, Schwarz KW, Baker SP. Acta Mater2003;51:3243.

[14] Peach M, Koehler JS. Phys Rev 1950;80:436.[15] Foreman AJE, Makin MJ. Phil Mag 1966;14:911.[16] Bacon DJ. Physica Status Solidi 1967;23:527.[17] Bacon DJ, Kocks UF, Scattergood RO. Phil Mag

1973;28:1241.[18] Devincre B, Kubin LP, Lemarchand C, Madec R. Mat Sci

Eng A-Struct 2001;309:211.

[19] Osher S, Sethian JA. J Comput Phys 1988;79:12.[20] Burchard P, Cheng LT, Merriman B, Osher S. J Comput

Phys 2001;170:720.[21] Osher S, Fedkiw RP. J Comput Phys 2001;169:463.[22] Lardner RW. Mathematical theory of dislocations and

fracture. Toronto and Buffalo: University of TorontoPress, 1974.

[23] Landau LD, Lifshitz EM. Theory of elasticity, 3rd ed.New York: Pergamon Press, 1986.

[24] Bulatov VV, Rhee M, Cai W. In: Kubin L, et al., editor.Multiscale modeling of materials—2000. Warrendale, PA:Materials Research Society; 2001.

[25] Cai W, Bulatov VV, Chang J, Li J, Yip S. Phil Mag2003;83:539.

[26] Jiang GS, Peng D. SIAM J Sci Comput 2000;21:2126.[27] Osher S, Shu CW. SIAM J Numer Anal 1991;28:907.[28] Shu CW, Osher S. J Comput Phys 1988;77:439.[29] Spiteri RJ, Ruuth SJ. SIAM J Numer Anal 2002;40:469.[30] Sussman M, Smereka P, Osher S. J Comput Phys

1994;114:146.[31] Peng D, Merriman B, Osher S, Zhao HK, Kang M. J Com-

put Phys 1999;155:410.[32] Osher S, Cheng LT, Kang M, Shim H, Tsai YHR. J Com-

put Phys 2002;179:622.[33] Bardi M, Osher S. SIAM J Math Anal 1991;22:344.[34] Tsai YHR, Cheng LT, Osher S, Zhao HK, UCLA CAM

Report 01-27, SIAM J Numer Anal 2003;41:673.[35] Hou TY, Li Z, Osher S, Zhao HK. J Comput Phys

1997;134:236.[36] Chen S, Merriman M, Osher S, Smereka P. J Comput

Phys 1997;135:8.[37] Adalsteinsson D, Sethian JA. J Comput Phys 1999;148:2.[38] Zhao HK, Chan T, Merriman B, Osher S. J Comput

Phys 1996;127:179.[39] Frank FC, Read WT. In: Symposium on plastic defor-

mation of crystalline solids. Pittsburgh: Carnegie Instituteof Technology, 1950 44.

[40] Orowan E. In: Symposium on internal stress in metals andalloys. London: The Institute of Metals, 1948 451.

[41] Hirsch PB. J Inst Met 1957;86:13.[42] Hirsch PB, Humphreys FJ. In: Argon AS, editor. Physics

of strength and plasticity. Cambridge: MIT Press; 1969.[43] Ashby MF. Acta Metall 1966;14:679.