def test_load_from_ugrid_file(): data_dir = Path(__file__).absolute().parent / '../../data' gr = Grid() gr.setFlags(1, 1) filename = str(data_dir / Path('cs_4.nc')) gr.loadFrom2DUgrid(f'{filename}:physics') nedges = gr.getNumberOfEdges() print(f'nedges = {nedges}') assert nedges == 192 ncells = gr.getNumberOfCells() for icell in range(ncells): for iedge in range(4): edgeId, edgeSign = gr.getEdgeId(icell, iedge) nodeIds = gr.getNodeIds(icell, iedge) print( f'cell {icell} edge {iedge}: edgeId = {edgeId}, {edgeSign} nodeIds = {nodeIds}' ) # attaching a 3 components field to the grid data = numpy.array(range(ncells * 4 * 3), numpy.float64) gr.attach('myData', data)
def test_load_from_ugrid_file(): gr = Grid() gr.setFlags(1, 1) filename = str(DATA_DIR / Path('cs_4.nc')) gr.loadFromUgrid2DFile(f'{filename}$physics') nedges = gr.getNumberOfEdges() print(f'nedges = {nedges}') assert (nedges == 192) ncells = gr.getNumberOfCells() for icell in range(ncells): for iedge in range(4): edgeId, edgeSign = gr.getEdgeId(icell, iedge) nodeIds = gr.getNodeIds(icell, iedge) print(f"cell {icell} edge {iedge}: " + f"edgeId = {edgeId}, {edgeSign} nodeIds = {nodeIds}") # attaching a 3 components field to the grid data = numpy.array(range(ncells * 4 * 3), numpy.float64) gr.attach('myData', data) num_bad_cells = gr.check() assert (num_bad_cells == 0)
def test_attach_data(): # create the grid gr = Grid() # 2 cells points = numpy.array([(0., 0., 0.), (1., 0., 0.), (1., 1., 0.), (0., 1., 0.), (1., 0., 0.), (2., 0., 0.), (2., 1., 0.), (1., 1., 0.)]).reshape((2, 4, 3)) gr.setPoints(points) # create cell data, 3 per cell nDataPerCell = 3 data = numpy.arange(0, 2 * nDataPerCell, dtype=numpy.float64).reshape( (2, nDataPerCell)) gr.attach('mydata', data) with TemporaryDirectory() as d: fname = str(Path(d) / Path('grid.vtk')) gr.dump(fname) # read the data back to check the layout of the data reader = vtk.vtkUnstructuredGridReader() reader.SetFileName(fname) reader.Update() ugrid = reader.GetOutput() arr = ugrid.GetCellData().GetArray('mydata') assert (arr.GetNumberOfTuples() == gr.getNumberOfCells()) assert (arr.GetNumberOfComponents() == nDataPerCell)