qimpy.lattice.Kpath
- class Kpath(*, process_grid, lattice, dk, points, checkpoint_in=CheckpointPath(checkpoint=None, path=''))
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=CheckpointPath(checkpoint=None, path=''))
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 band structure plot for electrons to filename.
save_checkpoint
Save self and all children in hierarchy to cp_path.
Attributes
- plot(electrons, filename)
Save band structure plot for electrons to filename. TODO: MOVE. This is a postprocessing utility that does not belong here!
- Parameters
electrons (Electrons) –
filename (str) –
- Return type
None
- comm: Comm
Communicator for k-point division
- division: TaskDivision
Division of k-points across comm
- k: Tensor
Array of k-points (N x 3)
- wk: Tensor
Integration weights for each k (adds to 1)