wulfric.cell.get_hs_data#
- wulfric.cell.get_hs_data(cell, return_relative=True, lattice_type=None, lattice_variation=None, S_matrix=None, C_matrix=None, length_tolerance=1e-08, angle_tolerance=0.0001)[source]#
Return information about high symmetry points and path as defined in the paper by Setyawan and Curtarolo [1].
- Parameters:
- cell(3, 3) array-like
Matrix of a cell, rows are interpreted as vectors.
- return_relativebool, default True
Whether to return coordinates as relative to the reciprocal cell or in absolute coordinates in the reciprocal Cartesian space.
- lattice_typestr, optional
One of the 14 lattice types that correspond to the provided
cell, case-insensitive. If not provided, then computed automatically fromcell. If provided, then it user's responsibility to ensure thatlattice_typeis correct.- lattice_variationstr, optional
One of the lattice variations that correspond to the provided
cellandlattice_type. If not provided, then computed automatically. Case-insensitive.- S_matrix(3, 3) array-like, optional
Transformation matrix S. If not provided, then computed automatically from
cell. If provided, then it is user's responsibility to ensure that the matrix is the correct one for the givencell.- C_matrix(3, 3) array-like, optional
Transformation matrix C. If not provided, then computed automatically from
cell. If provided, then it is user's responsibility to ensure that the matrix is the correct one for the givencell.- length_tolerancefloat, default \(10^{-8}\)
Tolerance for length variables (lengths of the lattice vectors). Default value is chosen in the contexts of condense matter physics, assuming that length is given in Angstroms. Please choose appropriate tolerance for your problem.
- angle_tolerancefloat, default \(10^{-4}\)
Tolerance for angle variables (angles of the lattice). Default value is chosen in the contexts of condense matter physics, assuming that angles are in degrees. Please choose appropriate tolerance for your problem.
- Returns:
- coordinateslist of (3, 3) numpy.ndarray
Coordinates of the high symmetry points in reciprocal space. Relative to the reciprocal cell.
- names: list of str
Names of the high symmetry points. Used for programming, not for plotting. Have the same length as
coordinates.- labelslist of str
List of the high symmetry points labels for plotting. Have the same length as
coordinates. Labels are not necessary equal to the names.- pathstr
K path. High symmetry points are referenced by elements of
names.
See also
wulfric.KpointsClass with a convenient interface for the same information.
References
[1]Setyawan, W. and Curtarolo, S., 2010. High-throughput electronic band structure calculations: Challenges and tools. Computational materials science, 49(2), pp. 299-312.
Examples
>>> import wulfric as wulf >>> cell = wulf.cell.get_cell_example("hex") >>> coordinates, names, labels, kpath = wulf.cell.get_hs_data(cell) >>> kpath 'G-M-K-G-A-L-H-A|L-M|K-H' >>> labels ['$\\Gamma$', 'A', 'H', 'K', 'L', 'M'] >>> names ['G', 'A', 'H', 'K', 'L', 'M'] >>> coordinates [array([0., 0., 0.]), array([0. , 0. , 0.5]), array([0.33333333, 0.33333333, 0.5 ]), array([0.33333333, 0.33333333, 0. ]), array([0.5, 0. , 0.5]), array([0.5, 0. , 0. ])]