Skip to main content

Module lattice

Module lattice 

Source
Expand description

Crystal lattices: Bravais vectors, a basis of sites with species, and lattice parameters stated with their temperature.

§Cubic structures

Both cubic structures are a face-centred cubic Bravais lattice with a two-site basis. The primitive vectors and the basis are taken as printed in M. J. Mehl, D. Hicks, C. Toher, O. Levy, R. M. Hanson, G. Hart and S. Curtarolo, “The AFLOW Library of Crystallographic Prototypes: Part 1”, Comput. Mater. Sci. 136, S1 (2017), doi:10.1016/j.commatsci.2017.01.017 (read as arXiv:1607.02532v1):

  • face-centred cubic primitive vectors a1 = (0, a/2, a/2), a2 = (a/2, 0, a/2), a3 = (a/2, a/2, 0) (both entries below);
  • diamond (Strukturbericht A4, prototype A_cF8_227_a, space group Fd-3m, No. 227), p. 616: two sites of one species, Wyckoff 8a, at lattice coordinates (1/8, 1/8, 1/8) and (7/8, 7/8, 7/8); the page lists Si, Ge and Sn among the elements with this structure;
  • zincblende (B3, prototype AB_cF8_216_c_a, space group F-43m, No. 216), p. 543: Zn at (0, 0, 0) (Wyckoff 4a) and S at (1/4, 1/4, 1/4) (4c).

For a zincblende compound the first species named in Lattice::zincblende takes the Zn (4a) site and the second the S (4c) site. Swapping them is the same crystal inverted through the origin; the choice only matters for the polarity of {111} faces, which this step does not use.

The lattice coordinates u of a site give its Cartesian position u1 a1 + u2 a2 + u3 a3 (Mehl et al., eq. (8)). The primitive cell volume is V = a1 . (a2 x a3) (eq. (6)), here a^3 / 4, so the atom number density is (number of basis sites) / V = 8 / a^3 for both structures.

§Hexagonal structures

Wurtzite and the SiC polytypes 4H and 6H share the space group P6_3mc (No. 186) and the hexagonal primitive vectors of Mehl et al. (2017), pp. 423, 425 and 427:

a1 = (a/2, -sqrt(3) a/2, 0),  a2 = (a/2, sqrt(3) a/2, 0),  a3 = (0, 0, c),

so the crystal-frame z axis is the c axis [0001] and x is along a1 + a2. The sites are on the Wyckoff positions 2a, (0, 0, z) and (0, 0, 1/2 + z), and 2b, (1/3, 2/3, z) and (2/3, 1/3, 1/2 + z), in lattice coordinates of (a1, a2, a3):

  • wurtzite (B4, AB_hP4_186_b_b), p. 425: Zn on 2b with z = 0 and S on 2b with z = u. Here the first species named in Lattice::wurtzite takes the Zn site and the second the S site. u is the anion-cation bond length along [0001] in units of c, the definition of F. Bernardini, V. Fiorentini and D. Vanderbilt, Phys. Rev. B 56, R10024 (1997), doi:10.1103/PhysRevB.56.R10024, p. 1 (read as arXiv:cond-mat/9705105v1);
  • 4H (B5, AB_hP8_186_ab_ab), p. 423, stacking ABAC: Si and C on 2a and 2b, four parameters z1..z4;
  • 6H (B6, AB_hP12_186_ab_a2b), p. 427, stacking ABCACB: Si and C on 2a and on two 2b sets, six parameters z1..z6.

The pages name A, B and C the three close-packed column positions of the layers (“one possible stacking (ABAC) for tetrahedral structures. Compare this to Zincblende (ABCABC), Wurtzite (ABABAB), 6H (ABCACB)”, p. 423). In lattice coordinates they are A = (0, 0) (the 2a column), B = (1/3, 2/3) and C = (2/3, 1/3) (the two columns of 2b); this matches the printed 4H and 6H sites. Lattice::polytype builds the ideal crystal of any such sequence; see its docs.

The primitive cell volume is a1 . (a2 x a3) = (sqrt(3)/2) a^2 c, and the hexagonal cell is primitive, so it is also the conventional cell.

§Miller indices

Miller indices (hkl) and direction indices [uvw] refer to the conventional cell (c1, c2, c3): the cube (a x, a y, a z) for the cubic structures (not the primitive vectors above), and (a1, a2, a3) for the hexagonal ones. The reciprocal vectors of a cell are b_i = 2 pi (c_j x c_k) / V (Mehl et al., eqs. (9)-(10)). The planes (hkl) are orthogonal to the reciprocal lattice vector g = h b1 + k b2 + l b3 (the definition of Miller indices via the reciprocal lattice, as given in the Wikipedia article “Miller index”, revision 1378193236 of 2026-10-03, which cites N. W. Ashcroft and N. D. Mermin, Solid State Physics (1976); the book itself was not opened). A direction [uvw] is u c1 + v c2 + w c3, and by c_i . b_j = 2 pi delta_ij (eq. (9)) it lies in the plane (hkl) exactly when h u + k v + l w = 0 (the Weiss zone law, derived here from eq. (9)). For the cubic cell g is parallel to [hkl].

§Miller-Bravais (four-index) indices

For the hexagonal structures, planes and directions may also be given with four indices. The convention, stated once here:

  • the three basal axes are a1, a2 and a3' = -(a1 + a2) (the Wikipedia “Miller index” article, revision 1378193236, section “Hexagonal and rhombohedral structures”: the [100], [010] and [-1-10] directions are equivalent, and the third index is the inverse intercept on the [-1-10] axis), and the fourth axis is c = a3;
  • a plane (hkil) must satisfy h + k + i = 0, and h, k, l are its three-index Miller indices (same article: “h, k and l are identical to the corresponding Miller indices, and i is a redundant index”); its normal is g = h b1 + k b2 + l b3 (plane_from_hkil);
  • a direction [uvtw] is the vector u a1 + v a2 + t a3' + w c, with the constraint u + v + t = 0 that makes the four indices unique. Putting a3' = -(a1 + a2) gives the three-index direction [U V W] = [u - t, v - t, w] (direction_from_uvtw; derived here). The same substitution turns the four-index zone law h u + k v + i t + l w = 0 into the three-index one, since i = -(h + k).

So [0001] is the c axis, (0, 0, 1) in the crystal frame, and [11-20] is 3 (a1 + a2) = 3 a x, along +x. The article notes that ad hoc four-index schemes for lattice vectors exist (in the electron microscopy literature) that do not follow this rule; this crate uses only the one above. The original statement of the four-index direction symbol (F. C. Frank, Acta Cryst. 18, 862 (1965), doi:10.1107/S0365110X65002116) was not opened.

§Lattice parameters

A lattice parameter is a measured fact, so every preset cites the record it was read from and states the temperature it refers to where the record does; see LatticeConstant, HexagonalConstants and the docs/data-provenance.md rows. The lattice is rigid: no thermal expansion is applied, and the temperature is carried as metadata of the cited value.

Structs§

HexagonalConstants
Cited hexagonal cell parameters: a, c, the temperature they refer to (None when the record read does not state it) and where they were read.
Lattice
A crystal: a Bravais lattice with a basis. Cubic (face-centred cubic Bravais lattice) or hexagonal; see the module docs.
LatticeConstant
A cited lattice constant: value, the temperature it refers to, and where it was read.
Site
One basis site: species and lattice (fractional) coordinates with respect to the primitive vectors.

Enums§

Structure
Which structure a Lattice has.

Constants§

GAAS_DENSITY_G_CM3
The GaAs density printed with GAAS_LATTICE_CONSTANT on the same NBS page, g/cm³ at 25 °C. Used to cross-check the lattice number density against the crate::material module.
GAAS_LATTICE_CONSTANT
Gallium arsenide: a = 5.652 Å at 25 °C (298.15 K).
GAN_DENSITY_G_CM3
Measured (not X-ray) density of wurtzite GaN, 6.1 g/cm³, temperature not stated.
GAN_LATTICE_CONSTANTS
Wurtzite gallium nitride: a = 3.1890 Å, c = 5.18500 Å at 300 K.
GE_LATTICE_CONSTANT
Germanium: a = 5.6576 Å at 25 °C (298.15 K).
MAX_POLYTYPE_LAYERS
Longest stacking Lattice::polytype accepts. The orthohexagonal cell has 4n sites, and Candidate::basis is a u8, so n = 64 (256 sites) is the largest period whose site indices do not alias.
SIC_3C_LATTICE_CONSTANT
Cubic (3C) silicon carbide: a = 4.3596 Å at 297 K.
SIC_4H_DENSITY_G_CM3
4H-SiC density, “3.211 g cm-3, 300 K”, credited to Gomes de Mesquita (1967) by the Ioffe NSM archive SiC basic-parameters page (read 2026-10-08; primary not opened). Provisional: that Acta Cryst. 23, 610 (1967) is titled “Refinement of the crystal structure of SiC type 6H” (Crossref), so the attribution to 4H is doubtful. Used in the number-density test, which records the 4H disagreement as a gap.
SIC_4H_LATTICE_CONSTANTS
4H silicon carbide: a = 3.08051 Å, c = 10.0848 Å; temperature not stated in the record read.
SIC_4H_Z
The Wyckoff parameters z1..z4 of 4H-SiC as printed with SIC_4H_LATTICE_CONSTANTS (Mehl et al. 2017, p. 733, _aflow_params_values): Si I (2a) 0.0, C I (2a) 0.18784, Si II (2b) 0.24982, C II (2b) 0.43671, from Bauer et al. (2001).
SIC_6H_DENSITY_G_CM3
6H-SiC density, “3.21 g cm-3, 300 K”, credited to Harris et al. (1995b) by the same Ioffe page (primary not opened). Used in the number-density test.
SIC_6H_LATTICE_CONSTANTS
6H silicon carbide: a = 3.08129 Å, c = 15.11976 Å; temperature not stated in the record read.
SIC_6H_Z
The Wyckoff parameters z1..z6 of 6H-SiC as printed with SIC_6H_LATTICE_CONSTANTS (Mehl et al. 2017, p. 734): Si I (2a) 0.0, C I (2a) 0.1254, Si II (2b) 0.16675, C II (2b) 0.29215, Si III (2b) 0.8335, C III (2b) -0.0415, from Bauer et al. (2001).
SI_LATTICE_CONSTANT
Silicon: a = 5.431 020 511(89) x 10^-10 m, in vacuum at 22.5 °C (295.65 K).

Functions§

direction_from_uvtw
Three-index direction [U V W] = [u - t, v - t, w] of the Miller-Bravais direction [uvtw] (see the module docs for the convention).
equal_bond_wurtzite_u
The wurtzite u at which the bond along [0001] and the three other bonds of each atom have the same length: u = 1/4 + a^2 / (3 c^2).
hexagonal_vectors
The hexagonal primitive vectors a1 = (a/2, -sqrt(3) a/2, 0), a2 = (a/2, sqrt(3) a/2, 0), a3 = (0, 0, c) (Mehl et al. 2017, pp. 423, 425, 427).
plane_from_hkil
Three-index Miller indices (hkl) of the Miller-Bravais plane (hkil).
reciprocal_vectors
Reciprocal vectors b_i = 2 pi (c_j x c_k) / V of the cell c (Mehl et al. 2017, eq. (10)).