我在理解/管理VTK中.vtu文件的大小時遇到問題。我需要爲具有數百萬個單元和節點的六面體網格編寫CFD輸出。所以,我正在研究如何提高存儲效率。我從簡單的測試用例開始。瞭解vtu文件大小
案例1:80x40x40六面體網格,每個六面體有8個點。所以,總共有128000個單元和1024000個點。我們稱之爲C1.vtu。
案例2:80x40x40六面體網格,只有獨特的點。所以總共有128000個單元和136161個點。我們稱之爲C2.vtu。
我在每種情況下爲每個點存儲一個矢量場(速度)。我使用vtkFloatArray來處理這些數據。 C1.vtu的大小是7.5 MB,C2.vtu文件是3.0MB。
這不是我在創建C2.vtu時所期望的。由於我在案例2中只存儲了大約13%(案例1)的點數,我預計C2.vtu會相應減少(至少5次)。但是,減少只有2.5倍。
我想了解內部發生了什麼。此外,我很感激任何關於進一步減小文件大小的見解。
我在Ubuntu12.04上使用vtk6.2和C++。
如果你想減小尺寸寫入二進制文件。 – AdityaG
我是。上面報告的文件已經是二進制格式。 –
文件大小與點數不成比例,因爲單元格也需要存儲。對於非結構化網格,每個單元可以是不同的類型,因此必須存儲連接和單元類型信息。如果你的網格是一個結構化的網格,你可以使用vtkStructuredGrid,這應該可以幫助你節省更多的空間。 – mululu