nanotools.data.kpoint module

This module defines the Kpoint class.

nanotools.data.kpoint.defaultSymmetryKPoints(crystalStructure, avecStd)[source]

Returns a linear BZ sampling given the crystal structure and lattice vectors.

Parameters:
  • crystalStructure (string) – Name of the Bravais lattice.

  • avecStd (2D array) – (3 x 3) array of row-vectors corresponding to the lattice vectors in the standard ordering (AFLOW).

Returns:

Path of high-symmetry k-point labels.

Return type:

symmetryKPoints (list of strings)

Remarks:

Lei Liu, HZWTech 2015-10 Vincent Michaud-Rioux 2020-06-23

nanotools.data.kpoint.kSymbol2kValue(crystalStructure, primitiveCellVectors, kSymbol)[source]

This function is to convert a high-symmetry k-point label to reduced coordinates.

This function is to convert a conventional symbol for a high symmetrical point in k space into its corresponding coordinate value, where the unit of the value is the three reciprocal primitive cell vectors. Please note that each symbol actually represents a set of infinitely many equivalent points and the output coordinates is just for one of them.

Parameters:
  • crystalStructure (string) – Name of the Bravais lattice.

  • primitiveCellVectors (2D array) – 3 x 3 array of row-vectors corresponding to the lattice vectors).

  • kSymbol (string) – High-symmetry k-point label.

Returns:

High-symmetry k-point fractional coordinates.

Return type:

kValue (1D array)

nanotools.data.kpoint.kSymbol_2_kValue_dict(crystalStructure, primitiveCellVectors)[source]

This function returns a dictionary of the high-symmetry k-point labels of a given crystal structure in reduced coordinates.

This is simply the convention for labeling points of high symmetry in the Brillouin zone. It”s origin is: Bouckaert, Smoluchowski, and Wigner, “Theory of Brillouin Zones and Symmetry Properties of Wave Functions in Crystals,” Phys. Rev. 50, p. 58 (1936). The guide to all the details of this is John C. Slater, “Symmetry and Energy Bands in Crystals” (reprinted by Dover in 1972). It has all the 3-d crystal structures and, I suspect, 2-d as well. These labels may make some sense in the context of group theory (or perhaps in Hungarian), but they are commonly regarded as an arbitrary but common convention. It is also called critical point.

Parameters:
  • crystalStructure (string) – Name of the Bravais lattice.

  • primitiveCellVectors (2D array) – 3 x 3 array of row-vectors corresponding to the lattice vectors).

Returns:

High-symmetry k-points in fractional coordinates.

Return type:

kptDict (dict)

Remark:

Lei Liu, HZWTech 2015-10 Vincent Michaud-Rioux 2020-06-23

nanotools.data.kpoint.kValue2kSymbol(crystalStructure, primitiveCellVectors, kValue)[source]

This function finds a high-symmetry k-point label from reduced coordinates.

Parameters:
  • crystalStructure (string) – Name of the Bravais lattice.

  • primitiveCellVectors (2D array) – (3 x 3) array of row-vectors corresponding to the lattice vectors).

  • kValue (1D array) – High-symmetry k-point fractional coordinates.

Returns:

High-symmetry k-point label.

Return type:

kSymbol (string)