Chapter 5
15 min read
Section 43 of 70

Metals, Semiconductors, and Insulators

Electronic Structure and Properties

Learning Objectives

By the end of this section you should be able to:

  1. Explain why the metal/semiconductor/insulator classification is not a property of the chemical element but of the combination of band filling and band gap — and why that single sentence is more powerful than every periodic-table mnemonic you have ever met.
  2. State the Pauli-principle accounting that fixes the position of the Fermi level: each Bloch state holds two electrons (spin up + spin down), and electrons fill from the bottom of the band catalogue upward.
  3. Decide, from a band structure alone, whether a material is a metal, a semiconductor, or an insulator — and recognise the three giveaway edge cases (semimetal, half-metal, and the "intrinsic gap is deceptively small" one).
  4. Quantify the thermal window kBT25meVk_B T \approx 25\,\text{meV} at room temperature, and use it to estimate intrinsic carrier density and how the conductivity of each class varies with temperature.
  5. Describe how doping — substituting a donor or acceptor on a host site — slides the Fermi level, why this is the single most consequential trick in semiconductor engineering, and how a VASP calculation reports the resulting class through EFE_F, the band gap, and the DOS at EFE_F.
One-line preview: a metal is a crystal whose Fermi level cuts through a band; an insulator is one whose Fermi level sits in a wide gap; a semiconductor is the same with a narrow gap. Every electrical property of every solid you have ever held — copper wire, silicon chip, glass tumbler — is one of those three sentences with the word gap filled in.

An Old Puzzle: Why Do Some Things Conduct?

Before quantum mechanics, the difference between copper and quartz was a mystery. Drude's 1900 model — electrons as tiny billiard balls bouncing through a fixed positive lattice — gave the right order-of-magnitude conductivity for metals, but it had no good answer for why the same electrons, in a different host, refuse to move at all. Worse, classical statistics predicted a heat capacity Cv=32NkBC_v = \tfrac{3}{2} N k_B from the electron gas alone, ten times larger than what experiments actually measured. The model worked for the wrong reasons.

The fix arrived in two steps. Sommerfeld (1928) noted that electrons obey Fermi–Dirac statistics, so only those within kBTk_B T of the Fermi level can absorb heat — that solved the heat-capacity puzzle. Bloch (1928) and Wilson (1931) went further: in a periodic potential, the eigenstates are not free particles but Bloch waves, their energies organised into bands separated by gaps. Combining the two observations gave the modern classification: it is not the number of electrons that decides whether a solid conducts but the geometry of the band structure they fill.

The puzzle in one sentence

Copper has one electron per atom in its 4s shell. Sodium has one too. So does hydrogen, in solid form. Yet hydrogen at standard conditions is an insulator, sodium is a metal, and copper is the king of metals. The difference is not how many electrons but which bands they end up in and whether the topmost occupied band is full.


The Pauli Principle Sets the Filling Rules

Recall from Chapter 5.1 that for each band index nn the energy En(k)E_n(\mathbf{k}) is defined on the first Brillouin zone. In a finite crystal of NcN_c primitive cells, the allowed values of k\mathbf{k} form a discrete grid with exactly NcN_c points. With spin-1/2 electrons, that means each band holds

capacity per band  =  2Nc  =  2 electrons per primitive cell.\text{capacity per band} \;=\; 2 \, N_c \;=\; 2 \text{ electrons per primitive cell.}

Pour ZZ valence electrons per primitive cell into the catalogue. They fill states from the bottom up, two at a time. At T=0T = 0 the highest occupied energy is the Fermi level EFE_F. The classification falls out of one simple test:

Where E_F landsClassWhy
Inside a bandMetalThere are infinitesimally close empty states above E_F. An applied field instantly accelerates electrons.
In a gap, narrow (Eg ≲ 3 eV)SemiconductorkBT at room temperature can promote a small but nonzero population across the gap.
In a gap, wide (Eg ≳ 3–4 eV)InsulatorThermal energy is far below the gap; carriers are exponentially rare. Effectively no conduction.

The 2 e⁻/cell rule, in two sentences

If ZZ is even and the topmost occupied band sits below a gap, the crystal is a non-metal. If ZZ is odd, or if bands overlap, it is a metal. That is why alkali metals (Z=1) and copper (Z=11, but with one electron above the filled d shell) are conductors, and why carbon (Z=4) in its tetrahedrally bonded form is a semiconductor.


The Three Cases — Set By Filling, Not By Element

It is worth seeing the three cases drawn together, because the visual is what most students remember long after the algebra is forgotten. Imagine the same band-structure diagram three times, with the Fermi level pencilled in three different places.

ClassE_F positionConductivity at 300 KExamples
MetalInside a band (or two bands overlap)10⁵–10⁶ S/cmCu, Na, Al, Pt, graphite (in-plane)
SemimetalBands touch, vanishing DOS at E_F10²–10³ S/cmBi, Sb, graphite (out-of-plane), graphene at the Dirac point
SemiconductorMid-gap, Eg ≲ 3 eV10⁻⁹–10⁻² S/cm (intrinsic), tunable by dopingSi (1.1 eV), Ge (0.66 eV), GaAs (1.42 eV), CdSe (1.74 eV)
InsulatorMid-gap, Eg ≳ 3–4 eV< 10⁻¹² S/cmDiamond (5.5 eV), SiO₂ (~9 eV), NaCl (~8.5 eV), Al₂O₃ (~9 eV)

Conductivity spans 24 orders of magnitude

Read across that table. The conductivity ratio between copper and quartz is roughly 102410^{24}. No other physical property of solids spans such a vast range — and it is all determined by where one horizontal line sits on a band-structure plot. This is the most consequential single feature of the band picture.


Interactive — Filling, Gap, and Class

Drag the two sliders. The left slider sets electrons per primitive cell. The right slider sets the band gap. Cyan = filled (electrons living here), gray = empty. The amber dashed line is the Fermi level. The badge at the top tells you what kind of material you have built.

METAL
EF = -1.000 eV  ·  gap = 1.50 eV  ·  N = 1.00 e/cell
Fermi level cuts through a band — partially filled, free carriers at every k near E_F.
-2-101234567−π/a0π/aEnergy (eV)wavevector kEFvalence bandconduction band
012 (band full)34
0 (semimetal)~1.1 (Si)~3.4 (GaN)4+ (insulator)

Things to try, in order:

  1. Park the filling at 1.0 e⁻/cell, gap = 1.5 eV. The lower band is half-filled — the Fermi level sits inside a band, and the badge reads METAL. The gap above does not matter; nothing the electrons see at EFE_F cares that there is a gap two volts up.
  2. Now slide the filling to exactly 2.0 e⁻/cell. The lower band fills; EFE_F jumps into the gap. With gap = 1.5 eV the badge reads SEMICONDUCTOR. Drag the gap up to 4 eV — same band, same filling, but now INSULATOR. Same crystal structure, different gap, completely different physics.
  3. Set filling = 2 and shrink the gap to 0. The bands touch. The badge becomes SEMIMETAL. There are no carriers to speak of, but no gap either: a vanishing DOS at EFE_F. Graphite and bismuth live here.
  4. Push filling past 2. Now the upper band starts to fill — METAL again, but this time the carriers are at the bottom of the conduction band rather than half-way up the valence band.

What you should walk away with

Filling and gap are independent knobs. They combine to produce the four possibilities. Almost every electronic engineering decision in your career is a matter of asking which knob you are turning and how. Doping (later in this section) turns the filling knob; alloying and strain typically turn the gap knob.


Why a Full Band Cannot Carry Current

Here is one of the most beautiful arguments in solid-state physics. Why, exactly, does a completely filled band carry zero current — even though it has zillions of electrons in it, all moving?

The current contributed by a single Bloch electron in band nn at wavevector k\mathbf{k} is evn(k)-e\,\mathbf{v}_n(\mathbf{k}). Summing over every occupied state gives the total current density,

Jn=eVkoccvn(k)=eVkocckEn(k).\mathbf{J}_n = -\frac{e}{V}\sum_{\mathbf{k} \in \text{occ}} \mathbf{v}_n(\mathbf{k}) = -\frac{e}{V \hbar}\sum_{\mathbf{k} \in \text{occ}} \nabla_{\mathbf{k}}\, E_n(\mathbf{k}).

Time-reversal symmetry guarantees En(k)=En(k)E_n(-\mathbf{k}) = E_n(\mathbf{k}), so vn(k)=vn(k)\mathbf{v}_n(-\mathbf{k}) = -\mathbf{v}_n(\mathbf{k}): every state at k\mathbf{k} has a partner at k-\mathbf{k} moving in the opposite direction at exactly the same speed. If both partners are filled — which is exactly what happens in a full band — their currents cancel state by state. The integral over the whole BZ is then zero. A completely filled band carries zero current.

An electric field tries to break that pairing by accelerating electrons in the direction of F-\mathbf{F} (because k˙=F\hbar\dot{\mathbf{k}} = \mathbf{F}), but in a full band there is nowhere for the electrons to go: every target state is already occupied, and Pauli forbids double-occupancy. The crystal momentum gets handed back to the lattice through Bragg reflection at the zone boundary, and the band returns to its symmetric equilibrium. That is why a glass tumbler is an insulator even though it contains an Avogadro's number of electrons.

A useful reframing — holes

When we excite a single electron out of a filled valence band into the empty conduction band, the valence band loses one of its partners and is no longer perfectly cancelled. The unbalanced contribution looks exactly as if a single positively charged quasiparticle — a hole — were sitting at the missing k\mathbf{k}. Every textbook calculation of a p-type semiconductor uses this trick.


The Edge Cases: Semimetals and Half-Metals

Real materials don't always cooperate with the clean three-way sort. Two classes of edge cases are worth naming.

Semimetals

A semimetal has a tiny indirect overlap: the conduction band minimum at one k\mathbf{k} sits a few meV below the valence band maximum at a different k\mathbf{k}. So a small pocket of electrons and a small pocket of holes coexist, with the Fermi level inside both. Total carrier density is small (1018cm3\sim 10^{18}\,\text{cm}^{-3} in bismuth versus 1022\sim 10^{22} in copper), and the DOS at EFE_F vanishes linearly. Famous examples: bismuth, antimony, graphite (along the c-axis), and graphene at the Dirac point. The last is special because the dispersion is linear, EkE \propto |\mathbf{k}|, giving electrons the formal properties of massless Dirac fermions — which earned a Nobel Prize.

Half-metals

A half-metal is metallic for one spin channel and insulating for the other: spin-up bands cross the Fermi level, spin-down bands have a gap. The conduction electrons are then 100% spin-polarised. The prototypical examples are CrO₂, Heusler alloys like NiMnSb, and the magnetite Fe₃O₄. Half-metals are the physical foundation of spintronics — every magnetic-tunnel-junction read head in your laptop hard drive uses one. We will see this concretely when we add Mn to CdSe in Chapter 7 and ask whether the doped material is half-metallic.

Two more curiosities you will meet later

Mott insulators have a half-filled band and should be metals by counting, but strong electron–electron repulsion opens a gap. NiO is the classic. Standard DFT mis-classifies them — Section 5.10 discusses why hybrid functionals or DFT+U fix this. Topological insulators are insulating in their bulk but metallic on their surface, with the surface states protected by topology rather than chemistry. Both classes do not fit the simple band-filling story but are correctly described by an enriched version of it.


The Thermal Window — Why kT Decides Everything

At finite temperature the Fermi function smears out occupation around EFE_F with characteristic width kBTk_B T. At room temperature T=300KT = 300\,\text{K},

kBT=(1.38×1023J/K)(300K)4.14×1021J25.85meV.k_B T = (1.38 \times 10^{-23}\,\text{J/K})(300\,\text{K}) \approx 4.14 \times 10^{-21}\,\text{J} \approx 25.85\,\text{meV}.

That number — 25 meV — is the single most useful constant in semiconductor physics. Memorise it. It is the energy scale on which thermal excitations operate. The intrinsic carrier density of a non-degenerate semiconductor scales as

ni    T3/2exp ⁣(Eg2kBT).n_i \;\propto\; T^{3/2} \, \exp\!\left(-\frac{E_g}{2 k_B T}\right).

Plug in numbers and you discover why semiconductors and insulators live in different worlds:

MaterialEg (eV)Eg / 2kBT at 300 KBoltzmann factorIntrinsic n (cm⁻³)
Ge0.6612.8~3 × 10⁻⁶~2 × 10¹³
Si1.1121.5~5 × 10⁻¹⁰~10¹⁰
GaAs1.4227.5~10⁻¹²~10⁶
CdSe1.7433.6~3 × 10⁻¹⁵~10⁴
GaN3.465.7~10⁻²⁹~10⁻¹⁰
Diamond5.5106~10⁻⁴⁶vanishingly small

The exponential is brutal. Doubling the gap from Si to GaN drops the Boltzmann factor by 19 orders of magnitude, and intrinsic conductivity with it. This is why the metal–semiconductor–insulator boundary sits near Eg3eVE_g \sim 3\,\text{eV}: below it, room-T thermal energy can produce measurable carriers; above it, you would need temperatures comparable to the Sun's surface before intrinsic conduction wakes up.

The opposite story for metals

In a metal, raising T does not create carriers — the band is already populated. Instead it scrambles the existing carriers via phonon scattering, so the conductivity decreases roughly linearly with T. Semiconductors do the reverse: their conductivity rises exponentially with T because the carrier density itself grows. Plot lnσ\ln \sigma vs 1/T1/T and a metal slopes up while a semiconductor slopes down with slope Eg/2kB-E_g/2 k_B. Two-line diagnostic in any laboratory.


Doping: Turning the Fermi Level Into a Design Knob

An intrinsic Si crystal at room temperature has ni1010cm3n_i \sim 10^{10}\,\text{cm}^{-3}. Replace one Si atom in 10710^7 with a phosphorus atom and the carrier density jumps to 1015cm3\sim 10^{15}\,\text{cm}^{-3} — five orders of magnitude with a vanishing structural perturbation. That is the miracle of doping.

The mechanism is best read off the band diagram. P (Group V) on a Si (Group IV) site brings one extra electron and one extra proton on the same site. The proton attracts the extra electron in a hydrogenic orbital with binding energy 45meV\sim 45\,\text{meV} — far less than the gap, so the donor level EDE_D sits a hair below the conduction band minimum. At room temperature kBT25meVk_B T \approx 25\,\text{meV} is enough to ionise nearly every donor, and the freed electron lives in the conduction band. The Fermi level slides up toward EDE_D: the crystal becomes n-type.

The mirror story uses Group III. Boron on a Si site is missing one electron — it has an empty acceptor level EAE_A just above the valence band. Thermal electrons hop up from the VBM into EAE_A, leaving a hole behind. The Fermi level slides down toward EAE_A: the crystal becomes p-type.

Dopant on Si siteGroupLevelBinding energyType
Phosphorus (P)VED ≈ EC − 45 meVshallow donorn-type
Arsenic (As)VED ≈ EC − 54 meVshallow donorn-type
Boron (B)IIIEA ≈ EV + 45 meVshallow acceptorp-type
Aluminium (Al)IIIEA ≈ EV + 67 meVshallow acceptorp-type
Gold (Au)deep level near midgaptrap, recombination centreneither

Why "shallow" vs "deep" matters

A shallow level lies within kBT\sim k_B T of a band edge, so it is fully ionised at room temperature and contributes carriers. A deep level (mid-gap) is not — it traps electrons and holes, accelerating non-radiative recombination. In LED design, shallow dopants are friends; deep traps are the enemy. Mn substituting on Cd in CdSe (Chapter 7) sits roughly mid-gap and acts more like a deep trap coupled to a localised spin — a story we will tell in detail.


Interactive — Donors, Acceptors, and the E_F Slide

Drag the doping slider. Negative values add acceptors (pink), positive values add donors (cyan). Watch the Fermi level physically slidewithin the gap, and the carrier population in the conduction or valence band change with it.

INTRINSIC
EF = 0.000 eV (relative to mid-gap) · carriers ≈ ~10¹⁰ cm⁻³ (intrinsic Si, 300 K)
No deliberate dopants. E_F sits near midgap.
ECBMEVBMED (donor)EA (acceptor)EFconduction band (mostly empty)valence band (mostly full)forbidden gap, Eg = 1.5 eV
electronholeionised donorionised acceptor
heavy p-typep-typeintrinsicn-typeheavy n-type

Two specific things to convince yourself of:

  1. The gap does not change. Only the Fermi level moves. The CBM and VBM stay where they are; the donor/acceptor level appears as a thin horizontal in the gap. The carriers actually conducting are not on the donor level — they have fallen off into the conduction band (n-type) or jumped up into the valence band leaving a hole (p-type).
  2. Doping is asymmetric in concentration scale. Even one part-per-billion of phosphorus can dominate over the intrinsic ni1010cm3n_i \sim 10^{10}\,\text{cm}^{-3} in Si. The slider exaggerates the visual density to make the population obvious — in a real crystal, dopants are extraordinarily dilute.

The single most important consequence

By choosing dopant identity and concentration, the engineer controls where in the gap the Fermi level sits. Joining an n-type and a p-type region produces a p–n junction — the building block of every diode, transistor, solar cell, and LED on the planet. We will compute donor and acceptor binding energies from VASP supercells in Chapter 5.8.


Reading the Class From a VASP Calculation

Given a converged VASP calculation, three numbers — the Fermi level, the gap, and the DOS at the Fermi level — tell you the class of the material. The Python below uses pymatgen to extract them from a single vasprun.xml.

Classifying a material from vasprun.xml
🐍classify.py
1pymatgen Vasprun parser

Vasprun loads VASP's master XML output. Pass parse_dos=True and parse_eigen=True to bring in the density-of-states histogram and the per-k-point eigenvalues we need. The XML carries everything: INCAR, KPOINTS, eigenvalues, DOS, magnetisation, total energy.

EXAMPLE
vr.final_structure → pymatgen Structure
2NumPy

Standard numerical library. We use it for boolean masking and averaging over an energy window.

4Load the XML

Reads the file once and caches everything. For a small unit cell with a moderate k-mesh, this takes <1 s. The single object now exposes ".efermi", ".complete_dos", ".eigenvalue_band_properties", and more.

EXAMPLE
Vasprun("vasprun.xml")
5Get the band-structure object

bs is a BandStructure with ".bands" (a NumPy array of shape [n_spin][n_band][n_kpoint]), ".kpoints", and helper methods like get_vbm(), get_cbm(), get_band_gap(). It is the cleanest API for band-edge questions.

6Get the density of states

dos is a CompleteDos: it stores the total DOS as ".densities" (length-2 dict of arrays for spin up/down) and per-orbital, per-site projections. Useful later for atom-resolved analysis.

7Read the Fermi level

VASP writes the Fermi energy directly into vasprun.xml. For metals it sits inside a band; for insulators it is by convention placed at midgap (or VBM, depending on ISMEAR). We will use it as our zero of energy below.

EXAMPLE
EF = -2.34  # eV
9Band-gap probe

get_band_gap() returns a dict {energy, direct, transition}. 'energy' is the gap in eV (0.0 if the bands cross). 'direct' is True if VBM and CBM share a k-point. 'transition' lists the two k-labels for the gap-defining transition.

EXAMPLE
{'energy': 1.12, 'direct': False, 'transition': 'Γ → X'}
10gap value

Pull the numerical gap. A value of exactly 0 is the unambiguous signature of a metal. Values < 50 meV are usually classified as semimetals; conventional semiconductors are 0.5 – 3 eV.

11directness

True if the VBM and CBM live at the same k-point. Direct-gap materials emit light efficiently (CdSe, GaAs); indirect ones (Si, Ge) do not. This single boolean decides whether the material is a candidate for an LED or a laser.

12VBM k-label

get_vbm() returns the valence-band-maximum dictionary including the k-point object. Its .label is the high-symmetry letter (Γ, X, L, …). For a metal there is no VBM, so we guard with `if bs.get_vbm() else None`.

13CBM k-label

Same for the conduction-band minimum. If VBM and CBM labels are the same string, the gap is direct.

16Build the energy axis relative to E_F

Subtracting EF from the DOS energy grid gives an energy axis with zero at the Fermi level — the universal convention for plotting and integration.

EXAMPLE
energies = [-3.0, -2.95, ..., 0.00, 0.05, ...]
17Pick a ±50 meV window

We want the DOS *at* E_F, not the integrated DOS. A boolean mask grabs every grid point within 50 meV (roughly 2 kBT at room T) of zero. This is a robust numerical proxy for the strict point value.

EXAMPLE
window = array([False, False, ..., True, True, ..., False])
18Average DOS in the window

Mean DOS within the ±50 meV slab, in states/eV per unit cell. The 'densities[1]' index picks spin-down by default in pymatgen's labelling — for a non-spin-polarised calculation both arrays are identical, so it doesn't matter. For metals this number is large (≥0.1), for insulators it is essentially zero.

EXAMPLE
dos_at_EF = 1.4e-08  # → insulator
21Metal test

Two independent indicators must agree: a vanishing gap *or* a non-trivial DOS at E_F. Either one alone is enough to declare a metal. The DOS test is robust against the occasional case where the SCF k-grid was too sparse to resolve a tiny gap.

23Semimetal threshold

A few tens of meV separates semimetals from genuine narrow-gap semiconductors. The choice of 50 meV is conventional — it matches roughly 2 kBT at 300 K.

25Semiconductor threshold

The 3 eV cutoff is informal but widely used. Below it, room-T thermal excitation produces measurable carriers; above it, the material conducts so poorly that it is treated as an insulator in practice. GaN at 3.4 eV is the classic borderline case.

27Insulator branch

Anything wider than 3 eV. SiO₂ (~9 eV) and diamond (5.5 eV) end up here. Note: standard DFT under-estimates gaps by ~30%; for serious quantitative work you need hybrid functionals (Section 5.10) or GW.

30Report

Print everything. In a real workflow this would land in a JSON record next to the calculation, indexed by the structure's mp-id or an internal hash. After running this on every structure in your project, you have an electronic-property table with one row per material.

EXAMPLE
E_F = 3.21 eV / Gap = 1.12 eV (indirect) / VBM @ Γ, CBM @ X / DOS(E_F) = 1.4e-08 / => SEMICONDUCTOR
15 lines without explanation
1from pymatgen.io.vasp.outputs import Vasprun
2import numpy as np
3
4vr = Vasprun("vasprun.xml", parse_dos=True, parse_eigen=True)
5bs = vr.get_band_structure()
6dos = vr.complete_dos
7EF = vr.efermi
8
9gap_info = bs.get_band_gap()
10gap = gap_info["energy"]      # eV; 0.0 if metallic
11direct = gap_info["direct"]   # bool
12vbm_k = bs.get_vbm()["kpoint"].label if bs.get_vbm() else None
13cbm_k = bs.get_cbm()["kpoint"].label if bs.get_cbm() else None
14
15# DOS at EF, smeared over a small window
16energies = np.array(dos.energies) - EF
17window = np.abs(energies) < 0.05      # ±50 meV
18dos_at_EF = float(np.mean(dos.densities[1][window])) if window.any() else 0.0
19
20# Classify
21if gap < 1e-3 or dos_at_EF > 1e-2:
22    cls = "METAL"
23elif gap < 0.05:
24    cls = "SEMIMETAL"
25elif gap < 3.0:
26    cls = "SEMICONDUCTOR"
27else:
28    cls = "INSULATOR"
29
30print(f"E_F      = {EF:.3f} eV")
31print(f"Gap      = {gap:.3f} eV  ({'direct' if direct else 'indirect'})")
32print(f"VBM @ {vbm_k},  CBM @ {cbm_k}")
33print(f"DOS(E_F) = {dos_at_EF:.3e} states/eV")
34print(f"=> {cls}")

What the INCAR has to be for this to work

The classification is only as trustworthy as the calculation behind it. Three INCAR settings dominate:

📝text
1# INCAR — minimum to get a defensible class
2PREC   = Accurate
3ENCUT  = 1.3 * max(ENMAX of POTCARs)   # converge to <1 meV/atom
4EDIFF  = 1E-6
5ISMEAR = -5     # tetrahedron with Blöchl corrections; best for accurate DOS
6                # (use 0 + small SIGMA only for metals or relaxations)
7LORBIT = 11     # writes orbital-projected DOS — needed for atom-resolved class
8NEDOS  = 3001   # dense DOS grid; a coarse one will smear away small features

Two pitfalls that change the verdict

  • k-grid too coarse: a sparse Monkhorst–Pack mesh can miss the band-edge k-points entirely, reporting a wrong gap or wrong directness. Always converge the gap value before trusting the class.
  • Smearing too aggressive: large ISMEAR/SIGMA can artificially populate states above the gap and mislead the DOS-at-E_F test. ISMEAR = -5 (tetrahedron) is the gold standard for non-metallic DOS.

The cautionary footnote you owe every reader

PBE-DFT systematically under-estimates band gaps by roughly 30–50%. A Si calculation will report Eg0.6eVE_g \approx 0.6\,\text{eV} instead of 1.1 eV. The qualitative class is usually correct (a semiconductor stays a semiconductor) but the quantitative gap is not. Section 5.10 explains why and shows how HSE06 or GW restore the experimental value. Until then, treat all gap numbers as lower-bound estimates.


Summary

  • The metal/semiconductor/insulator distinction is not a chemical property but a geometric property of the band structure: where the Fermi level lands and how big a gap surrounds it.
  • Each Bloch band holds 22 electrons per primitive cell. Pour ZZ valence electrons into the catalogue from the bottom; if ZZ is odd or two bands overlap, the material is a metal. If ZZ is even and the topmost occupied band is below a gap, the material is a non-metal — a semiconductor or an insulator depending on whether the gap is 3eV\lesssim 3\,\text{eV} or wider.
  • A completely filled band cannot carry current: states at +k+\mathbf{k} and k-\mathbf{k} have opposite group velocities and exact pairwise cancellation. This is the most fundamental reason insulators exist.
  • The thermal scale kBT25meVk_B T \approx 25\,\text{meV} at 300 K, combined with the exponential factor exp(Eg/2kBT)\exp(-E_g/2 k_B T), explains why a 24-orders-of-magnitude conductivity range fits onto a single E vs k diagram.
  • Doping introduces shallow donor or acceptor levels close to a band edge. With kBTk_B T able to ionise them at room temperature, doping slides the Fermi level up (n-type) or down (p-type) inside the gap — without changing the bands themselves.
  • Edge cases — semimetals (Bi, graphene), half-metals (CrO₂), Mott insulators (NiO), topological insulators (Bi₂Se₃) — sit outside the simple three-way sort but are handled by enriched versions of the same band picture.
  • From a VASP calculation, the class is read off three numbers in vasprun.xml: the Fermi level, the gap (and its directness), and the DOS at EFE_F. The 30-line script in this section returns one of {METAL, SEMIMETAL, SEMICONDUCTOR, INSULATOR} for any pre-computed material.
Section 5.3 Core Insight
"Metal, semiconductor, insulator are three names for one question: where on the energy axis does the highest occupied state sit, and how far from the next empty one? Filling sets the position; the gap sets the distance; the rest is engineering."
Coming next: Section 5.4 — Effective Mass and Carrier Transport — where the curvature of the bands we have just classified turns into the mobility, conductivity, and Hall coefficient that experimentalists actually measure.
Loading comments...