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]])
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.]]])
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]])