vtkhdf reading error for unstructured transient dataset
I am developing vtkhdf export module for FE solver. I have a problem in reading the data for the last step (in Paraview). The simple file demonstrating the problem is attached and here is the dump:
HDF5 "se.out.m0.hdf" {
GROUP "/" {
GROUP "VTKHDF" {
ATTRIBUTE "Type" {
DATATYPE H5T_STRING {
STRSIZE 16;
STRPAD H5T_STR_NULLTERM;
CSET H5T_CSET_ASCII;
CTYPE H5T_C_S1;
}
DATASPACE SCALAR
DATA {
(0): "UnstructuredGrid"
}
}
ATTRIBUTE "Version" {
DATATYPE H5T_STD_I32LE
DATASPACE SIMPLE { ( 2 ) / ( 2 ) }
DATA {
(0): 1, 0
}
}
GROUP "CellData" {
}
DATASET "Connectivity" {
DATATYPE H5T_STD_I32LE
DATASPACE SIMPLE { ( 36 ) / ( H5S_UNLIMITED ) }
DATA {
(0): 0, 2, 3, 1, 2, 4, 5, 3, 4, 6, 7, 5, 0, 2, 3, 1, 2, 4, 5, 3, 4,
(21): 6, 7, 5, 0, 2, 3, 1, 2, 4, 5, 3, 4, 6, 7, 5
}
}
DATASET "NumberOfCells" {
DATATYPE H5T_STD_I32LE
DATASPACE SIMPLE { ( 3 ) / ( H5S_UNLIMITED ) }
DATA {
(0): 3, 3, 3
}
}
DATASET "NumberOfConnectivityIds" {
DATATYPE H5T_STD_I32LE
DATASPACE SIMPLE { ( 3 ) / ( H5S_UNLIMITED ) }
DATA {
(0): 12, 12, 12
}
}
DATASET "NumberOfPoints" {
DATATYPE H5T_STD_I32LE
DATASPACE SIMPLE { ( 3 ) / ( H5S_UNLIMITED ) }
DATA {
(0): 8, 8, 8
}
}
DATASET "Offsets" {
DATATYPE H5T_STD_I32LE
DATASPACE SIMPLE { ( 12 ) / ( H5S_UNLIMITED ) }
DATA {
(0): 0, 4, 8, 12, 0, 4, 8, 12, 0, 4, 8, 12
}
}
GROUP "PointData" {
DATASET "DisplacementVector" {
DATATYPE H5T_IEEE_F64LE
DATASPACE SIMPLE { ( 24, 3 ) / ( H5S_UNLIMITED, 3 ) }
DATA {
(0,0): 0, 0, 0,
(1,0): 0, 0, 0,
(2,0): 0.00824228, 0.00105374, 0,
(3,0): 0.00824228, -0.00105374, 0,
(4,0): 0.01664, 0.000777019, 0,
(5,0): 0.01664, -0.000777019, 0,
(6,0): 0.025, 0.000865496, 0,
(7,0): 0.025, -0.000865496, 0,
(8,0): 0, 0, 0,
(9,0): 0, 0, 0,
(10,0): 0.0164846, 0.00210749, 0,
(11,0): 0.0164846, -0.00210749, 0,
(12,0): 0.0332799, 0.00155404, 0,
(13,0): 0.0332799, -0.00155404, 0,
(14,0): 0.05, 0.00173099, 0,
(15,0): 0.05, -0.00173099, 0,
(16,0): 0, 0, 0,
(17,0): 0, 0, 0,
(18,0): 0.0247268, 0.00316123, 0,
(19,0): 0.0247268, -0.00316123, 0,
(20,0): 0.0499199, 0.00233106, 0,
(21,0): 0.0499199, -0.00233106, 0,
(22,0): 0.075, 0.00259649, 0,
(23,0): 0.075, -0.00259649, 0
}
}
}
DATASET "Points" {
DATATYPE H5T_IEEE_F64LE
DATASPACE SIMPLE { ( 24, 3 ) / ( H5S_UNLIMITED, 3 ) }
DATA {
(0,0): 0, 0, 0,
(1,0): 0, 1, 0,
(2,0): 1, 0, 0,
(3,0): 1, 1, 0,
(4,0): 2, 0, 0,
(5,0): 2, 1, 0,
(6,0): 3, 0, 0,
(7,0): 3, 1, 0,
(8,0): 0, 0, 0,
(9,0): 0, 1, 0,
(10,0): 1, 0, 0,
(11,0): 1, 1, 0,
(12,0): 2, 0, 0,
(13,0): 2, 1, 0,
(14,0): 3, 0, 0,
(15,0): 3, 1, 0,
(16,0): 0, 0, 0,
(17,0): 0, 1, 0,
(18,0): 1, 0, 0,
(19,0): 1, 1, 0,
(20,0): 2, 0, 0,
(21,0): 2, 1, 0,
(22,0): 3, 0, 0,
(23,0): 3, 1, 0
}
}
GROUP "Steps" {
ATTRIBUTE "NSteps" {
DATATYPE H5T_STD_I32LE
DATASPACE SCALAR
DATA {
(0): 3
}
}
DATASET "CellOffsets" {
DATATYPE H5T_STD_I32LE
DATASPACE SIMPLE { ( 3, 1 ) / ( H5S_UNLIMITED, 1 ) }
DATA {
(0,0): 0,
(1,0): 4,
(2,0): 8
}
}
DATASET "ConnectivityIdOffsets" {
DATATYPE H5T_STD_I32LE
DATASPACE SIMPLE { ( 3, 1 ) / ( H5S_UNLIMITED, 1 ) }
DATA {
(0,0): 0,
(1,0): 12,
(2,0): 24
}
}
DATASET "NumberOfParts" {
DATATYPE H5T_STD_I32LE
DATASPACE SIMPLE { ( 3 ) / ( H5S_UNLIMITED ) }
DATA {
(0): 1, 1, 1
}
}
DATASET "PartOffsets" {
DATATYPE H5T_STD_I32LE
DATASPACE SIMPLE { ( 3 ) / ( H5S_UNLIMITED ) }
DATA {
(0): 0, 0, 0
}
}
DATASET "PointOffsets" {
DATATYPE H5T_STD_I32LE
DATASPACE SIMPLE { ( 3 ) / ( H5S_UNLIMITED ) }
DATA {
(0): 0, 8, 16
}
}
DATASET "Values" {
DATATYPE H5T_IEEE_F64LE
DATASPACE SIMPLE { ( 3 ) / ( H5S_UNLIMITED ) }
DATA {
(0): 1, 2, 3
}
}
}
DATASET "Types" {
DATATYPE H5T_STD_U8LE
DATASPACE SIMPLE { ( 9 ) / ( H5S_UNLIMITED ) }
DATA {
(0): 9, 9, 9, 9, 9, 9, 9, 9, 9
}
}
}
}
}
I got following error:
ERROR: In vtkHDFReaderImplementation.cxx, line 1025
vtkHDFReader (000001BBDF58FEC0): Error H5Dread start: 8, 9225115866280617614, 1902670512129 count: 3, 9801573320048830093, 1906313384816
ERROR: In vtkHDFReader.cxx, line 160
(nullptr): Cannot read the Types_0 array from file
Clearly, the problem is with types dataset, but in my opinion it contains data for 3 cell types for 3 time steps = 9 entries.
Any help very much appreciated. Borek