Sogenannte Quadtree- und Octree- Gitter sind für Anwendungen, die eine adaptive Netzverfeinerung erfordern, sehr attraktiv. Sie werden zum Beispiel in Gerris und Paramesh verwendet . Ist jemandem ein gutes Dateiformat für solche Raster und unterstützende Visualisierungssoftware bekannt? Siehe auch diese Antwort in den Gerris-FAQ. Der einzige potenzielle Kandidat, den ich derzeit kenne , ist die VTK HyperOctree- Klasse, aber es scheint fast keine Dokumentation zu geben.
Betrachten Sie als spezifisches Beispiel eines Netzes ein spärlich verfeinertes Octree-Gitter, das aus Feldern besteht, die jeweils 8 × 8 × 8 = 512 Zellen enthalten. Meine aktuellen Strategien in Visit / Paraview sind:
- Schreiben Sie das Raster als unstrukturierte VTK-Datei. Dies ist für größere Datensätze teuer und nutzt die "Struktur" des Quad / Octree nicht aus.
- Sammeln Sie benachbarte 'Kästchen' im Baum in größeren Blöcken und schreiben Sie ein blockstrukturiertes Raster. Dies erfordert eine Menge zusätzlichen Codes und verliert die im Quad / Octree eingebetteten Konnektivitätsinformationen.
Update Wenn es derzeit kein praktikables Format zum direkten Schreiben und Visualisieren eines Octree-Rasters gibt, würde ich Vorschläge für ein Dateiformat begrüßen, mit dem das Octree als blockstrukturiertes Raster geschrieben werden kann. Idealerweise dieses Format:
- Hat eine relativ einfache Definition / Implementierung, idealerweise Open Source und mit C / Fortran-Kompatibilität.
- Kann eine große Anzahl von Gitterblöcken (z. B. 1000 oder mehr) effizient verarbeiten.
- Ermöglicht die einfache Angabe der Konnektivität von Gitterblöcken, insbesondere an Verfeinerungsgrenzen.
Ich verwende derzeit Silo für diesen Zweck, suche aber nach etwas, das bei den oben genannten drei Punkten besser abschneidet (kleiner, schneller, einfacher).