home

k-Space

The kk-space region of wave vectors up to a given magnitude is a disk of area πk2\pi k^2. The kk-space area occupied by a single particle state is

122πLx2πLy=2π2A,\frac{1}{2} \frac{2 \pi}{L_x} \frac{2 \pi}{L_y} = \frac{2 \pi^2}{A},

where the factor of 12\frac{1}{2} is due to the spin degeneracy gs=2s+1=2g_s = 2 s + 1 = 2. The number of states with wave vector magnitude smaller than kk is

N(k)=πk22π2/A=Ak22π.N(k) = \frac{\pi k^2}{2 \pi^2/A} = \frac{A k^2}{2 \pi}.

kk-space is used extensively in solid state physics e.g. to visualize the energy bands of a material as a function of electron momentum. In position space, the position-energy dispersion would just be a probability blur.


k-Space

Download

PNG PDF SVG

Code

k-space.typ (60 lines)

#import "@preview/cetz:0.5.2": canvas, draw
#import draw: circle, content, line

#set page(width: auto, height: auto, margin: 8pt, fill: none)
#set text(size: 12pt)

#let x-range = 3
#let y-range = 3
#let ratio = 3 / 4

#canvas({
  // Set up coordinate system

  circle(
    (0, 0),
    radius: 2 / 3 * y-range,
    stroke: blue,
    fill: blue.lighten(80%),
    fill-opacity: 0.2,
    name: "fermi-circle",
  )

  for x in range(-x-range, x-range + 1) {
    for y in range(-y-range, y-range + 1) {
      circle((x, ratio * y), radius: 2pt, fill: black)
    }
  }

  let arrow-style = (mark: (end: "stealth", fill: black))
  let x-end = (x-range + 0.5, 0)
  let y-end = (0, ratio * y-range + 0.5)

  line((-x-range - 0.5, 0), x-end, ..arrow-style)
  line((0, -ratio * y-range - 0.5), y-end, ..arrow-style, name: "y-axis")

  content(x-end, $k_x$, anchor: "south-west")
  content((rel: (.55, 0), to: "y-axis.end"), $k_y$, anchor: "north-east")

  let spacing-arrow = (
    mark: (symbol: "stealth", fill: black, scale: .3, offset: 0.1),
    stroke: 0.7pt,
  )
  let x-start = (x-range - 1, -ratio * y-range)
  let x-end = (x-range, -ratio * y-range)

  line(x-start, x-end, ..spacing-arrow, name: "x-spacing")
  content("x-spacing.mid", $2pi \/ L_x$, anchor: "north", padding: 0.2)

  let y-start = (x-range, -ratio * y-range)
  let y-end = (x-range, -ratio * y-range + ratio)

  line(y-start, y-end, ..spacing-arrow, name: "y-spacing")
  content("y-spacing.mid", $2pi \/ L_y$, anchor: "west", padding: 0.2)

  // Add N(k) label
  let angle = 130deg
  let label-pos = (calc.cos(angle) * 2.4, calc.sin(angle) * 2.4)
  content(label-pos, text(blue)[$N(k)$])
})