wulfric.cell.lepage#
- wulfric.cell.lepage(cell, angle_tolerance=0.0001, give_all_results=False, no_niggli=False, _limit=2.0)[source]#
Detect Bravais lattice type with the Le Page algorithm [1].
Details of the implementation are written in LePage algorithm.
- Parameters:
- cell(3, 3) array-like
Matrix of a cell, rows are interpreted as vectors.
- angle_tolerancefloat, default 1e-4
Angle tolerance for the search of the actual symmetry axes. It is recommended to reduce
angle_tolerance
to account for the finite precision of the angles of thecell
. Default value is chosen in the contexts of condense matter physics, assuming that angles are in degrees. Please choose appropriate tolerance for your problem.- give_all_resultsbool, default False
Whether to return the list of Bravais lattice types identified during the process of exclusion of the pseudosymmetry axes. Last element is the computed Bravais lattice type.
- no_nigglibool, default False
Whether to skip niggli reduction.
- _limitfloat, default 2.0
Tolerance parameter for the construction of the list of potential symmetry axes. Given in degrees. Change with caution and only if you understand what this parameter means and read [1].
- Returns:
- lattice_typestr
Bravais lattice type.
- intermediate_typeslist of str
Returned if
give_all_results
isTrue
.
References
Examples
>>> import wulfric as wulf >>> wulf.cell.lepage([[1, 0, 0], [0, 1, 0], [0, 0, 1]]) 'CUB' >>> wulf.cell.lepage([[1, 0, 0], [0, 1, 0], [0, 0, 2]]) 'TET' >>> wulf.cell.lepage([[1, 0, 0], [0, 2, 0], [0, 0, 3]]) 'ORC'