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:
process_grid (ProcessGrid) –
lattice (Lattice) –
dk (float) –
points (list) –
checkpoint_in (CheckpointPath) –
- __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
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
Special k-point indices and corresponding labels
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