Geração de Malhas - SME5827 Adaptative and Quality Quadrilateral/Hexahedral Meshing from Volumetric Data Yongjie Zhang Chandrajit Bajaj Institute for Computational Engineering and Sciences The University of Texas at Austin 06 de Dezembro de 2013
Visão Geral Dados Volumétricos Algoritmo Octree-based Nível inicial da octree Decomposição Adaptativa Malha Quad/Hex Pre. Uniforme Método do contorno dual Malha Quad/Hex refinada Melhoria da malha Malha Quad/Hex melhorada
Agenda 1. Como escolher o nível inicial da octree; 2. Método de contorno dual; 3. Algoritmo para extração de malhas quadrilaterais; 4. Algoritmo para extração de malhas hexaedrais; 5. Controle da adaptatividade; 6. Controle da qualidade; 7. Resultados e aplicações.
Dados Volumétricos Algoritmo octree-based Nível inicial da octree Estrutura de dados: A octree é uma estrutura em que cada nó interno tem até oito filhos. A octree regular recursiva subdivide um cubo em oito cubos de tamanhos iguais. Já na octree adaptativa cada nó da árvore tem comprimeto diferente e mapeia um espaço de maneira heterogênea.
Dados Volumétricos Algoritmo octree-based Nível inicial da octree Algoritmo: Bottom-up surface topology preserving octree-based é utilizado para selecionar o nível inicial da octree: Dimensão dos dados volumétricos: Último nível: n (2 n +1) 3 lvl = n; while topology(lvl)==topology(lvl-1) lvl=lvl-1; end initiallevel=lvl; Dois níveis da octree são topologicamente equivalentes se e somente se: - O sinal do vértice central de cada aresta/face/cubo da malha mais grossa é igual ao sinal de ao menos um vértice da aresta/face/cubo que o contém. Garante-se, em geral, que a topologia correta será preservada ao longo do processo de refinamento adaptativo.
Nível inicial da octree Método do contorno dual Pre. Uniform No método do contorno dual é utilizado um algoritmo para extrair uma malha quadrilateral uniforme a partir de uma isosuperfície por meio da análise da mudança de sinais em arestas cujos vértices estão em diferentes lados da superfície. Na octree cada um desses vértices é compartilhado por 4 folhas. Para cada folha obtêm-se um ponto de minimização da função: QEF [ x]= i (n i ( x p i )) 2 Os 4 pontos de minimização constutuem um quad, a união de todos os quads formam uma aproximação para a isosuperfície.
Extração de quadriláteros Quad mesh Problemas: 1. Decomposição dos quadriláteros; 2. Calcular posição dos vértices. Decomposição dos quadriláteros 1. Método Indireto: O método do contorno dual utiliza uma função definida para controlar onde deve-se refinar a malha e onde ela deve ser mantida mais espessa. Com octree adaptativa a intersecção na isosuperfície pode formar triângulos ou quadriláteros. É necessário dividir cada elemento:
Extração de quadriláteros Quad mesh Decomposição dos quadriláteros 2. Método Direto: No nível selecionado da octree, o método do contorno dual gera uma malha quadrilateral uniforme analisando a troca de sinais nas arestas, as quais são compartilhadas por 4 células. A malha adaptativa é obtida então por meio de alguns templates. Requisitos para os templates: 1. Todos os elementos são quads; 2. Não há hanging-nodes ; 3. A malha resultante aproxima a superfície; 4. Os elementos resultantes têm bom aspecto; 5. Poucos elementos e vértices inseridos.
Extração de quadriláteros Quad mesh Decomposição dos quadriláteros 2. Método Direto: -Todos geram elementos quad; -Sem hanging-nodes ; -A inserção de nós torna melhor a aproximação; -Método 3 gera quads de melhor qualidade; -Método 3 é preferido por balancear os 5 critérios.
Extração de quadriláteros Quad mesh Calcular posição dos vértices Uma célula é dividida em 4 sub-células, três pontos de minimização são obtidos. O círculo verde representa um minimizador daquela célula, e os círculos azuis representam os novos vértices. A posição dos novos vértices são calculadas pela interpolação linear dos 4 vértices do quad origina, então são movidos em direção à isosuperfície e atualizados.
Extração de hexaedros Hex mesh O método do contorno dual é extendido para obter malha de hexaedros regulares analisando cada vértice interior compartilhado por 8 diferentes células. Cada ponto de minimização forma um vértice do novo hexaedro. Decomposição em malha 2D Na malha uniforme cada ponto interior é compartilhado por 4 células. Neste exemplo o Método 3 é usado para extrair a malha adaptativa. Ao analisar cada célula para calcular o ponto de minimização é preciso comparar o erro da célula com um threshold. ε
Extração de hexaedros Hex mesh Decomposição em malha 3D 1. Método Indireto: Malhas tetraedrais adaptativas são geradas a partir de dados volumétricos, então os hexaedros são obtidos dividindo cada tetraedro em 4 hexaedros. 2. Métodos Diretos: Nem todos os métodos 2D podem ser extendidos para o caso 3D. Método 1: Um pequeno hexaedro é inserido no interior do antigo. Caso uma face precise ser refinada, será feito como na figura ao lado. Cria-se 6 novos hexaedros e 8 novos vértices.
Extração de hexaedros Hex mesh Decomposição em malha 3D 2. Métodos Diretos: Método 2: Divide caso o erro seja maior que o threshold. Existem 256 configurações, eliminadas as simetrias restam apenas 22. Apenas 5 podem ser utilizadas, nem todas geram hexaedros.
Extração de hexaedros Hex mesh Decomposição em malha 3D 2. Métodos Diretos: Método 1 vs Método 2
Adaptatividade Para gerar malhas com o número mínimo de elementos e vértices, é importante ter uma boa métrica para decidir onde é preciso refinar a malha. Três modos básicos: Feature sensitive error function: é definido pela diferença entre a interpolação trilinear entre dois níveis consecutivos da octree, normalizado pela magnitute do gradiente. Sensível a áreas de grandes geometrias, pois mede diretamente a diferença entre as superfícies dada por dois níveis. Geometrias: nariz, olhos, boca, orelhas, etc.
Adaptatividade Áreas de interesse do usuário: para quando se está interessado em aspectos especiais em aplicações que envolvam física ou biologia uma função erro deve ser definida por regiões. Resultados de simulações em elementos finitos: a adaptatividade da malha pode ser controlada diretamente pelos resultados de elementos finitos a fim de balancear o erro em cada elemento.
Melhoria da malha Improved Definição da métrica: =[ x J 1 x 2 x 3 x] x 1 Objetivos: x 1 x x 2 1) Remover elementos invertidos; Averaging method é usado para remover elementos invertidos: - Calcula-se o scaled Jacobian para um vértice em cada elemento e realoca-o para a média de todos os vizinhos. x 2 2) Melhorar o pior número de condição. x x 3
Melhoria da malha Improved Objetivos 2) Melhorar o pior número de condição. κ(x) Calcula-se para todos vértices Realoca o vértice Sim κ ε Max( ) <? Não Calcula a nova posição do vértice com maior condição. Vértice interior? Não Move-se em direção a Isosuperfície ao longo da normal Sim Fim
Melhoria da malha Improved