def test_reduced_corner_cases(self, lattice): # test whether there is always a sym-eq rotation that falls into the FZ N = np.random.randint(10, 40) size = np.ones(3) * np.pi**(2. / 3.) grid = grid_filters.coordinates0_node([N + 1, N + 1, N + 1], size, -size * .5) evenly_distributed = Orientation.from_cubochoric(x=grid[:-2, :-2, :-2], lattice=lattice) assert evenly_distributed.shape == evenly_distributed.reduced.shape
def test_unordered_coordinates(self,function,mode): origin = np.random.random(3) size = np.random.random(3)*10.+origin cells = np.random.randint(8,32,(3)) unordered = grid_filters.coordinates0_node(cells,size,origin).reshape(-1,3) if mode: with pytest.raises(ValueError): function(unordered,mode) else: function(unordered,mode)
def test_coordinates(self, default, mode): if mode == 'cell': a = grid_filters.coordinates0_point(default.cells, default.size, default.origin) b = default.coordinates0_point.reshape(tuple(default.cells) + (3, ), order='F') elif mode == 'node': a = grid_filters.coordinates0_node(default.cells, default.size, default.origin) b = default.coordinates0_node.reshape(tuple(default.cells + 1) + (3, ), order='F') assert np.allclose(a, b)
def test_compare_reference_rectilinearGrid(self, update, ref_path, tmp_path): cells = np.array([5, 6, 7], int) size = np.array([.6, 1., .5]) rectilinearGrid = VTK.from_rectilinear_grid(cells, size) c = grid_filters.coordinates0_point(cells, size).reshape(-1, 3, order='F') n = grid_filters.coordinates0_node(cells, size).reshape(-1, 3, order='F') rectilinearGrid.add(c, 'cell') rectilinearGrid.add(n, 'node') if update: rectilinearGrid.save(ref_path / 'rectilinearGrid') else: reference = VTK.load(ref_path / 'rectilinearGrid.vtr') assert rectilinearGrid.__repr__() == reference.__repr__() and \ np.allclose(rectilinearGrid.get('cell'),c)
def test_coord0(self): size = np.random.random(3) # noqa cells = np.random.randint(8, 32, (3)) c = grid_filters.coordinates0_point(cells + 1, size + size / cells) n = grid_filters.coordinates0_node(cells, size) + size / cells * .5 assert np.allclose(c, n)
def test_coordinates0_node(self): size = np.random.random(3) # noqa cells = np.random.randint(8, 32, (3)) coord = grid_filters.coordinates0_node(cells, size) assert np.allclose(coord[-1, -1, -1], size) and coord.shape == tuple(cells + 1) + (3, )