Skip to main content
The PHONON task computes lattice dynamics properties by combining the finite-displacement method (implemented by phonopy) with a force evaluation back-end provided by any ASE calculator. Given an input structure, the task:
  1. Constructs a supercell and generates symmetry-inequivalent displaced configurations.
  2. Evaluates forces on each displaced supercell using the supplied calculator.
  3. Assembles force constants and runs phonopy’s post-processing pipeline to produce the phonon band structure, total DOS, and thermal properties.

Prerequisites

phonopy must be installed separately:
If phonopy is missing, the import fails gracefully with a warning and PHONON will not be available.

Function signature

Parameters

ase.Atoms
required
Primitive (or conventional) unit cell. The structure is passed as-is to phonopy; ensure it is fully relaxed before running PHONON.
ase.calculators.calculator.BaseCalculator
required
Calculator used to evaluate forces on each displaced supercell.
list[int] | None
default:"None"
Supercell expansion matrix passed directly to Phonopy. Typically a 3-element list [nx, ny, nz] for a diagonal matrix, or a 3×3 list. If None, min_lengths is used to determine the matrix.
float | tuple[float, float, float] | None
default:"None"
Minimum supercell lengths in Å along each axis. A diagonal supercell matrix is computed such that all supercell lengths exceed min_lengths. Ignored if supercell_matrix is provided.
number
default:"1e-5"
Symmetry precision in Å passed to phonopy for space-group determination.
number
default:"0.01"
Atomic displacement distance in Å used to generate finite-difference configurations.
dict
default:"{}"
Additional keyword arguments forwarded to the Phonopy constructor.
boolean
default:"false"
If True, symmetrizes the computed force constants using both symmetrize_force_constants() and symmetrize_force_constants_by_space_group().
number
default:"0.0"
Minimum temperature in K for thermal property calculations.
number
default:"1000.0"
Maximum temperature in K for thermal property calculations.
number
default:"10.0"
Temperature step in K for thermal property calculations.
str | None
default:"None"
If provided, writes band.yaml and phonopy.yaml (with force constants) to this directory.

Return value

You can access results via the standard phonopy API:

Example

1

Relax the structure first

Always run structure optimization before computing phonons to avoid imaginary modes from residual forces.
2

Run PHONON

3

Inspect results

The PHONON task does not perform structure optimization internally. Pass a fully relaxed structure to avoid spurious imaginary phonon modes.