Taylor, Orowan and Polanyi: dislocations (1934)#

Jacob Frenkel (1926) estimated the shear stress needed to slide one plane of a perfect crystal over the next as about \(G/2\pi\) (ideal_shear_strength()). Single crystals of copper and aluminium slip at stresses of order 1 MPa, thousands of times less. In 1934 Geoffrey Taylor, Egon Orowan and Michael Polanyi independently explained the gap with the dislocation, a line defect whose glide moves one row of atoms at a time. The lattice resists it only with the Peierls stress (Peierls 1940, Nabarro 1947), which falls exponentially as the slip planes get farther apart (peierls_stress()).

import matplotlib.pyplot as plt
import numpy as np

from engineeringkit.materials import ideal_shear_strength, peierls_stress

The strength gap#

Typical critical resolved shear stresses of annealed, high-purity single crystals against Frenkel’s estimate. In a face-centred cubic metal the close-packed \(\{111\}\) planes are \(a_0/\sqrt3\) apart and the Burgers vector is \(a_0/\sqrt2\).

metals = {"copper": (48e9, 0.34, 0.361e-9, 0.65e6), "aluminium": (26e9, 0.35, 0.405e-9, 0.79e6)}
for name, (G, nu, a0, crss) in metals.items():
    b, d = a0 / np.sqrt(2), a0 / np.sqrt(3)
    ideal = ideal_shear_strength(G, b, d)
    tau_p = peierls_stress(G, nu, b, d)
    print(f"{name:9s}: ideal {ideal / 1e9:5.2f} GPa, Peierls {tau_p / 1e6:5.1f} MPa, measured {crss / 1e6:.2f} MPa")
    print(f"           ideal / measured = {ideal / crss:,.0f}")
    assert ideal / crss > 5000 and tau_p < ideal / 100
copper   : ideal  9.36 GPa, Peierls  61.2 MPa, measured 0.65 MPa
           ideal / measured = 14,394
aluminium: ideal  5.07 GPa, Peierls  29.9 MPa, measured 0.79 MPa
           ideal / measured = 6,415

Wide planes slip easily#

The Peierls-Nabarro estimate is crude, it still exceeds the measured stress in FCC metals, whose dislocations split into partials and spread further, but its trend is right: closely spaced planes with short Burgers vectors resist slip far more than widely spaced close-packed ones. That is why slip happens on close-packed planes in close-packed directions, and why covalent crystals with narrow dislocations are brittle.

G, nu = 48e9, 0.34
ratio = np.linspace(0.5, 1.5, 101)
tau = peierls_stress(G, nu, 1.0, ratio)
assert np.all(np.diff(tau) < 0) and np.isclose(tau[0] / tau[-1], np.exp(2 * np.pi / (1 - nu)))

fig, ax = plt.subplots(figsize=(6, 3.8))
ax.semilogy(ratio, tau / G, label="Peierls-Nabarro")
ax.axhline(1 / (2 * np.pi), color="k", ls="--", label="Frenkel, G / 2 pi")
ax.axhline(0.65e6 / 48e9, color="C2", ls=":", label="copper, measured")
ax.axvline(np.sqrt(2 / 3), color="0.6", lw=0.8, label="FCC {111}")
ax.set(xlabel="plane spacing / Burgers vector", ylabel="shear stress / G", title="Why dislocations make metals soft")
ax.legend(loc="lower left")
fig.tight_layout()

plt.show()
Why dislocations make metals soft

Total running time of the script: (0 minutes 0.058 seconds)

Gallery generated by Sphinx-Gallery