def test_from_2d_voronoi(): grid = hexa_grid2d(6, 4, 1, 1) datasets = from_2d_voronoi(Voronoi(grid)) assert datasets["vert"].shape[0] == 32 assert datasets["edge"].shape[0] == 82 assert datasets["face"].shape[0] == 24
def test_cell_centered_patch(): grid = hexa_grid2d(6, 4, 3, 3) datasets = from_2d_voronoi(Voronoi(grid)) _ = Sheet("test", datasets) extruded = extrude(datasets, method="translation") mono = Monolayer("test", extruded, config.geometry.bulk_spec()) submono = utils.cell_centered_patch(mono, 5, 1) assert submono.Nc == 4
def test_face_centered_patch(): grid = hexa_grid2d(6, 4, 3, 3) datasets = from_2d_voronoi(Voronoi(grid)) sheet = Sheet("test", datasets) subsheet = utils.face_centered_patch(sheet, 5, 2) assert subsheet.Nf == 6 extruded = extrude(datasets, method="translation") mono = Monolayer("test", extruded, config.geometry.bulk_spec()) submono = utils.face_centered_patch(mono, 15, 1) assert submono.Nf == 19
def test_sheet_extract_coordinate(): grid = hexa_grid2d(6, 4, 3, 3) datasets = from_2d_voronoi(Voronoi(grid)) sheet = Sheet("test_extract_bounding_box", datasets) subsheet = sheet.extract_bounding_box( [sheet.face_df["x"].min(), sheet.face_df["x"].max() / 2], [sheet.face_df["y"].min(), sheet.face_df["y"].max() / 2], ) assert subsheet.face_df["x"].max() <= sheet.face_df["x"].max() / 2 assert subsheet.face_df["x"].min() >= sheet.face_df["x"].min() assert subsheet.face_df["y"].max() <= sheet.face_df["y"].max() / 2 assert subsheet.face_df["y"].min() >= sheet.face_df["y"].min() assert subsheet.face_df["z"].max() <= sheet.face_df["z"].max() assert subsheet.face_df["z"].min() >= sheet.face_df["z"].min()
def test_multisheet(): base_specs = tyssue.config.geometry.flat_sheet() specs = base_specs.copy() specs["face"]["layer"] = 0 specs["vert"]["layer"] = 0 specs["vert"]["depth"] = 0.0 specs["edge"]["layer"] = 0 specs["settings"]["geometry"] = "flat" specs["settings"]["interpolate"] = { "function": "multiquadric", "smooth": 0 } layer_args = [ (24, 24, 1, 1, 0.4), (16, 16, 2, 2, 1), (24, 24, 1, 1, 0.4), (24, 24, 1, 1, 0.4), ] dz = 1.0 layer_datasets = [] for i, args in enumerate(layer_args): centers = hexa_grid2d(*args) data = from_2d_voronoi(Voronoi(centers)) data["vert"]["z"] = i * dz layer_datasets.append(data) msheet = MultiSheet("more", layer_datasets, specs) bbox = [[0, 25], [0, 25]] for sheet in msheet: edge_out = sheet.cut_out(bbox, coords=["x", "y"]) sheet.remove(edge_out) MultiSheetGeometry.update_all(msheet) assert np.all(np.isfinite(msheet[0].face_df["area"]))
def test_to_nd(): grid = hexa_grid2d(6, 4, 3, 3) datasets = from_2d_voronoi(Voronoi(grid)) sheet = Sheet("test", datasets) result = utils._to_3d(sheet.face_df["x"]) assert (sheet.face_df[['x', 'y', 'z']] * result).shape[1] == 3