Chapter 1
25 min read
Section 3 of 70

The 14 Bravais Lattices

The Architecture of Crystals — Real Space

Learning Objectives

By the end of this section, you will be able to:

  1. Name and describe the 7 crystal systems and the constraints each imposes on the lattice parameters (a,b,c,α,β,γ)(a, b, c, \alpha, \beta, \gamma).
  2. Explain the 4 centering types (P, I, F, C) and what "extra lattice points" physically means.
  3. Enumerate all 14 Bravais lattices and explain why exactly 14 survive from the naive count of 28.
  4. Construct the primitive vectors for FCC and BCC lattices and compute their primitive cell volumes.
  5. Compare FCC and BCC lattices in terms of coordination number, packing fraction, and nearest-neighbor distance.
  6. Write VASP POSCAR files for different lattice types (SC, BCC, FCC, hexagonal) using both primitive and conventional cells.
  7. Connect Bravais lattice classification to Brillouin zone shapes, k-path choices, and DFT workflow decisions.
  8. Use pymatgen or spglib to programmatically identify lattice types and convert between primitive and conventional cells.

The Big Picture: Why Only 14?

In Section 1, we defined a crystal as a lattice plus a basis. In Section 2, we learned how lattice vectors a1,a2,a3\mathbf{a}_1, \mathbf{a}_2, \mathbf{a}_3 define the unit cell. Now we face a fundamental question: how many fundamentally different kinds of lattice are there?

At first glance, it seems that any triple of non-coplanar vectors would define a unique lattice. But this overcounts drastically. Many apparently different choices of vectors describe the same lattice — just viewed from different angles or described with different primitive cells. What we really want to classify is the symmetry of the lattice, not the specific vectors.

In 1850, the French physicist Auguste Bravais proved a remarkable theorem: in three dimensions, there are exactly 14 distinct lattice types, grouped into 7 crystal systems. This is not an empirical observation from looking at many crystals — it is a mathematical theorem that follows from the constraints of three-dimensional translational symmetry.

Why this matters for everything that follows

The Bravais lattice type determines: (1) the shape of the Brillouin zone, (2) the high-symmetry k-paths for band structure calculations, (3) which systematic absences appear in diffraction, (4) how many k-points VASP needs, and (5) which symmetry operations are possible. Getting the lattice type right is the foundation of every calculation.

The key insight is that every lattice point must have an identical environment. If you stand on any lattice point and look around, the arrangement of neighbours must be indistinguishable from the view at any other lattice point. This constraint, combined with the requirement of three-dimensional periodicity, limits us to exactly 14 possibilities.


The 7 Crystal Systems

The first level of classification groups lattices by the shape of the conventional unit cell. A conventional cell is defined by six lattice parameters: three edge lengths a,b,ca, b, c and three inter-axial angles α,β,γ\alpha, \beta, \gamma, where α\alpha is the angle between b\mathbf{b} and c\mathbf{c},β\beta is between a\mathbf{a} and c\mathbf{c}, and γ\gamma is between a\mathbf{a} and b\mathbf{b}.

The 7 crystal systems are ordered by decreasing number of free parameters (or equivalently, increasing symmetry):

Crystal SystemLattice Parameter ConstraintsFree ParamsMin. SymmetryExample
Triclinica ≠ b ≠ c; α ≠ β ≠ γ6None (only 1̄)K₂Cr₂O₇
Monoclinica ≠ b ≠ c; α = γ = 90°, β ≠ 90°4One 2-fold axisGypsum (CaSO₄)
Orthorhombica ≠ b ≠ c; α = β = γ = 90°3Three 2-fold axesBaSO₄
Tetragonala = b ≠ c; α = β = γ = 90°2One 4-fold axisTiO₂ (rutile)
Trigonala = b = c; α = β = γ ≠ 90°2One 3-fold axisCaCO₃ (calcite)
Hexagonala = b ≠ c; α = β = 90°, γ = 120°2One 6-fold axisZnO (wurtzite)
Cubica = b = c; α = β = γ = 90°1Four 3-fold axesCdSe, Si, Cu

The Symmetry Hierarchy

Notice the progression: triclinic is the least symmetric (6 free parameters — completely general) while cubic is the most symmetric (only 1 free parameter — all edges equal, all angles 90°). Each step up in symmetry adds a constraint that eliminates one or more free parameters.

Think of it this way: the triclinic system places no restrictions on the cell shape. It is the "catch-all" for any structure whose symmetry does not fit a higher system. As you move up to cubic, you are imposing more and more equalities and fixing angles, which requires the structure to have correspondingly higher internal symmetry.

Trigonal vs hexagonal

The trigonal system is sometimes described using hexagonal axes (with a triple-height cell and the γ=120\gamma = 120^\circ convention) rather than rhombohedral axes (a=b=c,α=β=γ90a = b = c, \alpha = \beta = \gamma \neq 90^\circ). Both descriptions are valid; the choice affects how you write your POSCAR in VASP. The underlying symmetry is the same.

Interactive: Explore Crystal Systems

Use the interactive explorer below to see how the 7 crystal systems differ. Select a system and adjust its free parameters — notice how the locked parameters (shown as grayed-out sliders) enforce the symmetry constraints. Drag to rotate the 3D view and scroll to zoom.

Interactive: The 7 Crystal Systems

Select a crystal system and adjust free parameters. Locked parameters are grayed out.

Cubic System

The most symmetric system. All edges equal, all angles 90°. Only 1 free parameter.

Constraints: a = b = c, α = β = γ = 90°
Free parameters: 1
Min. symmetry: Four 3-fold axes

Lattice Parameters

a = 3.0 Å
b = 3.0 ÅLOCKED
c = 3.0 ÅLOCKED
α = 90°LOCKED
β = 90°LOCKED
γ = 90°LOCKED

Symmetry Progression

6432221

Free parameters: Triclinic(6) → Cubic(1)

What to notice: As you move from triclinic to cubic, more sliders become locked. The cubic system locks everything except aa. The hexagonal system locks γ=120\gamma = 120^\circ, creating the distinctive tilted cell shape. The triclinic system lets you adjust all 6 parameters freely, producing the most irregular parallelepipeds.


From Systems to Lattices: Centering Operations

Within each crystal system, we can have different centering types. A centering operation adds extra lattice points inside the conventional cell — at the body centre, face centres, or base centres. These are not "extra atoms" but additional lattice points that the crystal's translational symmetry requires.

SymbolNameExtra Points AddedZ (Points/Cell)
PPrimitiveNone1
IBody-centered (Innenzentriert)Centre: (½, ½, ½)2
FFace-centeredAll face centres: (½,½,0), (½,0,½), (0,½,½)4
C (or A, B)Base-centeredOne pair of opposite face centres2
RRhombohedralHexagonal cell with 2 interior points3

Why the Letter I?

The symbol I comes from the German word Innenzentriert, meaning "inner-centred" or "body-centred". This notation was established by the International Tables for Crystallography and has been standard since the early 20th century.

Why Not All 28 Combinations?

Naively, 7 systems × 4 centering types = 28 lattices. But many combinations are either redundant (re-describable as a simpler lattice with different primitive vectors) or incompatible (the centering destroys the required symmetry).

Specific examples of redundancies:

  • Face-centred tetragonal: rotate 45° about the cc-axis and rescale: you get body-centred tetragonal with a=a/2a' = a/\sqrt{2}. They are the same lattice, so we keep only tI.
  • Base-centred cubic: the extra points on two faces break the four 3-fold axes required for cubic symmetry. The result is actually a tetragonal lattice.
  • Body-centred hexagonal: the body-centre point destroys the 6-fold rotational symmetry. Not a valid combination.

The Bravais Theorem

The 14 Bravais lattices are the only lattice types consistent with three-dimensional translational symmetry. This is a mathematical theorem proved by Auguste Bravais in 1850. Every crystal ever observed — from table salt to high-temperature superconductors — has one of these 14 lattice types.

The 14 Bravais Lattices

Here is the complete enumeration. The Pearson symbol is a compact notation that encodes the crystal system (first letter) and centering type (second letter):

#Crystal SystemCenteringPearsonFree ParametersExample Material
1TriclinicPaPa, b, c, α, β, γK₂Cr₂O₇
2MonoclinicPmPa, b, c, βGypsum
3MonoclinicCmCa, b, c, βOrthoclase
4OrthorhombicPoPa, b, cBaSO₄
5OrthorhombicCoCa, b, cGallium
6OrthorhombicIoIa, b, cFe₃C
7OrthorhombicFoFa, b, cUO₂
8TetragonalPtPa, cIn, Sn
9TetragonalItIa, cTiO₂
10TrigonalRhRa, αCaCO₃, Bi
11HexagonalPhPa, cZnO, Mg
12CubicPcPaPo
13CubicI (BCC)cIaFe, W, Cr
14CubicF (FCC)cFaCu, Al, CdSe, Si

Reading the Pearson Symbol

The Pearson symbol uses a systematic code: the first letter indicates the crystal system (a = triclinic/anorthic, m = monoclinic, o = orthorhombic, t = tetragonal, h = hexagonal/trigonal, c = cubic) and the second letter indicates the centering (P = primitive, I = body-centred, F = face-centred, C = base-centred, R = rhombohedral).

In many databases (Materials Project, AFLOW, ICSD), structures are identified by their Pearson symbol followed by the number of atoms per cell, like cF8 for zinc blende (FCC with 8 atoms per conventional cell).


Interactive 3D: All 14 Lattices

Explore all 14 Bravais lattices in three dimensions. Select any lattice from the menu, toggle display options, and use the repeat control to see how the lattice tiles space. The amber spheres are centering points; the dashed cyan outline shows the primitive cell when available.

Interactive 3D Bravais Lattice Explorer

Click and drag to rotate • Scroll to zoom • Right-click to pan

CubiccF

Face-centered cubic. 4 lattice points per conventional cell. Most common for semiconductors.

a
3.0
b
3.0
c
3.0
α
90°
β
90°
γ
90°
Material: Cu, Al, Au, CdSe, Si
Z = 7 lattice points / cell
Repeat:
Corner lattice points
Centering points
Primitive cell (dashed)

Things to try:

  • Compare cP, cI, cF — all three are cubic, but centering adds 1, 2, or 4 total points per cell.
  • Select hP (hexagonal) and notice the tilted cell shape from γ=120\gamma = 120^\circ.
  • Select aP (triclinic) to see the most general parallelepiped with no right angles.
  • Turn on Primitive Cell for cF (FCC) to see the rhombohedral primitive cell inside the cube.
  • Set Repeat to 3³ or 5³ to see how the lattice fills space.

Deep Dive: The FCC Lattice

The face-centred cubic (FCC) lattice is the most important Bravais lattice for semiconductor physics and materials science. It is the underlying lattice for:

  • Zinc blende structures: CdSe, GaAs, InP, ZnS, CdTe — the majority of III-V and II-VI semiconductors.
  • Diamond structures: Si, Ge, diamond — the basis of the entire semiconductor industry.
  • Rock salt structures: NaCl, MgO, PbS — fundamental ionic compounds.
  • FCC metals: Cu, Ag, Au, Al, Ni, Pt — the most ductile and workable metals.

Conventional vs Primitive Cell

The FCC conventional cell is a cube with lattice points at the 8 corners and 6 face centres. The count of lattice points per cell is:

Z=8×18+6×12=4Z = 8 \times \tfrac{1}{8} + 6 \times \tfrac{1}{2} = 4

Each corner atom is shared by 8 cubes; each face-centre atom is shared by 2 cubes.

Primitive Vectors

The primitive vectors of the FCC lattice connect a corner to three adjacent face centres:

a1=a2(0,1,1),a2=a2(1,0,1),a3=a2(1,1,0)\mathbf{a}_1 = \frac{a}{2}(0, 1, 1), \quad \mathbf{a}_2 = \frac{a}{2}(1, 0, 1), \quad \mathbf{a}_3 = \frac{a}{2}(1, 1, 0)

These vectors have equal length ai=a/2|\mathbf{a}_i| = a/\sqrt{2} and the angle between any pair is 6060^\circ. The primitive cell they define is a rhombohedron, not a cube.

Primitive Cell Volume

The scalar triple product gives the primitive cell volume:

Vprim=a1(a2×a3)=a34V_{\text{prim}} = \mathbf{a}_1 \cdot (\mathbf{a}_2 \times \mathbf{a}_3) = \frac{a^3}{4}

Since the conventional cell has volume Vconv=a3V_{\text{conv}} = a^3, the ratio Vconv/Vprim=4=ZV_{\text{conv}} / V_{\text{prim}} = 4 = Z, consistent.

Coordination Number and Packing

In FCC, each lattice point has 12 nearest neighbours at distance dNN=a/2d_{\text{NN}} = a/\sqrt{2}. This is the highest coordination number of any Bravais lattice. The packing fraction (assuming hard spheres touching their nearest neighbours) is:

ηFCC=π3274.05%\eta_{\text{FCC}} = \frac{\pi}{3\sqrt{2}} \approx 74.05\%

This is the densest possible packing of equal spheres (Kepler conjecture, proved by Hales in 2005). This is why FCC metals like copper and aluminium are so ductile — the close-packed planes can slide over each other.


Deep Dive: The BCC Lattice

The body-centred cubic (BCC) lattice is the second most important cubic lattice. Many transition metals crystallise in BCC form, including iron (at room temperature), tungsten, chromium, vanadium, niobium, and the alkali metals (Na, K, Rb, Cs).

Primitive Vectors

The BCC primitive vectors connect a corner to three adjacent body centres:

a1=a2(1,1,1),a2=a2(1,1,1),a3=a2(1,1,1)\mathbf{a}_1 = \frac{a}{2}(-1, 1, 1), \quad \mathbf{a}_2 = \frac{a}{2}(1, -1, 1), \quad \mathbf{a}_3 = \frac{a}{2}(1, 1, -1)

Each vector has length ai=a3/2|\mathbf{a}_i| = a\sqrt{3}/2 and the angles between pairs are cos1(1/3)109.47\cos^{-1}(-1/3) \approx 109.47^\circ — the tetrahedral angle.

Key Properties

PropertyFCC (cF)BCC (cI)
Lattice points per cell (Z)42
Coordination number128
Packing fraction74.05%68.02%
Nearest-neighbour distancea / √2a√3 / 2
Primitive cell volumea³ / 4a³ / 2
Close-packed planes{111}None (closest: {110})
Typical materialsCu, Al, Au, Si, CdSeFe, W, Cr, Na, K
Wigner-Seitz cellTruncated octahedronTruncated octahedron
Reciprocal latticeBCCFCC

FCC and BCC are dual

The reciprocal lattice of FCC is BCC, and vice versa. This duality means that if you know the Brillouin zone of one, you automatically know the Wigner-Seitz cell of the other. The first Brillouin zone of FCC is a truncated octahedron (same shape as the BCC Wigner-Seitz cell), and the first Brillouin zone of BCC is a truncated octahedron with different proportions.

Interactive 3D: FCC vs BCC

Compare FCC and BCC lattices side by side in four different view modes. Switch between conventional cell, primitive cell, coordination shell, and sphere packing views to understand the structural differences.

Interactive 3D: FCC vs BCC Comparison

Compare face-centered cubic (FCC) and body-centered cubic (BCC) lattices side by side

FCC (cF)Cu, Al, Au, CdSe, Si
BCC (cI)Fe, W, Cr, Na, K
Z = 4
CN = 12
Packing: 74.05%
NN dist: a/√2 = 2.12
V(prim) = a³/4 = 6.8
Z = 2
CN = 8
Packing: 68.02%
NN dist: a√3/2 = 2.60
V(prim) = a³/2 = 13.5

Standard cubic cell with all lattice points

Key observations:

  • Conventional Cell: FCC has 6 face-centre atoms (blue); BCC has 1 body-centre atom (red).
  • Primitive Cell: Both primitive cells are rhombohedra, but FCC's is flatter (60° angles) while BCC's is more elongated (109.47°).
  • Coordination Shell: FCC has 12 neighbours (more, closer); BCC has 8 neighbours (fewer, further). But BCC also has 6 second-nearest neighbours only slightly further away.
  • Sphere Packing: FCC spheres fill 74% of space; BCC spheres fill 68%. The difference explains why FCC metals are denser.

Bravais Lattices in Diffraction

The Bravais lattice type has direct, measurable consequences in diffraction experiments (XRD, neutron, electron). The centering type determines which reflections are allowed or forbidden through systematic absences (also called extinction rules).

Systematic Absence Rules

CenteringCondition for Allowed Reflection (hkl)Example Absent Peaks
P (primitive)All h, k, l allowedNone
I (body-centred)h + k + l = even(100), (111), (210)
F (face-centred)h, k, l all even or all odd(100), (110), (210)
C (base-centred)h + k = even(100), (010)

These rules arise from destructive interference of waves scattered from the centering points. For example, in FCC, the face-centre atoms scatter waves that cancel the (100) reflection (the wave from the face centre is exactly half a wavelength out of phase with the wave from the corner).

Example: Distinguishing FCC from BCC

In a powder XRD pattern of a cubic material:

  • If you see peaks at (111),(200),(220),(311),(222)(111), (200), (220), (311), (222)\ldots — it is FCC. The first peak is (111).
  • If you see peaks at (110),(200),(211),(220),(310)(110), (200), (211), (220), (310)\ldots — it is BCC. The first peak is (110).
  • If you see peaks at (100),(110),(111),(200)(100), (110), (111), (200)\ldots — it is SC. All peaks present.

Practical tip for XRD

Count the number of peaks in a given 2θ range. FCC has fewer peaks than BCC (because more reflections are forbidden), which makes FCC patterns look "sparser". This is often the quickest way to distinguish them visually.

Interplanar Spacing

For a cubic lattice with parameter aa, the spacing between adjacent (hkl)(hkl) planes is:

dhkl=ah2+k2+l2d_{hkl} = \frac{a}{\sqrt{h^2 + k^2 + l^2}}

Combined with Bragg's law λ=2dhklsinθ\lambda = 2d_{hkl} \sin\theta, this lets you compute the lattice constant aa from measured peak positions. For non-cubic systems, the formula involves all lattice parameters and is more complex.


Lattice Parameters in Practice

Experimental Measurement

  • X-ray diffraction (XRD): The gold standard. Peak positions in a powder pattern give lattice parameters with precision better than 0.001 Å. Rietveld refinement fits the entire pattern simultaneously.
  • Neutron diffraction: Better for light elements (H, Li, O) and magnetic structures. Complementary to XRD.
  • Electron diffraction (TEM/SAED): Works on individual nanocrystals. Gives direct images of the reciprocal lattice.
  • Synchrotron XRD: Ultra-high resolution for precise lattice constant determination, strain analysis, and in-situ studies under extreme conditions.

Crystallographic Databases

DatabaseContentAccess
ICSDExperimental inorganic crystal structuresSubscription
Materials ProjectDFT-relaxed structures (VASP)Free (API available)
AFLOWHigh-throughput DFT structuresFree
CODOpen-access experimental structuresFree
CSDOrganic/metal-organic structuresSubscription

DFT Optimization of Lattice Parameters

In DFT (VASP), equilibrium lattice parameters are found by either:

  1. Equation of state (EOS) fitting: Run calculations at multiple volumes, fit to Birch-Murnaghan EOS, find the minimum-energy volume.
  2. Variable-cell relaxation: Set ISIF=3\texttt{ISIF} = 3 in INCAR to let VASP relax both atomic positions and cell shape simultaneously.

DFT accuracy for lattice constants

PBE (the most common GGA functional) typically overestimates lattice constants by 1–2%. LDA underestimates by a similar amount. For CdSe zinc blende: PBE gives a6.18a \approx 6.18 Å vs experimental a=6.052a = 6.052 Å (2.1% error). The SCAN meta-GGA functional often gives better lattice constants.

Modern Computing & ML Relevance

The Bravais lattice classification is not just textbook knowledge — it is embedded deeply in modern computational materials science and machine learning for materials discovery.

DFT and Solid-State Simulations

  • Brillouin zone shape: Each Bravais lattice has a unique first Brillouin zone. The lattice type determines the shape, high-symmetry points, and standard k-paths used in band structure calculations (e.g., Γ–X–W–L for FCC, Γ–H–N–P for BCC).
  • Symmetry reduction: VASP uses the detected lattice symmetry to reduce the number of k-points. An FCC crystal with a 10×10×10 k-grid has only ~47 irreducible k-points (vs 1000 without symmetry). Getting the lattice type wrong means more k-points and much longer calculations.
  • Monkhorst-Pack grids: The optimal k-point sampling depends on the Bravais lattice type. FCC benefits from Γ-centred grids; hexagonal systems require Γ-centred grids (not Monkhorst-Pack).

Phonons and Thermal Properties

Phonon dispersion calculations use the same reciprocal-space framework. The Bravais lattice determines which phonon branches exist and their degeneracies at high-symmetry points. For example, cubic symmetry forces the three acoustic phonon branches to be degenerate at Γ.

Machine Learning for Materials

  • Crystal graph neural networks (CGCNN, MEGNet, ALIGNN): These models represent crystals as graphs where nodes are atoms and edges are bonds. The lattice type determines the graph structure and periodic boundary conditions. The Bravais lattice is typically an input feature.
  • Symmetry-aware representations: Modern ML models for crystal property prediction (formation energy, band gap, elasticity) use symmetry-invariant descriptors. The crystal system constrains which tensor components are independent — e.g., cubic crystals have only 3 independent elastic constants (C11, C12, C44) while triclinic has 21.
  • Crystal structure prediction: Generative models (DiffCSP, CDVAE) must sample over the 14 lattice types when predicting new crystal structures. The lattice parameters are key degrees of freedom in the generation process.
  • High-throughput screening: Databases like Materials Project use the Bravais lattice as a search filter. When screening for piezoelectric materials, you filter for non-centrosymmetric crystal systems; when looking for isotropic materials, you filter for cubic.

Automated Phase Identification

Modern XRD analysis tools use machine learning to automatically identify phases from diffraction patterns. The first step is always determining the Bravais lattice type from the pattern of systematic absences. Algorithms like those in GSAS-II and HighScore automatically index peaks, determine the lattice type, and refine parameters.

Why crystallography is the natural language for periodic matter

Periodic boundary conditions in DFT, molecular dynamics, and ML models are all built on the Bravais lattice framework. Reciprocal space (k-space) is the Fourier transform of real space, and its structure is determined by the Bravais lattice type. Understanding the 14 lattice types is understanding the periodic table of possible periodicities.

VASP Connection: Specifying Lattice Types

VASP does not have a special flag for "FCC" or "BCC" — you simply write the lattice vectors in the POSCAR file, and VASP automatically detects the symmetry using the SYMPREC\texttt{SYMPREC} tolerance. Here are complete POSCAR examples for four different Bravais lattices.

VASP POSCAR Files: SC, BCC, FCC, and Hexagonal
📝POSCAR examples for different Bravais lattices
1Simple Cubic Header

Simple cubic is the simplest Bravais lattice (Pearson symbol cP). Only polonium crystallises in this form — it is extremely rare because the packing fraction (52%) is too low for most elements.

3SC Scaling Factor

The scaling factor 5.000 Å is the lattice constant a. For simple cubic, the lattice vectors are simply a along each Cartesian axis.

4SC Identity Vectors

The lattice vectors form a perfect cube: a₁ = a(1,0,0), a₂ = a(0,1,0), a₃ = a(0,0,1). All angles are 90°, all edges equal — the defining property of the cubic system.

13BCC Primitive Cell

For BCC iron (a = 2.87 Å), we use primitive vectors: a₁ = (a/2)(-1,1,1), a₂ = (a/2)(1,-1,1), a₃ = (a/2)(1,1,-1). Each vector connects a corner to the body centre. Volume = a³/2 → Z = 2.

14BCC Scaling Factor

2.870 Å is the experimental lattice constant of BCC iron at room temperature. Multiplied by the fractional vectors below to get Cartesian coordinates.

15BCC Primitive Vector a₁

a₁ = (a/2)(-1, 1, 1). This vector points from a cube corner towards the body centre. The negative x-component means it reaches ‘inward’. Together these three vectors span the primitive rhombohedron.

24FCC Primitive Cell Header

FCC with a zinc blende basis (2 atoms). The lattice constant a = 6.052 Å for CdSe. The primitive cell has only 2 atoms (1 Cd + 1 Se) vs 8 atoms in the conventional cell.

26FCC Primitive Vector a₁

a₁ = (a/2)(0, 1, 1). Points from a cube corner to the centre of the y-z face. Each FCC primitive vector lies in a different coordinate plane.

35Hexagonal Cell

ZnO wurtzite uses a hexagonal lattice (hP). The lattice vectors form a 120° angle in the ab-plane. The second vector a₂ = (-a/2, a√3/2, 0) creates the hexagonal symmetry.

EXAMPLE
a = 3.250 Å, c = 5.207 Å
c/a ratio = 1.602 (ideal wurtzite: 1.633)
40Hexagonal c-axis

The c-axis is perpendicular to the ab-plane: a₃ = (0, 0, c). The c/a ratio is a key parameter for hexagonal structures — it determines many physical properties.

42Wurtzite Basis

The wurtzite structure has 4 atoms per cell (2 Zn + 2 O). Positions at (1/3, 2/3, 0) and (2/3, 1/3, 1/2) for Zn define the two interpenetrating hexagonal sublattices.

36 lines without explanation
1# === Simple Cubic (cP) ===
2Simple cubic - Polonium
35.000
4  1.000  0.000  0.000
5  0.000  1.000  0.000
6  0.000  0.000  1.000
7Po
81
9Direct
10  0.000  0.000  0.000
11
12# === BCC Primitive Cell (cI) ===
13BCC iron - primitive cell
142.870
15 -0.500  0.500  0.500
16  0.500 -0.500  0.500
17  0.500  0.500 -0.500
18Fe
191
20Direct
21  0.000  0.000  0.000
22
23# === FCC Primitive Cell (cF) ===
24FCC CdSe zinc blende - primitive cell
256.052
26  0.000  0.500  0.500
27  0.500  0.000  0.500
28  0.500  0.500  0.000
29Cd Se
301  1
31Direct
32  0.000  0.000  0.000
33  0.250  0.250  0.250
34
35# === Hexagonal (hP) ===
36ZnO wurtzite - hexagonal cell
371.000
38  3.250  0.000  0.000
39 -1.625  2.815  0.000
40  0.000  0.000  5.207
41Zn O
422  2
43Direct
44  0.333  0.667  0.000
45  0.667  0.333  0.500
46  0.333  0.667  0.382
47  0.667  0.333  0.882

Symmetry Detection Settings

📝text
1# In INCAR - symmetry detection
2SYMPREC = 1E-5    # Default. Tight tolerance for perfect structures
3SYMPREC = 1E-4    # Use after relaxation when coordinates are slightly off
4ISYM = 2          # Use symmetry (default) - reduces k-points dramatically
5ISYM = 0          # Turn off symmetry - for testing or symmetry-broken states

Symmetry and computational cost

If VASP fails to detect the correct lattice symmetry (e.g., due to a slightly distorted cell from relaxation), the number of irreducible k-points can increase dramatically. An FCC structure with broken symmetry might use 10× more k-points than necessary. Always check the OUTCAR for "Found N irreducible k-points" and compare with expectations.

Computational Exploration with Pymatgen

The pymatgen library provides powerful tools for working with Bravais lattices programmatically. Here is a complete example that builds an FCC structure, detects its symmetry, and converts between primitive and conventional cells:

Pymatgen: Lattice Type Detection & Cell Conversion
🐍bravais_lattice_analysis.py
1Import Structure & Lattice

The Structure class is pymatgen’s core object for periodic crystals. Lattice defines the unit cell geometry. Both are needed to build any crystal.

2Import SpacegroupAnalyzer

This class wraps the spglib library to detect symmetry from atomic positions and lattice vectors. It can find the space group, crystal system, and Bravais lattice type automatically.

5Lattice Constant

The FCC conventional cube edge length for zinc blende CdSe. All three primitive vectors are built from this single parameter — reflecting that cubic is a 1-parameter system.

6Building the FCC Lattice

We construct the lattice from a 3×3 matrix whose rows are the primitive vectors. For FCC: a₁ = (a/2)(0,1,1), a₂ = (a/2)(1,0,1), a₃ = (a/2)(1,1,0). These connect a cube corner to three adjacent face centres.

EXAMPLE
The determinant of this matrix gives volume a³/4,
confirming 4 lattice points per conventional cell.
13Placing the Basis Atoms

In zinc blende, Cd sits at the origin (0,0,0) and Se at (¼, ¼, ¼) in fractional coordinates. This 2-atom basis on the FCC lattice generates the full 8-atom conventional cell (4 Cd + 4 Se).

14Creating the Structure

Structure combines lattice + species + coordinates into a complete periodic crystal. Pymatgen automatically handles periodic boundary conditions and fractional coordinate wrapping.

17Symmetry Detection

SpacegroupAnalyzer with symprec=0.01 Å tolerance. For zinc blende CdSe, it finds space group F-43m (#216), crystal system ‘cubic’, lattice type ‘face-centered’. The symprec tolerance is like VASP’s SYMPREC.

24Conventional Cell

get_conventional_standard_structure() converts the primitive cell to the conventional cell. For FCC, this gives 8 atoms (4 Cd + 4 Se) in a full cube with lattice vectors along x, y, z axes.

28Volume Ratio

The conventional cell volume should be exactly 4× the primitive volume for FCC (Z=4). This ratio is a quick sanity check: if it’s not an integer, something is wrong with your cell description.

24 lines without explanation
1from pymatgen.core import Structure, Lattice
2from pymatgen.symmetry.analyzer import SpacegroupAnalyzer
3import numpy as np
4
5# Build FCC CdSe (zinc blende) from primitive vectors
6a = 6.052  # lattice constant in angstroms
7lattice = Lattice(np.array([
8    [0, a/2, a/2],    # a1 = (a/2)(0, 1, 1)
9    [a/2, 0, a/2],    # a2 = (a/2)(1, 0, 1)
10    [a/2, a/2, 0],    # a3 = (a/2)(1, 1, 0)
11]))
12
13# Place Cd at origin, Se at (1/4, 1/4, 1/4)
14species = ["Cd", "Se"]
15coords = [[0.0, 0.0, 0.0], [0.25, 0.25, 0.25]]
16structure = Structure(lattice, species, coords)
17
18# Analyze symmetry
19analyzer = SpacegroupAnalyzer(structure, symprec=0.01)
20print(f"Space group: {analyzer.get_space_group_symbol()}")
21print(f"Crystal system: {analyzer.get_crystal_system()}")
22print(f"Lattice type: {analyzer.get_lattice_type()}")
23print(f"Point group: {analyzer.get_point_group_symbol()}")
24
25# Get conventional cell
26conv = analyzer.get_conventional_standard_structure()
27print(f"Conventional cell atoms: {len(conv)}")
28print(f"Conventional lattice: {conv.lattice}")
29
30# Compare volumes
31print(f"Primitive volume: {structure.volume:.2f} A^3")
32print(f"Conventional volume: {conv.volume:.2f} A^3")
33print(f"Ratio (should be 4): {conv.volume/structure.volume:.1f}")

Summary

In this section we classified all possible lattices in three dimensions:

  • The 7 crystal systems are defined by constraints on (a,b,c,α,β,γ)(a, b, c, \alpha, \beta, \gamma), ranging from triclinic (6 free parameters, no symmetry) to cubic (1 free parameter, highest symmetry).
  • Centering operations (P, I, F, C, R) add extra lattice points. Not all system-centering combinations are valid — some are redundant, others destroy required symmetry.
  • After eliminating redundancies, exactly 14 Bravais lattices survive. This is Bravais's theorem (1850), not an empirical count.
  • The FCC lattice (cF) is the most important for semiconductors. Primitive vectors: ai=a2(0,1,1)\mathbf{a}_i = \frac{a}{2}(0,1,1) and permutations. Z = 4, CN = 12, packing = 74.05%.
  • The BCC lattice (cI) is important for metals. Primitive vectors: ai=a2(1,1,1)\mathbf{a}_i = \frac{a}{2}(-1,1,1) and permutations. Z = 2, CN = 8, packing = 68.02%.
  • Systematic absences in diffraction directly reveal the centering type: FCC forbids mixed-parity (hkl); BCC forbids odd h+k+l.
  • The lattice type determines the Brillouin zone shape, k-path, and symmetry reduction in DFT — critical for efficient calculations.
  • In VASP, the lattice type is specified through POSCAR lattice vectors. VASP detects symmetry automatically via SYMPREC.

Looking ahead

With the 14 Bravais lattices understood, we are ready to describe where atoms sit within the cell using fractional coordinates (Section 4), and then to classify the symmetry operations that these lattices can support (Section 5 onwards). The combination of Bravais lattice + symmetry operations will lead us to the 230 space groups — the complete classification of all possible crystal symmetries.
Loading comments...