Hi,
if have a very large grid converted to vtu (binary and ASCII format) and tried to read with ParaView (e.g. v5_12RC2 but does not matter - older versions have the same problem).
Reading the ASCII file with ParaView creates this error (with core dump):
terminate called after throwing an instance of ‘std::bad_array_new_length’* what(): std::bad_array_new_length*
The binary vtu creates this error (again with core dump):
*[paraview ]vtkXMLUnstructuredDataR:514 ERR| vtkXMLUnstructuredGridReader (0x6a6ab10): Cannot read points array from Points in piece 0. *
The data array in the element may be too short.
The dataset consist of four parts where the “hexa” part creates the problem (removing this part from vtm and read again all is fine).
Element || NumberOfPoints | NumberOfCells
Hexa || 382518494 | 367965864
Prisms || 26561626 | 11889244
Pyra || 32489753 | 16364502
Tetra || 24493577 | 77533523
Element || SizeConnectivity | MinConnectivity | MaxConnectivity
Hexa || 2943726912 *** | 0 | 382518493
Prisms || 71335464 | 0 | 26561625
Pyra || 81822510 | 0 | 32489752
Tetra || 310134092 | 0 | 24493576
Element || SizeOffsets | MinOffsets | MaxOffsets
Hexa || 367965864 | 8 | 2943726912 ***
Prisms || 11889244 | 6 | 71335464
Pyra || 16364502 | 5 | 81822510
Tetra || 77533523 | 4 | 310134092
*** = bigger then INT32
So there are some fields larger then INT32 (and written in INT64 therefore). The file/function which creates the error is
o ./VTK/IO/XML/vtkXMLUnstructuredDataReader.cxx
o Function ReadPieceData (line 456)
o Loop for (int i = 0; (i < ePoints->GetNumberOfNestedElements() && !this->AbortExecute); ++i) (line 496) → int?
So maybe that “int” is already the problem here?
The testcase can be downloaded from this link:
https://gigamove.rwth-aachen.de/de/download/26a7aff322d4aecec18f69bb7a5bab3c
Best regards and thank you for help already,
Stefan