def get_fundamental_zone_grid(resolution=2, point_group=None, space_group=None): """ Generates an equispaced grid of rotations within a fundamental zone. Parameters ---------- resolution : float, optional The characteristic distance between a rotation and its neighbour (degrees) point_group : orix.quaternion.symmetry.Symmetry, optional One of the 11 proper point groups, defaults to None space_group: int, optional Between 1 and 231, defaults to None Returns ------- rotation_list : list of tuples Grid of rotations lying within the specified fundamental zone """ orix_grid = get_sample_fundamental(resolution=resolution, space_group=space_group) rotation_list = get_list_from_orix(orix_grid, rounding=2) return rotation_list
def test_get_sample_fundamental_space_group(C6_sample): """ Going via the space_group route """ # assert that space group #3 is has pg C2 assert C2 == get_point_group(3, proper=True) C2_sample = get_sample_fundamental(4, space_group=3) ratio = C2_sample.size / C6_sample.size assert np.isclose(ratio, 3, rtol=0.025)
def test_get_sample_fundamental_zone_order(C6_sample): """ Cross check point counts to group order terms """ D6_sample = get_sample_fundamental(4, point_group=D6) ratio = C6_sample.size / D6_sample.size assert np.isclose(ratio, 2, rtol=0.025)
def C6_sample(): return get_sample_fundamental(4, point_group=C6)