Seekpath: Brillouin Zone Paths

2.2.1 · active · verified Thu Apr 16

Seekpath is a Python module designed to obtain and visualize k-vector coefficients and automatically generate high-symmetry band paths in the Brillouin zone of crystal structures. It integrates with spglib for symmetry analysis and is widely used in materials science for electronic structure calculations. The current version is 2.2.1, with minor releases typically occurring every few months to address bug fixes and improve compatibility.

Common errors

Warnings

Install

Imports

Quickstart

This example demonstrates how to define a simple crystal structure (Silicon) and use `seekpath.get_path` to obtain the high-symmetry k-point path and coordinates in the Brillouin zone. The output `path_data` dictionary contains essential information for band structure calculations.

import numpy as np
from seekpath import get_path

# Define a crystal structure (e.g., Silicon)
# lattice: Bravais lattice vectors in Angstrom
lattice = np.array([
    [0.0, 2.715, 2.715],
    [2.715, 0.0, 2.715],
    [2.715, 2.715, 0.0],
])
# positions: fractional coordinates of atoms in the unit cell
positions = np.array([
    [0.0, 0.0, 0.0],
    [0.25, 0.25, 0.25],
])
# numbers: atomic numbers
numbers = [14, 14] # Silicon

# Get the recommended path and high-symmetry k-points
path_data = get_path(lattice, positions, numbers)

print(f"Points in reciprocal space: {path_data['point_coords'].keys()}")
print(f"Path segments: {path_data['path']}")

# Example: Accessing coordinates of a specific high-symmetry point
print(f"Gamma point coordinates: {path_data['point_coords'].get('GAMMA')}")

view raw JSON →