qimpy.lattice.Kpath

class Kpath(*, process_grid, lattice, dk, points, checkpoint_in=(None, ''))

Bases: Kpoints

Path of k-points traversing Brillouin zone. Typically used only for band structure calculations.

Parameters:
__init__(*, process_grid, lattice, dk, points, checkpoint_in=(None, ''))

Initialize k-path with spacing dk connecting points.

Parameters:
  • lattice (Lattice) – Lattice specification for converting k-points from reciprocal fractional coordinates (input) to Cartesian for determining path lengths.

  • dk (float) – [Input file] Maximum distance between adjacent points on k-path. (Units: \(a_0^{-1}\).)

  • points (list) – [Input file] List of special k-points [kx, ky, kz, label] along path. Each point should contain three fractional coordinates (float) and optionally a string label for this point for use in band structure plots.

  • process_grid (ProcessGrid) –

  • checkpoint_in (CheckpointPath) –

Return type:

None

Methods

__init__

Initialize k-path with spacing dk connecting points.

add_child

Construct child object self.`attr_name` of type cls.

add_child_one_of

Invoke add_child on one of several child options in args.

save_checkpoint

Save self and all children in hierarchy to cp_path.

Attributes

labels

Special k-point indices and corresponding labels

k_length

Cumulative k-path length till each k

comm

Communicator for k-point division

k

Array of k-points (N x 3)

wk

Integration weights for each k (adds to 1)

division

Division of k-points across comm

child_names

Names of attributes with child objects.

k_length: Tensor

Cumulative k-path length till each k

labels: dict[int, str]

Special k-point indices and corresponding labels