PAOFLOW.spectrum.kpnts_interpolation_mesh#

Attributes#

Functions#

kpnts_interpolation_mesh(data_controller)

Build the k-point path for band structure interpolation.

get_path(ibrav, alat, cell, dk, b_vectors, band_path, ...)

Compute Cartesian k-path points between high-symmetry points.

Module Contents#

PAOFLOW.spectrum.kpnts_interpolation_mesh.comm[source]#
PAOFLOW.spectrum.kpnts_interpolation_mesh.rank[source]#
PAOFLOW.spectrum.kpnts_interpolation_mesh.kpnts_interpolation_mesh(data_controller)[source]#

Build the k-point path for band structure interpolation.

Parameters:

data_controller (DataController) – Object providing data_arrays and data_attributes. Required arrays: a_vectors, b_vectors, high_sym_points. Required attributes: nk, alat, ibrav, band_path.

Returns:

Modifies data_arrays in place:

  • kq : np.ndarray, shape (3, nkpath) — k-path points in crystal coordinates.

Also writes kpath_points.txt via DataController.write_kpnts_path().

Return type:

None

PAOFLOW.spectrum.kpnts_interpolation_mesh.get_path(ibrav, alat, cell, dk, b_vectors, band_path, special_points)[source]#

Compute Cartesian k-path points between high-symmetry points.

Parameters:
  • ibrav (int) – Quantum ESPRESSO Bravais lattice index.

  • alat (float) – Lattice constant (Bohr).

  • cell (np.ndarray, shape (3, 3)) – Lattice vectors (rows) in units of alat.

  • dk (float) – Spacing between consecutive k-points along each segment (in crystal coordinates).

  • b_vectors (np.ndarray, shape (3, 3)) – Reciprocal lattice vectors (rows) in units of 2π/alat.

  • band_path (str or None) – Hyphen/pipe-separated path string (e.g. 'G-X|M-R'). If None, the default path for ibrav is used.

  • special_points (dict or None) – Mapping of point labels to crystal-coordinate arrays. If None, the default points for ibrav are used.

Returns:

  • points (np.ndarray, shape (3, nkpath)) – k-path points in Cartesian coordinates (units of 2π/alat).

  • path_file (str) – Formatted string describing the k-path for file output.