In the documentation of VTKHDF (VTK File Formats - VTK documentation) it states that
We describe the split into partitions using HDF5 datasets
NumberOfConnectivityIds,NumberOfPointsandNumberOfCells. Let n be the number of partitions which usually correspond to the number of the MPI ranks.NumberOfConnectivityIdshas size n where NumberOfConnectivityIds[i] represents the size of theConnectivityarray for partition i.NumberOfPointsandNumberOfCellsare arrays of size n, where NumberOfPoints[i] and NumberOfCells[i] are the number of points and number of cells for partition i. ThePointsarray contains the points of the VTK dataset.Offsetsis an array of size ∑ (S(i) + 1), where S(i) is the number of cells in partition i, indicating the index in theConnectivityarray where each cell’s points start.Connectivitystores the lists of point ids for each cell, andTypescontain the cell information stored as described in vtkCellArray documentation. Data for each partition is appended in a HDF dataset forPoints,Connectivity,Offsets,Types,PointDataandCellData. We can compute the size of partition i using the following formulas:
However, from this, it is not clear to me if a point is present on two processes, it has to be repeated multiple times in the Points array.
If it is repeated multiple times in the Points array, the mesh is effectively split into pieces, based on the partitioning interface.
If it is not duplicated, then the Connectivity-array should use global node indices.