The ghost cell filter needs the global ID arrays for points and cells to generate the needed ghost cells. There is an option to compute these in the filter options (“Generate Global Ids“). This creates two new data arrays called “GlobalPointIds“ and “GlobalCellIds“. Since I have this information available when writing the dataset, I tried adding these datasets to the point and cell data myself:
read1.hdf (79.7 KB)
However, it seems like the ghost cell filter does not pick up these arrays. You can try this by loading the data, running the ghost cell filter (without “Generate Global Ids“), and then running the extract surfaces filter. For me, the result is a surface at the center of the domain (which should not be there). When I now go back to the ghost cell filter, select the “Generate Global Ids“ option, and update the pipeline, the internal surface disappears.
I checked, that the IDs in my datasets are the same as the ones that “Generate Global Ids“ generates. Here is the same file, with the ID arrays prefixed with ‘_‘:
read2.hdf (79.7 KB)
When I generate the global IDs using the ghost cell filter and compute the difference to my arrays, I see that it is zero everywhere.
Is there a special trick to make Paraview pick up self generated ID arrays?