Dislocations, Stress, Strain, and Force
3.016 Fall 2015

Introduction

Dislocations are what causes crystalline structures to slip. The structures goes from this:

initialLattice=Tuples[Table[i,{i,1,8}],3];
Graphics3D[Sphere[initialLattice,1/3]]

To this:

finalLattice=Flatten[Join[Table[{i,j,k},{i,1,8},{j,1,8},{k,1,4}],Table[{i,j,k},{i,0,7},{j,1,8},{k,5,8}]],2];
Graphics3D[Sphere[finalLattice,1/3]]

There are two main types of dislocations to achieve this slip: Edge and Screw. Here is a side view of an edge dislocation in action:

Manipulate[Graphics[{Table[Disk[{i,j},1/8],{i,1,8},{j,1,4}],Table[Disk[{i,j},1/8],{i,0.5,7.5},{j,5,8}],Table[Line[{{i,1},{i,4}}],{i,1,8}],Table[Line[{{i,5},{i,8}}],{i,0.5,7.5}],Table[Line[{{1,j},{8,j}}],{j,1,4}],Table[Line[{{0.5,j},{7.5,j}}],{j,5,8}],Table[Line[{{i,4},{i-0.5,5}}],{i,1,8-t}],Table[Line[{{i,4},{i+0.5,5}}],{i,9-t,7}]}],{t,1,8,1}]

Here is the top view of a screw dislocation:

Manipulate[If[t==8,Graphics[{Red,Table[Disk[{8,j},1/8],{j,1,8}],Polygon[{{7,1},{8,1},{8,8},{7,8}}],Black,Table[Disk[{i,j},1/8],{i,1,7},{j,1,8}],Table[Line[{{i,1},{i,8}}],{i,1,7}],Table[Line[{{1,j},{7,j}}],{j,1,8}]}]
,Graphics[{Red,Table[Disk[{8,j},1/8],{j,1,t}],Polygon[{{7,1},{8,1},{8,t+1},{7,t}}],Black,Table[Disk[{i,j},1/8],{i,1,7},{j,1,8}],Table[Disk[{8,j},1/8],{j,t+1,8}],Table[Line[{{1,j},{7,j}}],{j,1,8}],Table[Line[{{7,j},{8,j}}],{j,t+1,8}],Table[Line[{{i,t},{i+1,t+1}}],{i,1,7}],Table[Line[{{i,t+1},{i,8}}],{i,1,8}],Table[Line[{{i,1},{i,t}}],{i,1,7}]}]],{t,1,8,1}]

The vectors t and b allow us to characterize dislocations. t is the unit tangent vector of the dislocation line. b is the burger’s vector, which is the vector between the finish and start point when you make a right-handed loop around t and complete a circuit. For edge dislocations, here is an example of the two vectors, t is the green dot pointing out of the field, and b is the purple arrow pointing to the left:

Graphics[{Table[Disk[{i,j},1/8],{i,1,8},{j,1,4}],Table[Disk[{i,j},1/8],{i,0.5,7.5},{j,5,8}],Table[Line[{{i,1},{i,4}}],{i,1,8}],Table[Line[{{i,5},{i,8}}],{i,0.5,7.5}],Table[Line[{{1,j},{8,j}}],{j,1,4}],Table[Line[{{0.5,j},{7.5,j}}],{j,5,8}],Table[Line[{{i,4},{i-0.5,5}}],{i,1,5}],Table[Line[{{i,4},{i+0.5,5}}],{i,6,7}],Green,Disk[{5.5,5},1/8],Thickness[0.01],Purple,Arrow[{{7,4},{8,4}}]}]

For screw dislocations, t is the green arrow pointing left, and b is the purple arrow pointing left:

Graphics[{Red,Table[Disk[{8,j},1/8],{j,1,4}],Polygon[{{7,1},{8,1},{8,5},{7,4}}],Black,Table[Disk[{i,j},1/8],{i,1,7},{j,1,8}],Table[Disk[{8,j},1/8],{j,5,8}],Table[Line[{{1,j},{7,j}}],{j,1,8}],Table[Line[{{7,j},{8,j}}],{j,5,8}],Table[Line[{{i,4},{i+1,5}}],{i,1,7}],Table[Line[{{i,5},{i,8}}],{i,1,8}],Table[Line[{{i,1},{i,4}}],{i,1,7}],Thickness[0.01],Purple,Arrow[{{8,2},{7,2}}],Green,Arrow[{{8,5},{7,5}}]}]

For edge dislocations the tangent vector and the burgers vector are perpendicular, for screw dislocations, they are parallel. Most dislocations lie somwhere between edge and screw, and thus have different angles between the two vectors.
Edge dislocations are denoted by a T symbol, with the horizontal part as the direction of the dislocation and the vertical part in the direction of the extra plane:

Graphics[{Table[Disk[{i,j},1/8],{i,1,8},{j,1,4}],Table[Disk[{i,j},1/8],{i,0.5,7.5},{j,5,8}],Table[Line[{{i,1},{i,4}}],{i,1,8}],Table[Line[{{i,5},{i,8}}],{i,0.5,7.5}],Table[Line[{{1,j},{8,j}}],{j,1,4}],Table[Line[{{0.5,j},{7.5,j}}],{j,5,8}],Table[Line[{{i,4},{i-0.5,5}}],{i,1,5}],Table[Line[{{i,4},{i+0.5,5}}],{i,6,7}],Green,Disk[{5.5,5},1/8],Thickness[0.01],Purple,Arrow[{{7,4},{8,4}}],Blue,Line[{{5.25,5},{5.75,5}}],Line[{{5.5,5},{5.5,5.25}}]}]

Screw dislocations are denoted by a circle or swirl normal to the dislocation vector, but has less consistency between different sources.

Stress-Strain Around Dislocations

To model the strain around a screw dislocation, we can draw a cylinder around the dislocation, like this:

This is the equation for the strain on a screw dislocation is:

shearStrainScrew=b/(2 Pi r)

Stress is related to strain through a shear modulus:

shearStressScrew=shearModScrew*shearStrainScrew

Since the shear modulus is a constant for a particular type of material, the general curves of the stress and the strain will be the same, as shown by the graph.

Plot[Abs[shearStrainScrew]/. b->1,{r,-4,4},AxesLabel->{"r","Stress/Strain"},Ticks->None,BaseStyle->{FontSize->18}]

However, it doesn’t that make sense that the stress/strain goes to infinity as r approaches zero. This is why this interaction must be modeled by a hollow cylinder. With the hollowness, the plot looks more like this:

Show[Plot[Abs[shearStrainScrew]/. b->1,{r,-4,4},AxesLabel->{"r","Stress/Strain"},Ticks->None,BaseStyle->{FontSize->18}],
Graphics[{Red,Opacity[0.5],Rectangle[{-1.5,0},{1.5,4}]}],
Plot[-0.05*r^2+.2,{r,-1.1,1.1}]]

Real crystals don’t contain hollow deformation cores though, so in order to find the stress/strain curve near the site, complicated interactions between individual atoms should be considered, but is out of the scope of this notebook.
The stress of screw dislocations can be broken down into cartesian components:

shearStressScrewXY=0;
shearStressScrewXZ=shearStressScrew*Cos[theta];
shearStressScrewYZ=shearStressScrew*Sin[theta];
{shearStressScrewXY,shearStressScrewXZ,shearStressScrewYZ}

For an edge dislocation, modeling stress and strain gets a bit more complcated. For an edge dislocation system where the dislocation line is along the z-axis, the stress only varies on the x-y plane:

Graphics[{Blue,Thickness[0.01],Line[{{{-0.5,0},{0.5,0}},{{0,0},{0,0.5}}}],Black,Dashed,Line[{{0,0},{5,5}}],White,Line[{{0,0},{-5,-5}}],Black,Text["(x,y)",{5,5.3}]},BaseStyle->{FontSize->18},Axes->True]

Edge dislocations have both shear and tensile stress. The tensile stresses are in the direction of the axis and shear stress is in the plane.

tensileStressEdgeXX=(-modulus*b/(2*Pi*(1-v)))*(y*(3*x^2+y^2)/((x^2+y^2)^2));
tensileStressEdgeYY=(modulus*b/(2*Pi*(1-v)))*(y*(x^2-y^2)/((x^2+y^2)^2));
shearStressEdgeXY=(modulus*b/(2*Pi*(1-v)))*(x*(x^2-y^2)/((x^2+y^2)^2));
{tensileStressEdgeXX,tensileStressEdgeYY,shearStressEdgeXY}

An easier way to put the stress of edge dislocations into an equation is using cylindrical coordinates:

tensileStressEdgeRR=(-modulus*b/(2*Pi*(1-v)))*(Sin[theta]/r);
tensileStressEdgeThetaTheta=tensileStressEdgeRR;
shearStressEdgeRTheta=(modulus*b/(2*Pi*(1-v)))*(Cos[theta]/r);
{tensileStressEdgeRR,tensileStressEdgeThetaTheta,shearStressEdgeRTheta}

The Force on a Dislocation

The external work done by applied stress on a screw dislocation such as this one:
 
is defined by this equation:

externalW=shearStress*b*L*delX

The internal work can be defined in terms of f, or force per unit length

internalW=f*L*delX

Equating these two equations give us a definition for f for screw dislocations:

{fShear}=f/.Solve[externalW==internalW,f]

Similarly, the tensile force per unit length for edge dislcations is:

fTensile=-tensileStress*b

However, since most dislocations lie somewhere between screw and edge. The burgers vector is not always in an easy direction, so it can be broken up into its components:

burgers={bX,bY,bZ}

Each axes also have different components of stress (sigma is tensile stress and tau is shear stress):

stressX={sigmaXX,tauXY,tauXZ};
stressY={tauYX,sigmaYY,tauYZ};
stressZ={tauZX,tauZY,sigmaZZ};
{stressX,stressY,stressZ}

The Peach-Koehler Equation: The force per unit length of the dislocation is the dot product of the general stress and the burgers vector, crossed with the dislocation unit vector

generalstress={stressX.burgers,stressY.burgers,stressZ.burgers}

f=Cross[generalstress,{tX,tY,tZ}]

f=MatrixForm[{{i,j,k},generalstress,{tX,tY,tZ}}]

Interacting Dislocations

When dislocations interact, their stress fields combine. If the new stress is now larger, the dislocations repel each other. If the new stress is now smaller, the dislocations attract. The force between them is given by this equation, with k being an arbitary constant.

forceBetween=k*b1*b2/r

Edge dislocations and screw dislocations are neutral to each other. Screw dislocations in the same direction repel and different directions attract. Same goes for edge dislocations.

Manipulate[Graphics[{White,Disk[{10,5}],Disk[{-10,5}],Disk[{-10,-5}],Disk[{10,-5}],Black,Thick,Line[{{-5.5+t,1},{-4.5+t,1}}],Line[{{-5+t,1},{-5+t,1.5}}],Line[{{5.5-t,1},{4.5-t,1}}],Line[{{5-t,1},{5-t,0.5}}],Line[{{-5.5-t,4},{-4.5-t,4}}],Line[{{-5-t,4},{-5-t,4.5}}],Line[{{5.5+t,4},{4.5+t,4}}],Line[{{5+t,4},{5+t,4.5}}],Red,Disk[{-5+t,-1},1/2],Disk[{5-t,-1},1/2],Disk[{-5-t,-4},1/2],Green,Disk[{5+t,-4},1/2]}],{t,0,4}]