An Introduction to Mesh Generation Algorithms Part 2dynadata.com/ITVER/Elementos...

Preview:

Citation preview

Mesh Generation Tutorial 1Instituto Tecnológico de Veracruz 21-25 January 2008

Fathi El-YafiSenior Product Engineer

Product Department of EXA Corporation

An Introduction to Mesh Generation An Introduction to Mesh Generation AlgorithmsAlgorithms

Part 2Part 2

Mesh Generation Tutorial 2Instituto Tecnológico de Veracruz 21-25 January 2008

Overview

Remeshing

Decimation

Optimization

Adaptive Meshing:

Mesh Generation Tutorial 3Instituto Tecnológico de Veracruz 21-25 January 2008

Finite Element Context

Method:Calculating the density of the mesh from a tree QuaternaryNodal generation within each cell of the treeMeshing by advancing front method according to a

criterion of Delaunay

Objective:2D Adaptive Mesh according to the specifications sizes imposed by the user

Adaptive Meshing

Mesh Generation Tutorial 4Instituto Tecnológico de Veracruz 21-25 January 2008

Finite Element Context

In computer science, a B+ tree (also known as a Quaternary Tree) is a type of tree, which represents sorted data in a way that allows for efficient insertion, retrieval and removal of records, each of which is identified by a key. It is a dynamic, multilevel index, with maximum and minimum bounds on the number of keys in each index segment (usually called a block' or node'). In a B+ tree, in contrast to a B+ tree, all records are stored at the lowest level of the tree; only keys are stored in interior blocks.

Quaternary Tree

Mesh Generation Tutorial 5Instituto Tecnológico de Veracruz 21-25 January 2008

Finite Element Context

Remeshing a Polygon

n points

Possible Remeshing?

?

Mesh Generation Tutorial 6Instituto Tecnológico de Veracruz 21-25 January 2008

Finite Element Context

Principle

=

=

=

Mesh Generation Tutorial 7Instituto Tecnológico de Veracruz 21-25 January 2008

Finite Element Context

Principle

Tn =

n(n − 1)(n − 2)6

It shows that we can create Tndifferent triangles

n nodes lead to n-2 triangles

=

120845635201041

109876543

N=10, 1430 possible triangulations!

Mesh Generation Tutorial 8Instituto Tecnológico de Veracruz 21-25 January 2008

Adaptive Mesh

State of the Art

Methods that use the surface parameterization:

Appropriate Plane + transport functions

Appropriate Plane + Metric: INRIA

Discrete Models:

Very Refined Initial Mesh + Simplifications

Reconstruction:

• Direct Method: Frontal Triangulation (R. Löhner)

• Remeshing: HDI (A. Rassineux)

Mesh Generation Tutorial 9Instituto Tecnológico de Veracruz 21-25 January 2008

Adaptive Mesh

Typical Examples

Mesh Generation Tutorial 10Instituto Tecnológico de Veracruz 21-25 January 2008

Adaptive Mesh

Adaptive Meshing using Diffuse InterpolationObjective: Building an adaptive mesh of a 3D surface according to size map, using the initial mesh as only data

Initial Mesh

Local geometric model

Diffuse Interpolation

Hermite type

Adaptive mesh

Remeshing Procedure

Mesh Generation Tutorial 11Instituto Tecnológico de Veracruz 21-25 January 2008

Adaptive Mesh

Remeshing

Mesh Generation Tutorial 12Instituto Tecnológico de Veracruz 21-25 January 2008

Adaptive Mesh

Some Remeshing Tools

Edge splitting

Swapping

Nodal Shifting

Node removing

Edge collapsing

Edge collapsing and nodal insertion

Mesh Generation Tutorial 13Instituto Tecnológico de Veracruz 21-25 January 2008

Adaptive Mesh

Remeshing

Remeshing according to a size map

Simplification of a mesh (70%)

Mesh Generation Tutorial 14Instituto Tecnológico de Veracruz 21-25 January 2008

Adaptive Mesh

Remeshing

Initial Mesh Intermediate Mesh Optimized Mesh

Mesh Generation Tutorial 15Instituto Tecnológico de Veracruz 21-25 January 2008

Adaptive Mesh

Surface Remeshing

Initial Mesh

Optimized Mesh

Mesh Generation Tutorial 16Instituto Tecnológico de Veracruz 21-25 January 2008

Adaptive Mesh

Surface Remeshing

Reduction: 60%Reduction: 75%

Initial model

Adapted to curvature

Mesh Generation Tutorial 17Instituto Tecnológico de Veracruz 21-25 January 2008

Adaptive Mesh

Surface Meshing

Adapted to curvature

Simplified model

Mesh Generation Tutorial 18Instituto Tecnológico de Veracruz 21-25 January 2008

Adaptive Mesh

Simplified Curvature

In a plane 360iθ = °∑

Θ1

Θ2

Of all the triangles 360iα ≥ °∑

αι

default angle = f (Gaussian Curvature)( ) =∆=−∑ θθα ii

Mesh Generation Tutorial 19Instituto Tecnológico de Veracruz 21-25 January 2008

Adaptive Mesh

Feature Lines Detection

Mesh Generation Tutorial 20Instituto Tecnológico de Veracruz 21-25 January 2008

Adaptive Mesh

Feature Lines Detection

Curvature using Diffuse Interpolation Model

(a) (b)

Identification of geometrical parameters (radius, axis)

Detecting neighborhood

Mesh Generation Tutorial 21Instituto Tecnológico de Veracruz 21-25 January 2008

Adaptive Mesh

Principal Curvatures

Segmentation into subsets

Surface Identification

Detection of Feature lines

Meshing

Mesh Generation Tutorial 22Instituto Tecnológico de Veracruz 21-25 January 2008…

Adaptive Mesh

ExampleSegmentation into subsets

Surface Identification

Detection of Feature lines

Meshing

Mesh Generation Tutorial 23Instituto Tecnológico de Veracruz 21-25 January 2008

Adaptive Mesh

Main Steps

Mesh Generation Tutorial 24Instituto Tecnológico de Veracruz 21-25 January 2008

Adaptive Mesh

Mesh Generation Tutorial 25Instituto Tecnológico de Veracruz 21-25 January 2008

Adaptive Mesh

Diffuse Model

xz

y

αα TPyxyxyxyxfz =>=<= 22 ,,,,,1),(Local model

MLS Technique : Diffuse approximationMinimisation of an interpolation criterion

( ) ( )( )21

1 ),( iiT

ni

iix zxxpxxwJ −−×= ∑

=

=αα

Mesh Generation Tutorial 26Instituto Tecnológico de Veracruz 21-25 January 2008

Adaptive Mesh

Moving Least Squares

( ) ( )2 21, , , , , ,T Tx y x xy y p x y p x< >= =Polynomial Base

( )( )2

1( ) ( )

i nT

x i ii

J p x x f x xα α=

=

= − − −∑

n = Total number of points ⇒ «standard» Least Squares

X

Z

R

Select a neighbor V(x) around a point(x,y)

( )( )2

( )( ) ( )T

x i ii V x

J p x x f x xα α∈

= − − −∑

⇒ The approximation is local

Mesh Generation Tutorial 27Instituto Tecnológico de Veracruz 21-25 January 2008

Adaptive Mesh

Weighted Moving Least Squares

( ) ( )( )2

( )( ) ( )T

x i i ii V x

J w x x p x x f x xα α∈

= − − − −∑

Weight Function

/R d l)l()-l(,x)w(x

w,x)w(x

ii

iii

xRxxi

refi

=+×=

=

avec 211 2

)(

Mesh Generation Tutorial 28Instituto Tecnológico de Veracruz 21-25 January 2008

Adaptive Mesh

Moving Least Squares Interpolation

[ ]

→),(1

),(),(xxw

xxwxxwi

ii

( ) ( )( )2

( )( ) ( )T

x i i ii V x

J w x x p x x f x xα α∈

= − − − −∑

If w(x,xi)→∞⇒ interpolation at point xi

Mesh Generation Tutorial 29Instituto Tecnológico de Veracruz 21-25 January 2008

Adaptive Mesh

CAD-STL Face Per Face

Mesh Generation Tutorial 30Instituto Tecnológico de Veracruz 21-25 January 2008

Finite Element Context

STL/Mesh/Adaptive Mesh

STL Mesh

Mesh Face per Face Adaptive Mesh

Mesh Generation Tutorial 31Instituto Tecnológico de Veracruz 21-25 January 2008

STL/Adaptive Mesh

STL Mesh

Adaptive Mesh

Adaptive Mesh

Mesh Generation Tutorial 32Instituto Tecnológico de Veracruz 21-25 January 2008

CAD/Adaptive Meshes

Adaptive Mesh

Mesh Generation Tutorial 33Instituto Tecnológico de Veracruz 21-25 January 2008

Adaptive Mesh

Mesh Details

Mesh Generation Tutorial 34Instituto Tecnológico de Veracruz 21-25 January 2008

Adaptive Mesh

Feature Lines

Mesh Generation Tutorial 35Instituto Tecnológico de Veracruz 21-25 January 2008

Adaptive Mesh

Surface Remeshing

Initial model Simplified model

Mesh Generation Tutorial 36Instituto Tecnológico de Veracruz 21-25 January 2008

Adaptive Mesh

Surface Remeshing

Mesh Generation Tutorial 37Instituto Tecnológico de Veracruz 21-25 January 2008

Adaptive Mesh

Surface Remeshing

Initial Mesh

Adaptive Mesh

Mesh Generation Tutorial 38Instituto Tecnológico de Veracruz 21-25 January 2008

Adaptive Mesh

Surface Remeshing

Mesh Generation Tutorial 39Instituto Tecnológico de Veracruz 21-25 January 2008

Adaptive Mesh

Repairing Surface Mesh

Mesh Generation Tutorial 40Instituto Tecnológico de Veracruz 21-25 January 2008

Adaptive Mesh

Demonstrations