Cannot open vtu files with ParaView 5.8

Hello,

I’m trying to open vtu files. They are working with version 5.7 and previous, but not with 5.8, returning:

ERROR: In C:\bbd\ecd3383f\build\superbuild\paraview\src\VTK\IO\XML\vtkXMLUnstructuredDataReader.cxx, line 649
vtkXMLUnstructuredGridReader (000001A6C2F441B0): Error reading cell offsets: Unsupported array type: vtkUnsignedLongLongArray

Any idea of what have may have changed between the two versions?

Thanks

Please share your file

Final_Export_0000 - Copy.zip (558 Bytes)

As specified by the VTK file format document, connectivity and offsets should be Int32.
Not sure why it worked in 5.7, but the XML Readers have been reworked recently so this accidental support may have been removed.

https://vtk.org/wp-content/uploads/2015/04/file-formats.pdf

<Cells>
<DataArray type=”Int32” Name=”connectivity” .../>
<DataArray type=”Int32” Name=”offsets” .../>
<DataArray type=”UInt8” Name=”types” .../>
</Cells>

Thanks for the help !

Related issue: https://gitlab.kitware.com/paraview/paraview/issues/19698

1 Like

Another approach: I found that piping the .vtu files through "sed -i ‘s/UInt32/Int32/g’ " allowed reading by version 5.8.

I’m looking at the code in vtkXMLUnstructuredDataReader.cxx:661

// Use a vtkCellArray::ArrayType64 to ensure we can represent the incoming offset array type.
vtkSmartPointervtkCellArray::ArrayType64 newArray =
vtkSmartPointervtkCellArray::ArrayType64::New();

It looks like the internal memory can handle 64 bit already. Then why is it limited to 32? Also why use signed when unsigned for connectivity and offsets is a more suitable type? Is this limitation by design?

Take a look at https://gitlab.kitware.com/paraview/paraview/issues/19698

This is already fixed and will be present in ParaView 5.8.1 that will come out in June.

1 Like