Plastic deformation in a crystal is carried by dislocations moving through its regular atomic lattice. A dislocation is a line defect rather than a microscopic displacement by itself.
Two vectors describe its geometry. The Burgers vector \(\mathbf b\) gives the lattice translation accumulated around the defect. The line vector \(\mathbf l\) gives the direction of the defect line.
MTEX represents a pure edge or screw geometry with a dislocationSystem. This page constructs both types and then prepares the systems used to estimate geometrically necessary dislocations from an EBSD map.
Edge dislocations
In a pure edge dislocation, the Burgers vector is perpendicular to the line vector. Start with a cubic crystal frame and two crystal directions.
cs = crystalSymmetry('432');
bEdge = Miller(1,1,0,cs,'uvw')
lEdge = Miller(1,-1,-2,cs,'uvw')bEdge = Miller (432)
u v w
1 1 0
lEdge = Miller (432)
u v w
1 -1 -2The constructor checks that the two vectors are perpendicular or parallel. A general mixed dislocation cannot be entered with this constructor.
dSEdge = dislocationSystem(bEdge,lEdge)dSEdge = dislocationSystem
symmetry: 432
edge dislocations : 1 × 1
Burgers vector line vector energy length
[1 1 0] [1 -1 -2] 1 1.41The grey arrow is the line vector, along which the defect runs. The red arrow is the Burgers vector, which gives the lattice shift across it.
arrow3d(1.3*normalize(vector3d(lEdge)), ...
'faceColor',[0.45 0.45 0.45])
hold on
arrow3d(0.9*normalize(vector3d(bEdge)),'faceColor','red')
hold off
axis off
Notice that the two arrows meet at a right angle. This orthogonality is the defining geometric feature of the edge system.
Screw dislocations
In a pure screw dislocation, the Burgers vector and line vector are parallel. The same Burgers vector can therefore serve as both inputs.
bScrew = Miller(1,1,0,cs,'uvw')
lScrew = Miller(1,1,0,cs,'uvw')
dSScrew = dislocationSystem(bScrew,lScrew)bScrew = Miller (432)
u v w
1 1 0
lScrew = Miller (432)
u v w
1 1 0
dSScrew = dislocationSystem
symmetry: 432
screw dislocations: 1 × 1
Burgers vector energy length
[1 1 0] 1 1.41Draw the line vector longer so that both arrows remain visible when they lie on top of one another.
close all
arrow3d(1.3*normalize(vector3d(lScrew)), ...
'faceColor',[0.45 0.45 0.45])
hold on
arrow3d(0.9*normalize(vector3d(bScrew)),'faceColor','red')
hold off
axis off
The coincident arrows show that the lattice shift is along the direction in which the defect runs. This parallelism distinguishes the screw system.
Build systems from slip systems
A slip system supplies a Burgers vector and a slip-plane normal. MTEX converts each slip system into an edge system with a line direction in the slip plane, and also adds the distinct screw systems.
Here the 12 geometrically distinct FCC slip systems produce 12 edge and 6 screw systems. The 'antipodal' option identifies opposite shear senses before the conversion.
sSFcc = symmetrise(slipSystem.fcc(cs),'antipodal');
dSFcc = dislocationSystem(sSFcc);
[sum(dSFcc.isEdge), sum(dSFcc.isScrew)]ans =
12 6The named constructor performs the corresponding conversion for the standard BCC family. It is a shortcut for constructing and symmetrising slipSystem.bcc(cs), not for the FCC lines above.
dSBcc = dislocationSystem.bcc(cs);
[sum(dSBcc.isEdge), sum(dSBcc.isScrew)]ans =
48 4MTEX uses one half of the cubic slip direction as the Burgers vector during this conversion. It also uses one third of a hexagonal slip direction. Other lattices trigger a warning because the physical scale is ambiguous.
The dislocation tensor
A dislocation system contributes the dyadic tensor \(\mathbf b\otimes\hat{\mathbf l}\), where the hat denotes a unit line vector. This tensor is sometimes described informally as a deformation matrix. In MTEX it is a basis tensor for the dislocation-density tensor used on the next page.
dTBcc = dSBcc.tensordTBcc = dislocationDensityTensor (crystal)
size: 52 × 1
unit: au
rank: 2 (3 × 3)The tensor has the same length unit as the unit-cell axes because the line vector is normalized. MTEX labels this unit au; for a lattice specified in Angstrom, its entries are therefore in Angstrom.
The Burgers-vector norm sets the scale of each basis tensor. For the unit cubic cell used here, a BCC \(\langle111\rangle/2\) Burgers vector has length \(\sqrt{3}/2\).
a = norm(cs.aAxis);
[norm(dSBcc(1).b), norm(dSBcc(end).b), sqrt(3)/2 * a]ans =
0.8660 0.8660 0.8660The earlier statement that both BCC and FCC Burgers vectors have length \(\sqrt{3}a/2\) is not generally correct. An FCC \(\langle110\rangle/2\) Burgers vector has length \(a/\sqrt{2}\), as this check shows.
[norm(dSFcc(1).b), a/sqrt(2)]ans =
0.7071 0.7071Set relative line energies
The property u stores the relative line energy used when MTEX chooses a non-negative combination of systems. A directly constructed system has u = 1 by default. Conversion from slip systems currently initializes u = 2 for edge systems and u = 1 for screw systems.
Hull and Bacon give the elastic line energies
\[ U_{\mathrm{screw}} = \frac{G b^2}{4\pi} \ln\left(\frac{R}{r_0}\right), \]
\[ U_{\mathrm{edge}} = \frac{1}{1-\nu} U_{\mathrm{screw}}, \]
where \(G\) is the shear modulus, \(b\) is the Burgers-vector length, \(\nu\) is Poisson's ratio, \(R\) is the outer cut-off radius, and \(r_0\) is the dislocation-core radius.
If all systems share the other factors, one convenient normalization is \(U_{\mathrm{edge}}=1\) and \(U_{\mathrm{screw}}=1-\nu\).
nu = 0.3;
dSBcc(dSBcc.isEdge).u = 1;
dSBcc(dSBcc.isScrew).u = 1 - nu;There is no single accepted way to set these weights. Another model may use u = c * G * norm(b)^2, with a model-dependent constant c. When \(G\) is a shear modulus, this expression has units of energy per unit length; earlier wording on this page called it energy per length squared. Choose u for the material and model being compared rather than treating an MTEX default as a measured energy.
References
- D. Hull and D. J. Bacon, Introduction to Dislocations, fifth edition, Butterworth-Heinemann, 2011, derives the edge and screw line energies used to motivate the relative weights above.
Next
Continue with Geometrically Necessary Dislocations to turn an EBSD orientation gradient into densities of the systems defined here.
Citing this page.
This page is part of the documentation of
MTEX, a free and open
source MATLAB toolbox for analyzing and modeling crystallographic textures.
It was written by The MTEX Developers and is published at
https://mtex-toolbox.github.io/DislocationSystems.html.
If you use MTEX, or reuse text or figures from this page, in your research,
please cite
F. Bachmann, R. Hielscher, H. Schaeben: Texture Analysis with MTEX - Free and Open Source Software Toolbox, Solid State Phenomena 160 (2010), 63-68. 10.4028/www.scientific.net/SSP.160.63
BibTeX
@article{bachmann2010mtex,
author = {F. Bachmann and R. Hielscher and H. Schaeben},
title = {Texture Analysis with MTEX - Free and Open Source Software Toolbox},
journal = {Solid State Phenomena},
volume = {160},
pages = {63-68},
year = {2010},
doi = {10.4028/www.scientific.net/SSP.160.63},
url = {https://doi.org/10.4028/www.scientific.net/SSP.160.63}
}
Other papers describing specific MTEX methods are listed under Publications — please cite the one that best fits your application. The MTEX source code is licensed under the GNU General Public License v2.0; the text and figures of this documentation are licensed under CC BY 4.0, which permits reuse — including by automated systems — provided The MTEX Developers and this page are credited.