Пример #1
0
def test_init():
    grid = Grid()

    assert_array_equal(grid.bins, [101, 101])
    assert grid.twoD
    assert_array_equal(grid.ll, [0, 0, 0])
    assert_array_equal(grid.lr, [1, 0, 0])
    assert_array_equal(grid.ul, [0, 1, 0])
    assert_array_equal(grid.tl, [0, 0, 1])
    assert_array_equal(grid.v1, [1, 0, 0])
    assert_array_equal(grid.v2, [0, 1, 0])
    assert_array_equal(grid.v3, [0, 0, 1])
    assert_array_equal(grid.r1, np.linspace(0, 1, 101))
    assert_array_equal(grid.r2, np.linspace(0, 1, 101))
    assert_array_equal(grid.r3, [0])
    assert_array_equal(grid.get_axis_names(), [
        '[ 0.  0.  0.] + x[ 1.  0.  0.]', '[ 0.  0.  0.] + y[ 0.  1.  0.]',
        '[ 0.  0.  0.] + z[0 0 1]'
    ])
    qx, qy, qz = grid.get_q_meshgrid()
    assert_array_equal(qx, np.tile(np.linspace(0, 1, 101), (101, 1)).T)
    assert_array_equal(qy, np.tile(np.linspace(0, 1, 101), (101, 1)))
    assert_array_equal(qz, np.zeros((101, 101)))
    qx, qy, qz = grid.get_squashed_q_meshgrid()
    assert_array_equal(qx, np.reshape(np.linspace(0, 1, 101), (101, 1)))
    assert_array_equal(qy, np.reshape(np.linspace(0, 1, 101), (1, 101)))
    assert_array_equal(qz, [[0]])
Пример #2
0
def test_complete_3D():
    grid = Grid()

    grid.ll = -2, -3, -4
    grid.lr = 2, -3, -4
    grid.ul = -2, 3, -4
    grid.tl = -2, -3, 4
    grid.bins = 3, 4, 5

    assert_array_equal(grid.bins, [3, 4, 5])
    assert not grid.twoD
    assert_array_equal(grid.ll, [-2, -3, -4])
    assert_array_equal(grid.lr, [2, -3, -4])
    assert_array_equal(grid.ul, [-2, 3, -4])
    assert_array_equal(grid.tl, [-2, -3, 4])
    assert_array_equal(grid.v1, [1, 0, 0])
    assert_array_equal(grid.v2, [0, 1, 0])
    assert_array_equal(grid.v3, [0, 0, 1])
    assert_array_equal(grid.r1, [0., 2., 4.])
    assert_array_equal(grid.r2, [0., 2., 4., 6.])
    assert_array_equal(grid.r3, [0., 2., 4., 6., 8.])
    assert_array_equal(grid.get_axis_names(), [
        '[-2 -3 -4] + x[ 1.  0.  0.]', '[-2 -3 -4] + y[ 0.  1.  0.]',
        '[-2 -3 -4] + z[ 0.  0.  1.]'
    ])
    qx, qy, qz = grid.get_q_meshgrid()
    assert_array_equal(qx, np.transpose(np.tile([-2, 0, 2], (5, 4, 1))))
    assert_array_equal(
        qy, np.transpose(np.tile([-3, -1, 1, 3], (3, 5, 1)), axes=(0, 2, 1)))
    assert_array_almost_equal(qz, np.tile([-4, -2, 0, 2, 4], (3, 4, 1)))
    qx, qy, qz = grid.get_squashed_q_meshgrid()
    assert_array_equal(qx, [[[-2.]], [[0.]], [[2.]]])
    assert_array_equal(qy, [[[-3.], [-1.], [1.], [3.]]])
    assert_array_equal(qz, [[[-4., -2., 0., 2., 4.]]])
Пример #3
0
def test_complete():
    grid = Grid()

    grid.ll = 0, 0, 0
    grid.lr = 2, 2, 0
    grid.ul = 3, -3, 0
    grid.bins = 3, 4

    assert_array_equal(grid.bins, [3, 4])
    assert grid.twoD
    assert_array_equal(grid.ll, [0, 0, 0])
    assert_array_equal(grid.lr, [2, 2, 0])
    assert_array_equal(grid.ul, [3, -3, 0])
    assert_array_equal(grid.tl, [0, 0, 1])
    assert_array_equal(grid.v1, [1 / np.sqrt(2), 1 / np.sqrt(2), 0])
    assert_array_almost_equal(grid.v2, [1 / np.sqrt(2), -1 / np.sqrt(2), 0])
    assert_array_equal(grid.v3, [0, 0, 1])
    assert_array_almost_equal(grid.r1, np.linspace(0, 2 * np.sqrt(2), 3))
    assert_array_almost_equal(grid.r2, np.linspace(0, 3 * np.sqrt(2), 4))
    assert_array_equal(grid.r3, [0])
    assert_array_equal(grid.get_axis_names(), [
        '[0 0 0] + x[ 0.70710678  0.70710678  0.        ]',
        '[0 0 0] + y[ 0.70710678 -0.70710678  0.        ]',
        '[0 0 0] + z[0 0 1]'
    ])
    qx, qy, qz = grid.get_q_meshgrid()
    assert_array_equal(qx,
                       [[0., 1., 2., 3.], [1., 2., 3., 4.], [2., 3., 4., 5.]])
    assert_array_equal(
        qy, [[0., -1., -2., -3.], [1., 0., -1., -2.], [2., 1., 0., -1.]])
    assert_array_equal(qz, np.zeros((3, 4)))
    qx, qy, qz = grid.get_squashed_q_meshgrid()
    assert_array_equal(qx,
                       [[0., 1., 2., 3.], [1., 2., 3., 4.], [2., 3., 4., 5.]])
    assert_array_equal(
        qy, [[0., -1., -2., -3.], [1., 0., -1., -2.], [2., 1., 0., -1.]])
    assert_array_equal(qz, [[0]])