As chamadas grades quadtree e octree são bastante atraentes para aplicações que requerem refinamento de malha adaptável. Eles são usados, por exemplo, em Gerris e Paramesh . Alguém conhece um bom formato de arquivo para essas grades e oferece suporte a software de visualização? Veja também esta resposta no FAQ da Gerris. O único candidato em potencial que eu conheço atualmente é a classe VTK HyperOctree , mas parece não haver quase nenhuma documentação.
Como exemplo específico de uma malha, considere uma grade octree escassamente refinada, consistindo em caixas, cada uma contendo células. Minhas estratégias atuais em Visit / Paraview são:
- Escreva a grade como um arquivo VTK não estruturado. Isso é caro para conjuntos de dados maiores e não explora a 'estrutura' do quad / octree.
- Colete 'caixas' vizinhas na árvore em blocos maiores e escreva uma grade estruturada em blocos. Isso envolve bastante código extra e perde as informações de conectividade incorporadas no quad / octree.
Atualização Se atualmente não houver um formato viável para escrever e visualizar diretamente uma grade octree, eu gostaria de receber sugestões para um formato de arquivo que possa ser usado para gravar a octree como uma grade estruturada em bloco. Idealmente, este formato:
- Possui uma definição / implementação relativamente simples, idealmente de código aberto e com compatibilidade com C / Fortran.
- Pode lidar com eficiência com um grande número de blocos de grade (por exemplo, 1000 ou mais).
- Permite especificar facilmente a conectividade de blocos de grade, em particular nos limites de refinamento.
Atualmente, estou usando o Silo para essa finalidade, mas estou procurando algo que tenha uma melhor pontuação nos três pontos acima (menor, mais rápido, mais simples).