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
Esempio n. 2
0
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)
Esempio n. 3
0
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)
Esempio n. 4
0
def C6_sample():
    return get_sample_fundamental(4, point_group=C6)