wulfric.kpoints.get_path_and_points#

wulfric.kpoints.get_path_and_points(cell, atoms, spglib_data=None, convention='HPKOT', with_time_reversal=True, relative=True)[source]#

Returns recommended k-path and set of high-symmetry points.

Note that high-symmetry points are the ones of the primitive cell, that is associated with the given set of cell and atoms. In other words it respects the symmetry of the crystal.

Parameters:
cell(3, 3) array-like

Matrix of a cell, rows are interpreted as vectors.

atomsdict

Dictionary with N atoms. Expected keys:

  • "positions" : (N, 3) array-like

    Positions of the atoms in the basis of lattice vectors (cell). In other words - relative coordinates of atoms.

  • "names" : (N, ) list of str, optional

    See Notes

  • "species" : (N, ) list of str, optional

    See Notes

  • "spglib_types" : (N, ) list of int, optional

    See Notes

Hint

Pass atoms = dict(positions=[[0, 0, 0]], spglib_types=[1]) if you would like to interpret the cell alone (effectively assuming that the cell is a primitive one).

spglib_dataSpglibData, optional

If you need more control on the parameters passed to the spglib, then you can get spglib_data manually and pass it to this function. Use wulfric's interface to spglib as

spglib_data = wulfric.get_spglib_data(...)

using the same cell and atoms["positions"] that you are passing to this function.

conventionstr, default "HPKOT"

Convention for the definition of the conventional cell. Case-insensitive. Supported:

  • "HPKOT" for [1]

  • "SC" for [2]

with_time_reversalbool, default True

Whether to assume that the system has time reversal symmetry. By default assumes that the system has it. The strategy for extending the path when with_time_reversal=False for the crystals without inversion symmetry is described in [1]. For the systems with inversion symmetry this parameter does nothing.

Added in version 0.6.3.

relativebool, default True

Whether to return coordinates as relative to the reciprocal cell or in absolute coordinates in the reciprocal Cartesian space.

Returns:
recommended_pathstr

Recommended path in reciprocal space between the high-symmetry k points.

hs_pointsdict

High symmetry points.

hs_points = {name1: coordinate1, name2 : coordinate2, ...}

Coordinates of the points are

  • (default) Relative to get_reciprocal(cell) if relative=True.

  • Absolute in reciprocal space if relative=False.

See also

wulfric.Kpoints

Class with a convenient interface for the same information.

Notes

spglib uses types to distinguish the atoms. To see how wulfric deduces the types for given atoms see wulfric.get_spglib_types().

References

[1] (1,2)

Hinuma, Y., Pizzi, G., Kumagai, Y., Oba, F. and Tanaka, I., 2017. Band structure diagram paths based on crystallography. Computational Materials Science, 128, pp.140-184.

[2]

Setyawan, W. and Curtarolo, S., 2010. High-throughput electronic band structure calculations: Challenges and tools. Computational materials science, 49(2), pp. 299-312.