an overview of the gmsh project

76
An Overview of the GMSH project Jean-François Remacle 1 1 Université catholique de Louvain (UCL), Belgium. http://www.geuz.org/gmsh December 5, 2011

Upload: dinhhanh

Post on 03-Jan-2017

249 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: An Overview of the GMSH project

An Overview of the GMSH project

Jean-Franccedilois Remacle1

1 Universiteacute catholique de Louvain (UCL) Belgium httpwwwgeuzorggmsh

December 5 2011

Generalities

Gmsh isan OPEN SOURCE finite element grid generator with build-in withpre-post processing capabilities

OutlineA brief history of the projectStrategic choices

Programming languageBuilding systemLicensingBuilding a communityAcademic (and financial ) recognition

Research topics in GMSHCAD InterfaceSurface reparametrizationQuad-Hex meshingHigh order ndash curvilinear meshes

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

History

MilestonesStarted in 1996First public release in 1998Open Source (GPL) in 2003Gmsh 20 in 2006IJNME paper in 2009Move form autotools to CMake in 2010Gmsh as a library in 2010

Python bindingsA complete API availableAggregated projects (DGM Ocean modelling NL shells)

FundingFirst funding in 2006 (EDF)More recently IDIHOM DOMHEX ONELAB EASYMESHGHNOME

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Strategic choices

Programming LanguageGmsh is written only in C++We try to impose some kind of programming style

Files functions and variables namingsUniform file indentingAvoid exotic C++ constructs (Partial Template Specializationmultiple inheritance)

Third party softwaresThe building system allows to ONOFF any 3rd partycontributionUse standard packaging tools for installation (macportsapt-get) FLTK OpenMPI PETSc SLEPcSWIG-PYTHONIf possible re-distribute METIS NETGEN ANN Chacobamg MathExOthers are more tricky OCC TAUCS TETGEN Concorde

Strategic choices

Building system and related toolsCMake is the building system of Gmsh since 2010Management amp community tools

Automated nightly builds are available for Linux Mac OSX andWindowsTwo mailing lists are maintainedA a time line of changes and the bug tracking database ismaintained

DocumentationA basic web site is maintained (httpwwwgeuzorggmsh)A complete user-documentation is availableA tutorial introducing all key features and concepts is included inall the versions in the tutorial directoryScientific aspects of algorithms are detailed in journal papersA programmerrsquos guide is high on our todo list

Strategic choices

LicensingGMSH is licensed under the GPL

The GPL is viral (thatrsquos Microsoftrsquos interpretation)In reality the GPL is a very good protection for the (2)copyrightrsquos owners

Double-licensingAllow to include parts of the software in closed source

Third party softwaresAll 3rd party softwares have to be compatible with the GPL ifredistributed

No problem with LGPL third parties (ANN)Some specific arrangements have been done with G Karypis(Metis) or with F Hecht (Bamg)

Some 3rd party softwares are NOT compatible NETGENConcorde A great care has to be taken in order to maintain thatcompatibility

Strategic choices

The CommunityThere are more than 1000 daily users of Gmsh regarding to themailing listSince 2006 more and more industrials are interrested in GmshOnly a few ( 15) are commiting in the sourceA lot of users are active on the mailing list

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle C Geuzaine G Compegravere E MarchandiseHigh Quality Surface Remeshing Using Harmonic Maps IJNME 83pp 403-425 2010

E Marchandise MWillemet G Bricteux C Geuzaine J-F RemacleQuality meshing based on STL triangulations for biomedicalsimulations IJNMBE 83 pp 876-889 2010

E Marchandise C Carton de Wiart W Vos C Geuzaine J-FRemacleHigh Quality Surface Remeshing Using Harmonic Maps PARTIISurfaces with high genus and of large aspect ratio IJNME 86 pp1303-1321 2011

ReparametrizationCAD data is not suitable for FE analysis

Geometric models contain a lot ofpatchesExample CAD data issued formCATIATM 852 patchesAre not suitable for FE analysis

1 small model edges are present inthe patches

2 that lead to triangles of poorquality

Reparametrize through existingpatches could be highly useful

1 291 surface patches remaining2 suitable CFD mesh build from

remeshed surface

Remeshingbased on cross-patch parametrizationMarcum 1999 Aftomosis 1999

ReparametrizationCAD data is not suitable for FE analysis

Geometric models contain a lot ofpatchesExample CAD data issued formCATIATM 852 patchesAre not suitable for FE analysis

1 small model edges are present inthe patches

2 that lead to triangles of poorquality

Reparametrize through existingpatches could be highly useful

1 291 surface patches remaining2 suitable CFD mesh build from

remeshed surface

Remeshingbased on cross-patch parametrizationMarcum 1999 Aftomosis 1999

ReparametrizationCAD data is not suitable for FE analysis

Geometric models contain a lot ofpatchesExample CAD data issued formCATIATM 852 patchesAre not suitable for FE analysis

1 small model edges are present inthe patches

2 that lead to triangles of poorquality

Reparametrize through existingpatches could be highly useful

1 291 surface patches remaining2 suitable CFD mesh build from

remeshed surface

Remeshingbased on cross-patch parametrizationMarcum 1999 Aftomosis 1999

ReparametrizationCAD data is not suitable for FE analysis

Geometric models contain a lot ofpatchesExample CAD data issued formCATIATM 852 patchesAre not suitable for FE analysis

1 small model edges are present inthe patches

2 that lead to triangles of poorquality

Reparametrize through existingpatches could be highly useful

1 291 surface patches remaining2 suitable CFD mesh build from

remeshed surface

Remeshingbased on cross-patch parametrizationMarcum 1999 Aftomosis 1999

Reparametrization

Computing Conformal mapsThe eigenvector ulowast (Fiedler vector) associated to the smallesteigenvalue λ ie LC ulowast = λulowast is the solution to the constrainedminimization problem

ulowast = argminuute=0utu=1

utLC u (1)

Laplacian and Conformal harmonic maps

Laplacian Conformal

Automatic remeshing

a) b) c)

Remeshing algorithmCompute G = 2NB = 0ηG=0

If needed cut mesh into different partitions of zero genusRemesh the lines at the interfaces between partitionCompute mapping for every partition and remesh the partition inthe parametric space (u(x) coordinates visible for one partition)

Automatic remeshing

Different mesh partitions of a hemi-pelvis in the parametric space(conformal map)

How to partition the mesh

Partitioning a human lung of aspect ratio η= 89

Multilevel Max-cut mesh partitionnerBased on multiscale Laplace map

E Marchandise et al High Quality Surface Remeshing UsingHarmonic Maps PARTII Surfaces with high genus and of large aspectratio IJNME online Jan 2011

High quality meshing for the Laplacian harmonic map

Plot of the quality histogram with high mean quality κ= 094

Remeshed

002

004

006

008

01

012

014

0 02 04 06 08 1

Fre

quen

cyAspect ratio

STL

0

κ= αinscribed radius

circumscribed radius = 4 sin a sin b sin csin a+ sin b+ sin c

(2)

High quality meshing for the Laplacian harmonic map

Time spent in the different steps of the automatic remeshing

The total time for remeshing the initial mesh of 25k triangles is 9s

CPU time lt 100s for mesh of 1e6 elements

High quality meshing

Comparisons with other techniques for surface remeshing

a) b) c)

Figure Remeshing of human lungs a) part of the initial STL triangulationb) remeshed geometry with Mimics (after 2 steps) and c) remeshed lungbased on the Harmonic mapping remeshing procedure

High quality meshing

Remeshed Harmonic map

00200400600801

01201401601802

0 02 04 06 08 1

Fre

quen

cy

Aspect ratio

STL MimicsRemeshed Mimics 1Remeshed Mimics 2

0

Figure Remeshing of human lungs with the presented algorithm ascompared with a commercial package such as Mimics

Efficient surface remeshing

Remeshing of the bunny mesh model of 70k triangles

Remeshing Number of Partition Parametrization Total remeshingpartitions time (s) time (s) time (s)

LSCM Levy 23 30 95 minus

Eck 88 - - 335ABF++ Zayer 2 - 13 -LinABF Zayer 2 - 2 -Present work laplacian part 2 167 14 25 metis part 10 7 14 14

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alBlossom-Quad a non-uniform quadrilateral mesh generator using aminimum cost perfect matching algorithm IJNME In press 2011

J-F Remacle et alA frontal Delaunay quad mesh generator using the Linfin norm IJNMEAccepted 2011

What we aim at

Indirect approach a non-optimal matching algorithmh(xy) = 01+008sin(3x)cos(6y) 836 quads and 240 triangles

τ= 0888825 τ= 0855715

Indirect approach a full-quad approachh(xy) = 01+008sin(3x)cos(6y) only quads

τ= 0854955 τ= 0838941 τ= 0790898

Indirect approach the Blossom-Quad approach

We build G(V E c) an undirected weighted graph Here V is the setof nV vertices E is the set of nE undirected edges andc(E) =

sumc(eij) is an edge-based cost function ie the sum of all

weights associated to every edge eij isin E of the graph

Indirect approach the Blossom-Quad approach

A matching is a subset E prime sube E such that each node of V has at mostone incident edge in E prime

Indirect approach the Blossom-Quad approach

A matching is perfect if each node of V has exactly one incident edgein E prime A perfect matching is optimum if c(E prime) is minimum among allpossible perfect matchings

eij

ti

tj

Indirect approach the Blossom-Quad approach

In 1965 Edmonds invented the Blossom algorithm that solves theproblem of optimum perfect matching in polynomial time Astraightforward implementation of Edmondsrsquos algorithm requiresO(n2

V nE) operationsSince then the worst-case complexity of the Blossom algorithmhas been steadily improving Both Lawler and Gabow achieved arunning time of O(n3

V ) Galil Micali and Gabow improved it toO(nV nE log(nV )) The current best known result in terms of nVand nE is O(nV (nE + lognV ))There is also a long history of computer implementations of theBlossom algorithm starting with the Blossom I code ofEdmonds Johnson and Lockhart In this paper ourimplementation makes use of the Blossom IV code of Cook andRohe1 that has been considered for several years as the fastestavailable implementation of the Blossom algorithm Gmshredistributes this piece of code

1httpwww2isyegatecheduwcookblossom4

Indirect approach Blossom-Quadh(xy) = 01+008sin(3x)cos(6y) only quads

τ= 0888825 τ= 0839313

Existence of perfect matchings

There is no guarantee that even one single perfect matchingexists in a given graphConsider the meshes below It is obvious that no perfectmatching exists for the coarsest oneThe following result known as Tuttersquos theorem proves that noneof the two meshes contains a perfect matching

The Blossom-Quad algorithm

Initial Raw Blossom Vertex Topological Finaltriangulation application smoothing optimization mesh

Quad mesh generation applied to STL modelsh(~x) = 2πR(~x)

Np with R(~x) = 1

κ(~x) NP = 50

Stanford Bunny Aneurysm

Quad mesh generation applied to STL models

τ= 0842549 τ= 0856247

The overall remeshing procedure for both STL examples takesonly 20s (5s for the Blossom-Quad)The quad-dominant meshing algorithm of [Levy et al] takes 271sfor the remeshing of the Stanford bunny

Anisotropic quad mesh generation applied to aparametric model

Anisotropic mesh

Anisotropic metricBuild an anisotropic triangular meshReimannian metric is used to measure distancesHere principal directions of the curvature tensor are used

Indirect approach an obvious problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Cross Fields

ycross

x

y

xcrossθ

The Linfin norm is not invariant by rotation rarr quads should beorientedA cross field (in 2D) is a scalar field θ(u) that gives theorientations of a local system of axis at point u in the parameterplaneThe local value of the cross field θ(uv) is defined only up torotations by π2 we choose to propagate

α(uv) = a(uv)+ ib(uv) = e4iθ(uv)

through a harmonic map

Perpendicular bisectors in the Linfin-norm

Lequiv y +(yo minusxp) = x

x

y

x2 = (xpyp)

(00)

α lt π4

(0xp minusyp)

x3 = (minusxp2xp minusyp)

x1 = (minusxpminusyp)

Bisector of two points x1 = (minusxpminusyp) and x2 = (xpyp) using theLinfin-norm

Circumcenter circumradius and circumcircle

ycross

x3

xcross

Ti

xcθ

R(T θ)

x1

x2

Circumcenter xc of a triangle using the Linfin-norm and circumcircle(red dotted square)

Delaunay and Voronoiuml

Voronoi diagram (dark lines) and Delaunay triangulation both in theLinfin norm

A frontal-Delaunay mesher in the Linfin-norm

The frontal-delaunay technique is based on

Rebay S Efficient unstructured mesh generation by means ofdelaunay triangulation and bowyer-watson algorithm Journal ofComputational Physics 1993 106(1)125ndash138

A frontal-Delaunay mesher in the Linfin-norm

Active

Edge of the front

Resolved

x1

Cn

Cl

L

x3 = (minusxpyp)

x2 = (xpminusyp)

x4

xc

xm

xl

xn

xe

x

y

Illustration of the point insertion algorithm

Car Hood

(a) (b) (c)Conformal reparametrization of a car hood Figure (a) shows the

CAD decomposition of the hood into 18 Beacutezier surfaces and the initialconforming mesh Figure (b) shows the result of the conformal

reparametrization ie isolines of u and v on the whole hood Figure(c) shows the projection of the initial mesh on the parameter plane u

Car Hood18 J-F REMACLE ET AL

(F) (FB) (FLB)

(D) (DB) (DLB)

N η ηw τ() d4() dmax

(FB) 1726 077 037 86 71 6(FLB) 1744 086 039 87 81 5(DB) 1527 090 037 93 81 5

(DLB) 1543 091 043 94 83 5

Figure 15 Pictures of different meshes of the car hood as well as mesh statistics

fields on all surfaces and the conformal reparametrization of all non planar surfaces The meshstatistics are as follows τ = 97 d4 = 91 dmax = 6 η = 095 ηw = 01 The mesh generatedby our approach for some of the planar and cylindrical surfaces of this particular geometry wasa structured mesh This happened however automatically without user interaction or internalheuristics of the mesher This explains the exceptionnaly high value of τ and η in this specificproblem

82 Falcon aircraft

As a second example the Falcon aircraft of Figure 17 is considered A surface mesh has beengenerated using a standard surface mesher whose triangles were patched together to create thecompounds of surfaces represented with different colors in the figure Each compound surfacehas been reparametrized separately by means of a conformal map created using the techniquesdescribed in [6 10 11 12] The mesh size field is composed of a uniform bulk size field δb = 01augmented with line and point sources at critical zones of the aircraft as depicted on Figure 17

The images of the different surfaces in their respective parameter plane can be seen onFigure 18 The resulting mesh is presented on Figure 19 The mesh is composed of 53297

Copyright c 2010 John Wiley amp Sons Ltd Int J Numer Meth Engng 2010 001ndash6Prepared using nmeauthcls

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Parametrizations of the surfaces of the Falcon aircraft in the uvplane

Falcon

Falcon

Falcon

Falcon

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alGeometrical Validity of Curvilinear Finite Elements IJNME Inpreparation 2011

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Roadmap for Gmsh 30

Complete re-build of the GUIUse Qt (a first demo version should be available in 2011)More flexibility reconfigurable GUI (OnleLab project) trueplugins remote control through sockets

Meshing capabilities enhancedCurvilinear meshes (p = 2 and p = 3 in 2011)Hex dominant meshing (DomHex project)Boundary layers (already ok for surface meshes) pyramids (evenfor high order)

Python API has to be cleaned and documented

  • History
  • Strategy
  • Research
    • Reparametrization
    • Quad meshing
    • Curvilinear meshing
      • Perspectives
Page 2: An Overview of the GMSH project

Generalities

Gmsh isan OPEN SOURCE finite element grid generator with build-in withpre-post processing capabilities

OutlineA brief history of the projectStrategic choices

Programming languageBuilding systemLicensingBuilding a communityAcademic (and financial ) recognition

Research topics in GMSHCAD InterfaceSurface reparametrizationQuad-Hex meshingHigh order ndash curvilinear meshes

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

History

MilestonesStarted in 1996First public release in 1998Open Source (GPL) in 2003Gmsh 20 in 2006IJNME paper in 2009Move form autotools to CMake in 2010Gmsh as a library in 2010

Python bindingsA complete API availableAggregated projects (DGM Ocean modelling NL shells)

FundingFirst funding in 2006 (EDF)More recently IDIHOM DOMHEX ONELAB EASYMESHGHNOME

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Strategic choices

Programming LanguageGmsh is written only in C++We try to impose some kind of programming style

Files functions and variables namingsUniform file indentingAvoid exotic C++ constructs (Partial Template Specializationmultiple inheritance)

Third party softwaresThe building system allows to ONOFF any 3rd partycontributionUse standard packaging tools for installation (macportsapt-get) FLTK OpenMPI PETSc SLEPcSWIG-PYTHONIf possible re-distribute METIS NETGEN ANN Chacobamg MathExOthers are more tricky OCC TAUCS TETGEN Concorde

Strategic choices

Building system and related toolsCMake is the building system of Gmsh since 2010Management amp community tools

Automated nightly builds are available for Linux Mac OSX andWindowsTwo mailing lists are maintainedA a time line of changes and the bug tracking database ismaintained

DocumentationA basic web site is maintained (httpwwwgeuzorggmsh)A complete user-documentation is availableA tutorial introducing all key features and concepts is included inall the versions in the tutorial directoryScientific aspects of algorithms are detailed in journal papersA programmerrsquos guide is high on our todo list

Strategic choices

LicensingGMSH is licensed under the GPL

The GPL is viral (thatrsquos Microsoftrsquos interpretation)In reality the GPL is a very good protection for the (2)copyrightrsquos owners

Double-licensingAllow to include parts of the software in closed source

Third party softwaresAll 3rd party softwares have to be compatible with the GPL ifredistributed

No problem with LGPL third parties (ANN)Some specific arrangements have been done with G Karypis(Metis) or with F Hecht (Bamg)

Some 3rd party softwares are NOT compatible NETGENConcorde A great care has to be taken in order to maintain thatcompatibility

Strategic choices

The CommunityThere are more than 1000 daily users of Gmsh regarding to themailing listSince 2006 more and more industrials are interrested in GmshOnly a few ( 15) are commiting in the sourceA lot of users are active on the mailing list

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle C Geuzaine G Compegravere E MarchandiseHigh Quality Surface Remeshing Using Harmonic Maps IJNME 83pp 403-425 2010

E Marchandise MWillemet G Bricteux C Geuzaine J-F RemacleQuality meshing based on STL triangulations for biomedicalsimulations IJNMBE 83 pp 876-889 2010

E Marchandise C Carton de Wiart W Vos C Geuzaine J-FRemacleHigh Quality Surface Remeshing Using Harmonic Maps PARTIISurfaces with high genus and of large aspect ratio IJNME 86 pp1303-1321 2011

ReparametrizationCAD data is not suitable for FE analysis

Geometric models contain a lot ofpatchesExample CAD data issued formCATIATM 852 patchesAre not suitable for FE analysis

1 small model edges are present inthe patches

2 that lead to triangles of poorquality

Reparametrize through existingpatches could be highly useful

1 291 surface patches remaining2 suitable CFD mesh build from

remeshed surface

Remeshingbased on cross-patch parametrizationMarcum 1999 Aftomosis 1999

ReparametrizationCAD data is not suitable for FE analysis

Geometric models contain a lot ofpatchesExample CAD data issued formCATIATM 852 patchesAre not suitable for FE analysis

1 small model edges are present inthe patches

2 that lead to triangles of poorquality

Reparametrize through existingpatches could be highly useful

1 291 surface patches remaining2 suitable CFD mesh build from

remeshed surface

Remeshingbased on cross-patch parametrizationMarcum 1999 Aftomosis 1999

ReparametrizationCAD data is not suitable for FE analysis

Geometric models contain a lot ofpatchesExample CAD data issued formCATIATM 852 patchesAre not suitable for FE analysis

1 small model edges are present inthe patches

2 that lead to triangles of poorquality

Reparametrize through existingpatches could be highly useful

1 291 surface patches remaining2 suitable CFD mesh build from

remeshed surface

Remeshingbased on cross-patch parametrizationMarcum 1999 Aftomosis 1999

ReparametrizationCAD data is not suitable for FE analysis

Geometric models contain a lot ofpatchesExample CAD data issued formCATIATM 852 patchesAre not suitable for FE analysis

1 small model edges are present inthe patches

2 that lead to triangles of poorquality

Reparametrize through existingpatches could be highly useful

1 291 surface patches remaining2 suitable CFD mesh build from

remeshed surface

Remeshingbased on cross-patch parametrizationMarcum 1999 Aftomosis 1999

Reparametrization

Computing Conformal mapsThe eigenvector ulowast (Fiedler vector) associated to the smallesteigenvalue λ ie LC ulowast = λulowast is the solution to the constrainedminimization problem

ulowast = argminuute=0utu=1

utLC u (1)

Laplacian and Conformal harmonic maps

Laplacian Conformal

Automatic remeshing

a) b) c)

Remeshing algorithmCompute G = 2NB = 0ηG=0

If needed cut mesh into different partitions of zero genusRemesh the lines at the interfaces between partitionCompute mapping for every partition and remesh the partition inthe parametric space (u(x) coordinates visible for one partition)

Automatic remeshing

Different mesh partitions of a hemi-pelvis in the parametric space(conformal map)

How to partition the mesh

Partitioning a human lung of aspect ratio η= 89

Multilevel Max-cut mesh partitionnerBased on multiscale Laplace map

E Marchandise et al High Quality Surface Remeshing UsingHarmonic Maps PARTII Surfaces with high genus and of large aspectratio IJNME online Jan 2011

High quality meshing for the Laplacian harmonic map

Plot of the quality histogram with high mean quality κ= 094

Remeshed

002

004

006

008

01

012

014

0 02 04 06 08 1

Fre

quen

cyAspect ratio

STL

0

κ= αinscribed radius

circumscribed radius = 4 sin a sin b sin csin a+ sin b+ sin c

(2)

High quality meshing for the Laplacian harmonic map

Time spent in the different steps of the automatic remeshing

The total time for remeshing the initial mesh of 25k triangles is 9s

CPU time lt 100s for mesh of 1e6 elements

High quality meshing

Comparisons with other techniques for surface remeshing

a) b) c)

Figure Remeshing of human lungs a) part of the initial STL triangulationb) remeshed geometry with Mimics (after 2 steps) and c) remeshed lungbased on the Harmonic mapping remeshing procedure

High quality meshing

Remeshed Harmonic map

00200400600801

01201401601802

0 02 04 06 08 1

Fre

quen

cy

Aspect ratio

STL MimicsRemeshed Mimics 1Remeshed Mimics 2

0

Figure Remeshing of human lungs with the presented algorithm ascompared with a commercial package such as Mimics

Efficient surface remeshing

Remeshing of the bunny mesh model of 70k triangles

Remeshing Number of Partition Parametrization Total remeshingpartitions time (s) time (s) time (s)

LSCM Levy 23 30 95 minus

Eck 88 - - 335ABF++ Zayer 2 - 13 -LinABF Zayer 2 - 2 -Present work laplacian part 2 167 14 25 metis part 10 7 14 14

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alBlossom-Quad a non-uniform quadrilateral mesh generator using aminimum cost perfect matching algorithm IJNME In press 2011

J-F Remacle et alA frontal Delaunay quad mesh generator using the Linfin norm IJNMEAccepted 2011

What we aim at

Indirect approach a non-optimal matching algorithmh(xy) = 01+008sin(3x)cos(6y) 836 quads and 240 triangles

τ= 0888825 τ= 0855715

Indirect approach a full-quad approachh(xy) = 01+008sin(3x)cos(6y) only quads

τ= 0854955 τ= 0838941 τ= 0790898

Indirect approach the Blossom-Quad approach

We build G(V E c) an undirected weighted graph Here V is the setof nV vertices E is the set of nE undirected edges andc(E) =

sumc(eij) is an edge-based cost function ie the sum of all

weights associated to every edge eij isin E of the graph

Indirect approach the Blossom-Quad approach

A matching is a subset E prime sube E such that each node of V has at mostone incident edge in E prime

Indirect approach the Blossom-Quad approach

A matching is perfect if each node of V has exactly one incident edgein E prime A perfect matching is optimum if c(E prime) is minimum among allpossible perfect matchings

eij

ti

tj

Indirect approach the Blossom-Quad approach

In 1965 Edmonds invented the Blossom algorithm that solves theproblem of optimum perfect matching in polynomial time Astraightforward implementation of Edmondsrsquos algorithm requiresO(n2

V nE) operationsSince then the worst-case complexity of the Blossom algorithmhas been steadily improving Both Lawler and Gabow achieved arunning time of O(n3

V ) Galil Micali and Gabow improved it toO(nV nE log(nV )) The current best known result in terms of nVand nE is O(nV (nE + lognV ))There is also a long history of computer implementations of theBlossom algorithm starting with the Blossom I code ofEdmonds Johnson and Lockhart In this paper ourimplementation makes use of the Blossom IV code of Cook andRohe1 that has been considered for several years as the fastestavailable implementation of the Blossom algorithm Gmshredistributes this piece of code

1httpwww2isyegatecheduwcookblossom4

Indirect approach Blossom-Quadh(xy) = 01+008sin(3x)cos(6y) only quads

τ= 0888825 τ= 0839313

Existence of perfect matchings

There is no guarantee that even one single perfect matchingexists in a given graphConsider the meshes below It is obvious that no perfectmatching exists for the coarsest oneThe following result known as Tuttersquos theorem proves that noneof the two meshes contains a perfect matching

The Blossom-Quad algorithm

Initial Raw Blossom Vertex Topological Finaltriangulation application smoothing optimization mesh

Quad mesh generation applied to STL modelsh(~x) = 2πR(~x)

Np with R(~x) = 1

κ(~x) NP = 50

Stanford Bunny Aneurysm

Quad mesh generation applied to STL models

τ= 0842549 τ= 0856247

The overall remeshing procedure for both STL examples takesonly 20s (5s for the Blossom-Quad)The quad-dominant meshing algorithm of [Levy et al] takes 271sfor the remeshing of the Stanford bunny

Anisotropic quad mesh generation applied to aparametric model

Anisotropic mesh

Anisotropic metricBuild an anisotropic triangular meshReimannian metric is used to measure distancesHere principal directions of the curvature tensor are used

Indirect approach an obvious problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Cross Fields

ycross

x

y

xcrossθ

The Linfin norm is not invariant by rotation rarr quads should beorientedA cross field (in 2D) is a scalar field θ(u) that gives theorientations of a local system of axis at point u in the parameterplaneThe local value of the cross field θ(uv) is defined only up torotations by π2 we choose to propagate

α(uv) = a(uv)+ ib(uv) = e4iθ(uv)

through a harmonic map

Perpendicular bisectors in the Linfin-norm

Lequiv y +(yo minusxp) = x

x

y

x2 = (xpyp)

(00)

α lt π4

(0xp minusyp)

x3 = (minusxp2xp minusyp)

x1 = (minusxpminusyp)

Bisector of two points x1 = (minusxpminusyp) and x2 = (xpyp) using theLinfin-norm

Circumcenter circumradius and circumcircle

ycross

x3

xcross

Ti

xcθ

R(T θ)

x1

x2

Circumcenter xc of a triangle using the Linfin-norm and circumcircle(red dotted square)

Delaunay and Voronoiuml

Voronoi diagram (dark lines) and Delaunay triangulation both in theLinfin norm

A frontal-Delaunay mesher in the Linfin-norm

The frontal-delaunay technique is based on

Rebay S Efficient unstructured mesh generation by means ofdelaunay triangulation and bowyer-watson algorithm Journal ofComputational Physics 1993 106(1)125ndash138

A frontal-Delaunay mesher in the Linfin-norm

Active

Edge of the front

Resolved

x1

Cn

Cl

L

x3 = (minusxpyp)

x2 = (xpminusyp)

x4

xc

xm

xl

xn

xe

x

y

Illustration of the point insertion algorithm

Car Hood

(a) (b) (c)Conformal reparametrization of a car hood Figure (a) shows the

CAD decomposition of the hood into 18 Beacutezier surfaces and the initialconforming mesh Figure (b) shows the result of the conformal

reparametrization ie isolines of u and v on the whole hood Figure(c) shows the projection of the initial mesh on the parameter plane u

Car Hood18 J-F REMACLE ET AL

(F) (FB) (FLB)

(D) (DB) (DLB)

N η ηw τ() d4() dmax

(FB) 1726 077 037 86 71 6(FLB) 1744 086 039 87 81 5(DB) 1527 090 037 93 81 5

(DLB) 1543 091 043 94 83 5

Figure 15 Pictures of different meshes of the car hood as well as mesh statistics

fields on all surfaces and the conformal reparametrization of all non planar surfaces The meshstatistics are as follows τ = 97 d4 = 91 dmax = 6 η = 095 ηw = 01 The mesh generatedby our approach for some of the planar and cylindrical surfaces of this particular geometry wasa structured mesh This happened however automatically without user interaction or internalheuristics of the mesher This explains the exceptionnaly high value of τ and η in this specificproblem

82 Falcon aircraft

As a second example the Falcon aircraft of Figure 17 is considered A surface mesh has beengenerated using a standard surface mesher whose triangles were patched together to create thecompounds of surfaces represented with different colors in the figure Each compound surfacehas been reparametrized separately by means of a conformal map created using the techniquesdescribed in [6 10 11 12] The mesh size field is composed of a uniform bulk size field δb = 01augmented with line and point sources at critical zones of the aircraft as depicted on Figure 17

The images of the different surfaces in their respective parameter plane can be seen onFigure 18 The resulting mesh is presented on Figure 19 The mesh is composed of 53297

Copyright c 2010 John Wiley amp Sons Ltd Int J Numer Meth Engng 2010 001ndash6Prepared using nmeauthcls

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Parametrizations of the surfaces of the Falcon aircraft in the uvplane

Falcon

Falcon

Falcon

Falcon

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alGeometrical Validity of Curvilinear Finite Elements IJNME Inpreparation 2011

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Roadmap for Gmsh 30

Complete re-build of the GUIUse Qt (a first demo version should be available in 2011)More flexibility reconfigurable GUI (OnleLab project) trueplugins remote control through sockets

Meshing capabilities enhancedCurvilinear meshes (p = 2 and p = 3 in 2011)Hex dominant meshing (DomHex project)Boundary layers (already ok for surface meshes) pyramids (evenfor high order)

Python API has to be cleaned and documented

  • History
  • Strategy
  • Research
    • Reparametrization
    • Quad meshing
    • Curvilinear meshing
      • Perspectives
Page 3: An Overview of the GMSH project

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

History

MilestonesStarted in 1996First public release in 1998Open Source (GPL) in 2003Gmsh 20 in 2006IJNME paper in 2009Move form autotools to CMake in 2010Gmsh as a library in 2010

Python bindingsA complete API availableAggregated projects (DGM Ocean modelling NL shells)

FundingFirst funding in 2006 (EDF)More recently IDIHOM DOMHEX ONELAB EASYMESHGHNOME

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Strategic choices

Programming LanguageGmsh is written only in C++We try to impose some kind of programming style

Files functions and variables namingsUniform file indentingAvoid exotic C++ constructs (Partial Template Specializationmultiple inheritance)

Third party softwaresThe building system allows to ONOFF any 3rd partycontributionUse standard packaging tools for installation (macportsapt-get) FLTK OpenMPI PETSc SLEPcSWIG-PYTHONIf possible re-distribute METIS NETGEN ANN Chacobamg MathExOthers are more tricky OCC TAUCS TETGEN Concorde

Strategic choices

Building system and related toolsCMake is the building system of Gmsh since 2010Management amp community tools

Automated nightly builds are available for Linux Mac OSX andWindowsTwo mailing lists are maintainedA a time line of changes and the bug tracking database ismaintained

DocumentationA basic web site is maintained (httpwwwgeuzorggmsh)A complete user-documentation is availableA tutorial introducing all key features and concepts is included inall the versions in the tutorial directoryScientific aspects of algorithms are detailed in journal papersA programmerrsquos guide is high on our todo list

Strategic choices

LicensingGMSH is licensed under the GPL

The GPL is viral (thatrsquos Microsoftrsquos interpretation)In reality the GPL is a very good protection for the (2)copyrightrsquos owners

Double-licensingAllow to include parts of the software in closed source

Third party softwaresAll 3rd party softwares have to be compatible with the GPL ifredistributed

No problem with LGPL third parties (ANN)Some specific arrangements have been done with G Karypis(Metis) or with F Hecht (Bamg)

Some 3rd party softwares are NOT compatible NETGENConcorde A great care has to be taken in order to maintain thatcompatibility

Strategic choices

The CommunityThere are more than 1000 daily users of Gmsh regarding to themailing listSince 2006 more and more industrials are interrested in GmshOnly a few ( 15) are commiting in the sourceA lot of users are active on the mailing list

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle C Geuzaine G Compegravere E MarchandiseHigh Quality Surface Remeshing Using Harmonic Maps IJNME 83pp 403-425 2010

E Marchandise MWillemet G Bricteux C Geuzaine J-F RemacleQuality meshing based on STL triangulations for biomedicalsimulations IJNMBE 83 pp 876-889 2010

E Marchandise C Carton de Wiart W Vos C Geuzaine J-FRemacleHigh Quality Surface Remeshing Using Harmonic Maps PARTIISurfaces with high genus and of large aspect ratio IJNME 86 pp1303-1321 2011

ReparametrizationCAD data is not suitable for FE analysis

Geometric models contain a lot ofpatchesExample CAD data issued formCATIATM 852 patchesAre not suitable for FE analysis

1 small model edges are present inthe patches

2 that lead to triangles of poorquality

Reparametrize through existingpatches could be highly useful

1 291 surface patches remaining2 suitable CFD mesh build from

remeshed surface

Remeshingbased on cross-patch parametrizationMarcum 1999 Aftomosis 1999

ReparametrizationCAD data is not suitable for FE analysis

Geometric models contain a lot ofpatchesExample CAD data issued formCATIATM 852 patchesAre not suitable for FE analysis

1 small model edges are present inthe patches

2 that lead to triangles of poorquality

Reparametrize through existingpatches could be highly useful

1 291 surface patches remaining2 suitable CFD mesh build from

remeshed surface

Remeshingbased on cross-patch parametrizationMarcum 1999 Aftomosis 1999

ReparametrizationCAD data is not suitable for FE analysis

Geometric models contain a lot ofpatchesExample CAD data issued formCATIATM 852 patchesAre not suitable for FE analysis

1 small model edges are present inthe patches

2 that lead to triangles of poorquality

Reparametrize through existingpatches could be highly useful

1 291 surface patches remaining2 suitable CFD mesh build from

remeshed surface

Remeshingbased on cross-patch parametrizationMarcum 1999 Aftomosis 1999

ReparametrizationCAD data is not suitable for FE analysis

Geometric models contain a lot ofpatchesExample CAD data issued formCATIATM 852 patchesAre not suitable for FE analysis

1 small model edges are present inthe patches

2 that lead to triangles of poorquality

Reparametrize through existingpatches could be highly useful

1 291 surface patches remaining2 suitable CFD mesh build from

remeshed surface

Remeshingbased on cross-patch parametrizationMarcum 1999 Aftomosis 1999

Reparametrization

Computing Conformal mapsThe eigenvector ulowast (Fiedler vector) associated to the smallesteigenvalue λ ie LC ulowast = λulowast is the solution to the constrainedminimization problem

ulowast = argminuute=0utu=1

utLC u (1)

Laplacian and Conformal harmonic maps

Laplacian Conformal

Automatic remeshing

a) b) c)

Remeshing algorithmCompute G = 2NB = 0ηG=0

If needed cut mesh into different partitions of zero genusRemesh the lines at the interfaces between partitionCompute mapping for every partition and remesh the partition inthe parametric space (u(x) coordinates visible for one partition)

Automatic remeshing

Different mesh partitions of a hemi-pelvis in the parametric space(conformal map)

How to partition the mesh

Partitioning a human lung of aspect ratio η= 89

Multilevel Max-cut mesh partitionnerBased on multiscale Laplace map

E Marchandise et al High Quality Surface Remeshing UsingHarmonic Maps PARTII Surfaces with high genus and of large aspectratio IJNME online Jan 2011

High quality meshing for the Laplacian harmonic map

Plot of the quality histogram with high mean quality κ= 094

Remeshed

002

004

006

008

01

012

014

0 02 04 06 08 1

Fre

quen

cyAspect ratio

STL

0

κ= αinscribed radius

circumscribed radius = 4 sin a sin b sin csin a+ sin b+ sin c

(2)

High quality meshing for the Laplacian harmonic map

Time spent in the different steps of the automatic remeshing

The total time for remeshing the initial mesh of 25k triangles is 9s

CPU time lt 100s for mesh of 1e6 elements

High quality meshing

Comparisons with other techniques for surface remeshing

a) b) c)

Figure Remeshing of human lungs a) part of the initial STL triangulationb) remeshed geometry with Mimics (after 2 steps) and c) remeshed lungbased on the Harmonic mapping remeshing procedure

High quality meshing

Remeshed Harmonic map

00200400600801

01201401601802

0 02 04 06 08 1

Fre

quen

cy

Aspect ratio

STL MimicsRemeshed Mimics 1Remeshed Mimics 2

0

Figure Remeshing of human lungs with the presented algorithm ascompared with a commercial package such as Mimics

Efficient surface remeshing

Remeshing of the bunny mesh model of 70k triangles

Remeshing Number of Partition Parametrization Total remeshingpartitions time (s) time (s) time (s)

LSCM Levy 23 30 95 minus

Eck 88 - - 335ABF++ Zayer 2 - 13 -LinABF Zayer 2 - 2 -Present work laplacian part 2 167 14 25 metis part 10 7 14 14

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alBlossom-Quad a non-uniform quadrilateral mesh generator using aminimum cost perfect matching algorithm IJNME In press 2011

J-F Remacle et alA frontal Delaunay quad mesh generator using the Linfin norm IJNMEAccepted 2011

What we aim at

Indirect approach a non-optimal matching algorithmh(xy) = 01+008sin(3x)cos(6y) 836 quads and 240 triangles

τ= 0888825 τ= 0855715

Indirect approach a full-quad approachh(xy) = 01+008sin(3x)cos(6y) only quads

τ= 0854955 τ= 0838941 τ= 0790898

Indirect approach the Blossom-Quad approach

We build G(V E c) an undirected weighted graph Here V is the setof nV vertices E is the set of nE undirected edges andc(E) =

sumc(eij) is an edge-based cost function ie the sum of all

weights associated to every edge eij isin E of the graph

Indirect approach the Blossom-Quad approach

A matching is a subset E prime sube E such that each node of V has at mostone incident edge in E prime

Indirect approach the Blossom-Quad approach

A matching is perfect if each node of V has exactly one incident edgein E prime A perfect matching is optimum if c(E prime) is minimum among allpossible perfect matchings

eij

ti

tj

Indirect approach the Blossom-Quad approach

In 1965 Edmonds invented the Blossom algorithm that solves theproblem of optimum perfect matching in polynomial time Astraightforward implementation of Edmondsrsquos algorithm requiresO(n2

V nE) operationsSince then the worst-case complexity of the Blossom algorithmhas been steadily improving Both Lawler and Gabow achieved arunning time of O(n3

V ) Galil Micali and Gabow improved it toO(nV nE log(nV )) The current best known result in terms of nVand nE is O(nV (nE + lognV ))There is also a long history of computer implementations of theBlossom algorithm starting with the Blossom I code ofEdmonds Johnson and Lockhart In this paper ourimplementation makes use of the Blossom IV code of Cook andRohe1 that has been considered for several years as the fastestavailable implementation of the Blossom algorithm Gmshredistributes this piece of code

1httpwww2isyegatecheduwcookblossom4

Indirect approach Blossom-Quadh(xy) = 01+008sin(3x)cos(6y) only quads

τ= 0888825 τ= 0839313

Existence of perfect matchings

There is no guarantee that even one single perfect matchingexists in a given graphConsider the meshes below It is obvious that no perfectmatching exists for the coarsest oneThe following result known as Tuttersquos theorem proves that noneof the two meshes contains a perfect matching

The Blossom-Quad algorithm

Initial Raw Blossom Vertex Topological Finaltriangulation application smoothing optimization mesh

Quad mesh generation applied to STL modelsh(~x) = 2πR(~x)

Np with R(~x) = 1

κ(~x) NP = 50

Stanford Bunny Aneurysm

Quad mesh generation applied to STL models

τ= 0842549 τ= 0856247

The overall remeshing procedure for both STL examples takesonly 20s (5s for the Blossom-Quad)The quad-dominant meshing algorithm of [Levy et al] takes 271sfor the remeshing of the Stanford bunny

Anisotropic quad mesh generation applied to aparametric model

Anisotropic mesh

Anisotropic metricBuild an anisotropic triangular meshReimannian metric is used to measure distancesHere principal directions of the curvature tensor are used

Indirect approach an obvious problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Cross Fields

ycross

x

y

xcrossθ

The Linfin norm is not invariant by rotation rarr quads should beorientedA cross field (in 2D) is a scalar field θ(u) that gives theorientations of a local system of axis at point u in the parameterplaneThe local value of the cross field θ(uv) is defined only up torotations by π2 we choose to propagate

α(uv) = a(uv)+ ib(uv) = e4iθ(uv)

through a harmonic map

Perpendicular bisectors in the Linfin-norm

Lequiv y +(yo minusxp) = x

x

y

x2 = (xpyp)

(00)

α lt π4

(0xp minusyp)

x3 = (minusxp2xp minusyp)

x1 = (minusxpminusyp)

Bisector of two points x1 = (minusxpminusyp) and x2 = (xpyp) using theLinfin-norm

Circumcenter circumradius and circumcircle

ycross

x3

xcross

Ti

xcθ

R(T θ)

x1

x2

Circumcenter xc of a triangle using the Linfin-norm and circumcircle(red dotted square)

Delaunay and Voronoiuml

Voronoi diagram (dark lines) and Delaunay triangulation both in theLinfin norm

A frontal-Delaunay mesher in the Linfin-norm

The frontal-delaunay technique is based on

Rebay S Efficient unstructured mesh generation by means ofdelaunay triangulation and bowyer-watson algorithm Journal ofComputational Physics 1993 106(1)125ndash138

A frontal-Delaunay mesher in the Linfin-norm

Active

Edge of the front

Resolved

x1

Cn

Cl

L

x3 = (minusxpyp)

x2 = (xpminusyp)

x4

xc

xm

xl

xn

xe

x

y

Illustration of the point insertion algorithm

Car Hood

(a) (b) (c)Conformal reparametrization of a car hood Figure (a) shows the

CAD decomposition of the hood into 18 Beacutezier surfaces and the initialconforming mesh Figure (b) shows the result of the conformal

reparametrization ie isolines of u and v on the whole hood Figure(c) shows the projection of the initial mesh on the parameter plane u

Car Hood18 J-F REMACLE ET AL

(F) (FB) (FLB)

(D) (DB) (DLB)

N η ηw τ() d4() dmax

(FB) 1726 077 037 86 71 6(FLB) 1744 086 039 87 81 5(DB) 1527 090 037 93 81 5

(DLB) 1543 091 043 94 83 5

Figure 15 Pictures of different meshes of the car hood as well as mesh statistics

fields on all surfaces and the conformal reparametrization of all non planar surfaces The meshstatistics are as follows τ = 97 d4 = 91 dmax = 6 η = 095 ηw = 01 The mesh generatedby our approach for some of the planar and cylindrical surfaces of this particular geometry wasa structured mesh This happened however automatically without user interaction or internalheuristics of the mesher This explains the exceptionnaly high value of τ and η in this specificproblem

82 Falcon aircraft

As a second example the Falcon aircraft of Figure 17 is considered A surface mesh has beengenerated using a standard surface mesher whose triangles were patched together to create thecompounds of surfaces represented with different colors in the figure Each compound surfacehas been reparametrized separately by means of a conformal map created using the techniquesdescribed in [6 10 11 12] The mesh size field is composed of a uniform bulk size field δb = 01augmented with line and point sources at critical zones of the aircraft as depicted on Figure 17

The images of the different surfaces in their respective parameter plane can be seen onFigure 18 The resulting mesh is presented on Figure 19 The mesh is composed of 53297

Copyright c 2010 John Wiley amp Sons Ltd Int J Numer Meth Engng 2010 001ndash6Prepared using nmeauthcls

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Parametrizations of the surfaces of the Falcon aircraft in the uvplane

Falcon

Falcon

Falcon

Falcon

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alGeometrical Validity of Curvilinear Finite Elements IJNME Inpreparation 2011

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Roadmap for Gmsh 30

Complete re-build of the GUIUse Qt (a first demo version should be available in 2011)More flexibility reconfigurable GUI (OnleLab project) trueplugins remote control through sockets

Meshing capabilities enhancedCurvilinear meshes (p = 2 and p = 3 in 2011)Hex dominant meshing (DomHex project)Boundary layers (already ok for surface meshes) pyramids (evenfor high order)

Python API has to be cleaned and documented

  • History
  • Strategy
  • Research
    • Reparametrization
    • Quad meshing
    • Curvilinear meshing
      • Perspectives
Page 4: An Overview of the GMSH project

History

MilestonesStarted in 1996First public release in 1998Open Source (GPL) in 2003Gmsh 20 in 2006IJNME paper in 2009Move form autotools to CMake in 2010Gmsh as a library in 2010

Python bindingsA complete API availableAggregated projects (DGM Ocean modelling NL shells)

FundingFirst funding in 2006 (EDF)More recently IDIHOM DOMHEX ONELAB EASYMESHGHNOME

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Strategic choices

Programming LanguageGmsh is written only in C++We try to impose some kind of programming style

Files functions and variables namingsUniform file indentingAvoid exotic C++ constructs (Partial Template Specializationmultiple inheritance)

Third party softwaresThe building system allows to ONOFF any 3rd partycontributionUse standard packaging tools for installation (macportsapt-get) FLTK OpenMPI PETSc SLEPcSWIG-PYTHONIf possible re-distribute METIS NETGEN ANN Chacobamg MathExOthers are more tricky OCC TAUCS TETGEN Concorde

Strategic choices

Building system and related toolsCMake is the building system of Gmsh since 2010Management amp community tools

Automated nightly builds are available for Linux Mac OSX andWindowsTwo mailing lists are maintainedA a time line of changes and the bug tracking database ismaintained

DocumentationA basic web site is maintained (httpwwwgeuzorggmsh)A complete user-documentation is availableA tutorial introducing all key features and concepts is included inall the versions in the tutorial directoryScientific aspects of algorithms are detailed in journal papersA programmerrsquos guide is high on our todo list

Strategic choices

LicensingGMSH is licensed under the GPL

The GPL is viral (thatrsquos Microsoftrsquos interpretation)In reality the GPL is a very good protection for the (2)copyrightrsquos owners

Double-licensingAllow to include parts of the software in closed source

Third party softwaresAll 3rd party softwares have to be compatible with the GPL ifredistributed

No problem with LGPL third parties (ANN)Some specific arrangements have been done with G Karypis(Metis) or with F Hecht (Bamg)

Some 3rd party softwares are NOT compatible NETGENConcorde A great care has to be taken in order to maintain thatcompatibility

Strategic choices

The CommunityThere are more than 1000 daily users of Gmsh regarding to themailing listSince 2006 more and more industrials are interrested in GmshOnly a few ( 15) are commiting in the sourceA lot of users are active on the mailing list

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle C Geuzaine G Compegravere E MarchandiseHigh Quality Surface Remeshing Using Harmonic Maps IJNME 83pp 403-425 2010

E Marchandise MWillemet G Bricteux C Geuzaine J-F RemacleQuality meshing based on STL triangulations for biomedicalsimulations IJNMBE 83 pp 876-889 2010

E Marchandise C Carton de Wiart W Vos C Geuzaine J-FRemacleHigh Quality Surface Remeshing Using Harmonic Maps PARTIISurfaces with high genus and of large aspect ratio IJNME 86 pp1303-1321 2011

ReparametrizationCAD data is not suitable for FE analysis

Geometric models contain a lot ofpatchesExample CAD data issued formCATIATM 852 patchesAre not suitable for FE analysis

1 small model edges are present inthe patches

2 that lead to triangles of poorquality

Reparametrize through existingpatches could be highly useful

1 291 surface patches remaining2 suitable CFD mesh build from

remeshed surface

Remeshingbased on cross-patch parametrizationMarcum 1999 Aftomosis 1999

ReparametrizationCAD data is not suitable for FE analysis

Geometric models contain a lot ofpatchesExample CAD data issued formCATIATM 852 patchesAre not suitable for FE analysis

1 small model edges are present inthe patches

2 that lead to triangles of poorquality

Reparametrize through existingpatches could be highly useful

1 291 surface patches remaining2 suitable CFD mesh build from

remeshed surface

Remeshingbased on cross-patch parametrizationMarcum 1999 Aftomosis 1999

ReparametrizationCAD data is not suitable for FE analysis

Geometric models contain a lot ofpatchesExample CAD data issued formCATIATM 852 patchesAre not suitable for FE analysis

1 small model edges are present inthe patches

2 that lead to triangles of poorquality

Reparametrize through existingpatches could be highly useful

1 291 surface patches remaining2 suitable CFD mesh build from

remeshed surface

Remeshingbased on cross-patch parametrizationMarcum 1999 Aftomosis 1999

ReparametrizationCAD data is not suitable for FE analysis

Geometric models contain a lot ofpatchesExample CAD data issued formCATIATM 852 patchesAre not suitable for FE analysis

1 small model edges are present inthe patches

2 that lead to triangles of poorquality

Reparametrize through existingpatches could be highly useful

1 291 surface patches remaining2 suitable CFD mesh build from

remeshed surface

Remeshingbased on cross-patch parametrizationMarcum 1999 Aftomosis 1999

Reparametrization

Computing Conformal mapsThe eigenvector ulowast (Fiedler vector) associated to the smallesteigenvalue λ ie LC ulowast = λulowast is the solution to the constrainedminimization problem

ulowast = argminuute=0utu=1

utLC u (1)

Laplacian and Conformal harmonic maps

Laplacian Conformal

Automatic remeshing

a) b) c)

Remeshing algorithmCompute G = 2NB = 0ηG=0

If needed cut mesh into different partitions of zero genusRemesh the lines at the interfaces between partitionCompute mapping for every partition and remesh the partition inthe parametric space (u(x) coordinates visible for one partition)

Automatic remeshing

Different mesh partitions of a hemi-pelvis in the parametric space(conformal map)

How to partition the mesh

Partitioning a human lung of aspect ratio η= 89

Multilevel Max-cut mesh partitionnerBased on multiscale Laplace map

E Marchandise et al High Quality Surface Remeshing UsingHarmonic Maps PARTII Surfaces with high genus and of large aspectratio IJNME online Jan 2011

High quality meshing for the Laplacian harmonic map

Plot of the quality histogram with high mean quality κ= 094

Remeshed

002

004

006

008

01

012

014

0 02 04 06 08 1

Fre

quen

cyAspect ratio

STL

0

κ= αinscribed radius

circumscribed radius = 4 sin a sin b sin csin a+ sin b+ sin c

(2)

High quality meshing for the Laplacian harmonic map

Time spent in the different steps of the automatic remeshing

The total time for remeshing the initial mesh of 25k triangles is 9s

CPU time lt 100s for mesh of 1e6 elements

High quality meshing

Comparisons with other techniques for surface remeshing

a) b) c)

Figure Remeshing of human lungs a) part of the initial STL triangulationb) remeshed geometry with Mimics (after 2 steps) and c) remeshed lungbased on the Harmonic mapping remeshing procedure

High quality meshing

Remeshed Harmonic map

00200400600801

01201401601802

0 02 04 06 08 1

Fre

quen

cy

Aspect ratio

STL MimicsRemeshed Mimics 1Remeshed Mimics 2

0

Figure Remeshing of human lungs with the presented algorithm ascompared with a commercial package such as Mimics

Efficient surface remeshing

Remeshing of the bunny mesh model of 70k triangles

Remeshing Number of Partition Parametrization Total remeshingpartitions time (s) time (s) time (s)

LSCM Levy 23 30 95 minus

Eck 88 - - 335ABF++ Zayer 2 - 13 -LinABF Zayer 2 - 2 -Present work laplacian part 2 167 14 25 metis part 10 7 14 14

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alBlossom-Quad a non-uniform quadrilateral mesh generator using aminimum cost perfect matching algorithm IJNME In press 2011

J-F Remacle et alA frontal Delaunay quad mesh generator using the Linfin norm IJNMEAccepted 2011

What we aim at

Indirect approach a non-optimal matching algorithmh(xy) = 01+008sin(3x)cos(6y) 836 quads and 240 triangles

τ= 0888825 τ= 0855715

Indirect approach a full-quad approachh(xy) = 01+008sin(3x)cos(6y) only quads

τ= 0854955 τ= 0838941 τ= 0790898

Indirect approach the Blossom-Quad approach

We build G(V E c) an undirected weighted graph Here V is the setof nV vertices E is the set of nE undirected edges andc(E) =

sumc(eij) is an edge-based cost function ie the sum of all

weights associated to every edge eij isin E of the graph

Indirect approach the Blossom-Quad approach

A matching is a subset E prime sube E such that each node of V has at mostone incident edge in E prime

Indirect approach the Blossom-Quad approach

A matching is perfect if each node of V has exactly one incident edgein E prime A perfect matching is optimum if c(E prime) is minimum among allpossible perfect matchings

eij

ti

tj

Indirect approach the Blossom-Quad approach

In 1965 Edmonds invented the Blossom algorithm that solves theproblem of optimum perfect matching in polynomial time Astraightforward implementation of Edmondsrsquos algorithm requiresO(n2

V nE) operationsSince then the worst-case complexity of the Blossom algorithmhas been steadily improving Both Lawler and Gabow achieved arunning time of O(n3

V ) Galil Micali and Gabow improved it toO(nV nE log(nV )) The current best known result in terms of nVand nE is O(nV (nE + lognV ))There is also a long history of computer implementations of theBlossom algorithm starting with the Blossom I code ofEdmonds Johnson and Lockhart In this paper ourimplementation makes use of the Blossom IV code of Cook andRohe1 that has been considered for several years as the fastestavailable implementation of the Blossom algorithm Gmshredistributes this piece of code

1httpwww2isyegatecheduwcookblossom4

Indirect approach Blossom-Quadh(xy) = 01+008sin(3x)cos(6y) only quads

τ= 0888825 τ= 0839313

Existence of perfect matchings

There is no guarantee that even one single perfect matchingexists in a given graphConsider the meshes below It is obvious that no perfectmatching exists for the coarsest oneThe following result known as Tuttersquos theorem proves that noneof the two meshes contains a perfect matching

The Blossom-Quad algorithm

Initial Raw Blossom Vertex Topological Finaltriangulation application smoothing optimization mesh

Quad mesh generation applied to STL modelsh(~x) = 2πR(~x)

Np with R(~x) = 1

κ(~x) NP = 50

Stanford Bunny Aneurysm

Quad mesh generation applied to STL models

τ= 0842549 τ= 0856247

The overall remeshing procedure for both STL examples takesonly 20s (5s for the Blossom-Quad)The quad-dominant meshing algorithm of [Levy et al] takes 271sfor the remeshing of the Stanford bunny

Anisotropic quad mesh generation applied to aparametric model

Anisotropic mesh

Anisotropic metricBuild an anisotropic triangular meshReimannian metric is used to measure distancesHere principal directions of the curvature tensor are used

Indirect approach an obvious problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Cross Fields

ycross

x

y

xcrossθ

The Linfin norm is not invariant by rotation rarr quads should beorientedA cross field (in 2D) is a scalar field θ(u) that gives theorientations of a local system of axis at point u in the parameterplaneThe local value of the cross field θ(uv) is defined only up torotations by π2 we choose to propagate

α(uv) = a(uv)+ ib(uv) = e4iθ(uv)

through a harmonic map

Perpendicular bisectors in the Linfin-norm

Lequiv y +(yo minusxp) = x

x

y

x2 = (xpyp)

(00)

α lt π4

(0xp minusyp)

x3 = (minusxp2xp minusyp)

x1 = (minusxpminusyp)

Bisector of two points x1 = (minusxpminusyp) and x2 = (xpyp) using theLinfin-norm

Circumcenter circumradius and circumcircle

ycross

x3

xcross

Ti

xcθ

R(T θ)

x1

x2

Circumcenter xc of a triangle using the Linfin-norm and circumcircle(red dotted square)

Delaunay and Voronoiuml

Voronoi diagram (dark lines) and Delaunay triangulation both in theLinfin norm

A frontal-Delaunay mesher in the Linfin-norm

The frontal-delaunay technique is based on

Rebay S Efficient unstructured mesh generation by means ofdelaunay triangulation and bowyer-watson algorithm Journal ofComputational Physics 1993 106(1)125ndash138

A frontal-Delaunay mesher in the Linfin-norm

Active

Edge of the front

Resolved

x1

Cn

Cl

L

x3 = (minusxpyp)

x2 = (xpminusyp)

x4

xc

xm

xl

xn

xe

x

y

Illustration of the point insertion algorithm

Car Hood

(a) (b) (c)Conformal reparametrization of a car hood Figure (a) shows the

CAD decomposition of the hood into 18 Beacutezier surfaces and the initialconforming mesh Figure (b) shows the result of the conformal

reparametrization ie isolines of u and v on the whole hood Figure(c) shows the projection of the initial mesh on the parameter plane u

Car Hood18 J-F REMACLE ET AL

(F) (FB) (FLB)

(D) (DB) (DLB)

N η ηw τ() d4() dmax

(FB) 1726 077 037 86 71 6(FLB) 1744 086 039 87 81 5(DB) 1527 090 037 93 81 5

(DLB) 1543 091 043 94 83 5

Figure 15 Pictures of different meshes of the car hood as well as mesh statistics

fields on all surfaces and the conformal reparametrization of all non planar surfaces The meshstatistics are as follows τ = 97 d4 = 91 dmax = 6 η = 095 ηw = 01 The mesh generatedby our approach for some of the planar and cylindrical surfaces of this particular geometry wasa structured mesh This happened however automatically without user interaction or internalheuristics of the mesher This explains the exceptionnaly high value of τ and η in this specificproblem

82 Falcon aircraft

As a second example the Falcon aircraft of Figure 17 is considered A surface mesh has beengenerated using a standard surface mesher whose triangles were patched together to create thecompounds of surfaces represented with different colors in the figure Each compound surfacehas been reparametrized separately by means of a conformal map created using the techniquesdescribed in [6 10 11 12] The mesh size field is composed of a uniform bulk size field δb = 01augmented with line and point sources at critical zones of the aircraft as depicted on Figure 17

The images of the different surfaces in their respective parameter plane can be seen onFigure 18 The resulting mesh is presented on Figure 19 The mesh is composed of 53297

Copyright c 2010 John Wiley amp Sons Ltd Int J Numer Meth Engng 2010 001ndash6Prepared using nmeauthcls

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Parametrizations of the surfaces of the Falcon aircraft in the uvplane

Falcon

Falcon

Falcon

Falcon

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alGeometrical Validity of Curvilinear Finite Elements IJNME Inpreparation 2011

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Roadmap for Gmsh 30

Complete re-build of the GUIUse Qt (a first demo version should be available in 2011)More flexibility reconfigurable GUI (OnleLab project) trueplugins remote control through sockets

Meshing capabilities enhancedCurvilinear meshes (p = 2 and p = 3 in 2011)Hex dominant meshing (DomHex project)Boundary layers (already ok for surface meshes) pyramids (evenfor high order)

Python API has to be cleaned and documented

  • History
  • Strategy
  • Research
    • Reparametrization
    • Quad meshing
    • Curvilinear meshing
      • Perspectives
Page 5: An Overview of the GMSH project

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Strategic choices

Programming LanguageGmsh is written only in C++We try to impose some kind of programming style

Files functions and variables namingsUniform file indentingAvoid exotic C++ constructs (Partial Template Specializationmultiple inheritance)

Third party softwaresThe building system allows to ONOFF any 3rd partycontributionUse standard packaging tools for installation (macportsapt-get) FLTK OpenMPI PETSc SLEPcSWIG-PYTHONIf possible re-distribute METIS NETGEN ANN Chacobamg MathExOthers are more tricky OCC TAUCS TETGEN Concorde

Strategic choices

Building system and related toolsCMake is the building system of Gmsh since 2010Management amp community tools

Automated nightly builds are available for Linux Mac OSX andWindowsTwo mailing lists are maintainedA a time line of changes and the bug tracking database ismaintained

DocumentationA basic web site is maintained (httpwwwgeuzorggmsh)A complete user-documentation is availableA tutorial introducing all key features and concepts is included inall the versions in the tutorial directoryScientific aspects of algorithms are detailed in journal papersA programmerrsquos guide is high on our todo list

Strategic choices

LicensingGMSH is licensed under the GPL

The GPL is viral (thatrsquos Microsoftrsquos interpretation)In reality the GPL is a very good protection for the (2)copyrightrsquos owners

Double-licensingAllow to include parts of the software in closed source

Third party softwaresAll 3rd party softwares have to be compatible with the GPL ifredistributed

No problem with LGPL third parties (ANN)Some specific arrangements have been done with G Karypis(Metis) or with F Hecht (Bamg)

Some 3rd party softwares are NOT compatible NETGENConcorde A great care has to be taken in order to maintain thatcompatibility

Strategic choices

The CommunityThere are more than 1000 daily users of Gmsh regarding to themailing listSince 2006 more and more industrials are interrested in GmshOnly a few ( 15) are commiting in the sourceA lot of users are active on the mailing list

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle C Geuzaine G Compegravere E MarchandiseHigh Quality Surface Remeshing Using Harmonic Maps IJNME 83pp 403-425 2010

E Marchandise MWillemet G Bricteux C Geuzaine J-F RemacleQuality meshing based on STL triangulations for biomedicalsimulations IJNMBE 83 pp 876-889 2010

E Marchandise C Carton de Wiart W Vos C Geuzaine J-FRemacleHigh Quality Surface Remeshing Using Harmonic Maps PARTIISurfaces with high genus and of large aspect ratio IJNME 86 pp1303-1321 2011

ReparametrizationCAD data is not suitable for FE analysis

Geometric models contain a lot ofpatchesExample CAD data issued formCATIATM 852 patchesAre not suitable for FE analysis

1 small model edges are present inthe patches

2 that lead to triangles of poorquality

Reparametrize through existingpatches could be highly useful

1 291 surface patches remaining2 suitable CFD mesh build from

remeshed surface

Remeshingbased on cross-patch parametrizationMarcum 1999 Aftomosis 1999

ReparametrizationCAD data is not suitable for FE analysis

Geometric models contain a lot ofpatchesExample CAD data issued formCATIATM 852 patchesAre not suitable for FE analysis

1 small model edges are present inthe patches

2 that lead to triangles of poorquality

Reparametrize through existingpatches could be highly useful

1 291 surface patches remaining2 suitable CFD mesh build from

remeshed surface

Remeshingbased on cross-patch parametrizationMarcum 1999 Aftomosis 1999

ReparametrizationCAD data is not suitable for FE analysis

Geometric models contain a lot ofpatchesExample CAD data issued formCATIATM 852 patchesAre not suitable for FE analysis

1 small model edges are present inthe patches

2 that lead to triangles of poorquality

Reparametrize through existingpatches could be highly useful

1 291 surface patches remaining2 suitable CFD mesh build from

remeshed surface

Remeshingbased on cross-patch parametrizationMarcum 1999 Aftomosis 1999

ReparametrizationCAD data is not suitable for FE analysis

Geometric models contain a lot ofpatchesExample CAD data issued formCATIATM 852 patchesAre not suitable for FE analysis

1 small model edges are present inthe patches

2 that lead to triangles of poorquality

Reparametrize through existingpatches could be highly useful

1 291 surface patches remaining2 suitable CFD mesh build from

remeshed surface

Remeshingbased on cross-patch parametrizationMarcum 1999 Aftomosis 1999

Reparametrization

Computing Conformal mapsThe eigenvector ulowast (Fiedler vector) associated to the smallesteigenvalue λ ie LC ulowast = λulowast is the solution to the constrainedminimization problem

ulowast = argminuute=0utu=1

utLC u (1)

Laplacian and Conformal harmonic maps

Laplacian Conformal

Automatic remeshing

a) b) c)

Remeshing algorithmCompute G = 2NB = 0ηG=0

If needed cut mesh into different partitions of zero genusRemesh the lines at the interfaces between partitionCompute mapping for every partition and remesh the partition inthe parametric space (u(x) coordinates visible for one partition)

Automatic remeshing

Different mesh partitions of a hemi-pelvis in the parametric space(conformal map)

How to partition the mesh

Partitioning a human lung of aspect ratio η= 89

Multilevel Max-cut mesh partitionnerBased on multiscale Laplace map

E Marchandise et al High Quality Surface Remeshing UsingHarmonic Maps PARTII Surfaces with high genus and of large aspectratio IJNME online Jan 2011

High quality meshing for the Laplacian harmonic map

Plot of the quality histogram with high mean quality κ= 094

Remeshed

002

004

006

008

01

012

014

0 02 04 06 08 1

Fre

quen

cyAspect ratio

STL

0

κ= αinscribed radius

circumscribed radius = 4 sin a sin b sin csin a+ sin b+ sin c

(2)

High quality meshing for the Laplacian harmonic map

Time spent in the different steps of the automatic remeshing

The total time for remeshing the initial mesh of 25k triangles is 9s

CPU time lt 100s for mesh of 1e6 elements

High quality meshing

Comparisons with other techniques for surface remeshing

a) b) c)

Figure Remeshing of human lungs a) part of the initial STL triangulationb) remeshed geometry with Mimics (after 2 steps) and c) remeshed lungbased on the Harmonic mapping remeshing procedure

High quality meshing

Remeshed Harmonic map

00200400600801

01201401601802

0 02 04 06 08 1

Fre

quen

cy

Aspect ratio

STL MimicsRemeshed Mimics 1Remeshed Mimics 2

0

Figure Remeshing of human lungs with the presented algorithm ascompared with a commercial package such as Mimics

Efficient surface remeshing

Remeshing of the bunny mesh model of 70k triangles

Remeshing Number of Partition Parametrization Total remeshingpartitions time (s) time (s) time (s)

LSCM Levy 23 30 95 minus

Eck 88 - - 335ABF++ Zayer 2 - 13 -LinABF Zayer 2 - 2 -Present work laplacian part 2 167 14 25 metis part 10 7 14 14

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alBlossom-Quad a non-uniform quadrilateral mesh generator using aminimum cost perfect matching algorithm IJNME In press 2011

J-F Remacle et alA frontal Delaunay quad mesh generator using the Linfin norm IJNMEAccepted 2011

What we aim at

Indirect approach a non-optimal matching algorithmh(xy) = 01+008sin(3x)cos(6y) 836 quads and 240 triangles

τ= 0888825 τ= 0855715

Indirect approach a full-quad approachh(xy) = 01+008sin(3x)cos(6y) only quads

τ= 0854955 τ= 0838941 τ= 0790898

Indirect approach the Blossom-Quad approach

We build G(V E c) an undirected weighted graph Here V is the setof nV vertices E is the set of nE undirected edges andc(E) =

sumc(eij) is an edge-based cost function ie the sum of all

weights associated to every edge eij isin E of the graph

Indirect approach the Blossom-Quad approach

A matching is a subset E prime sube E such that each node of V has at mostone incident edge in E prime

Indirect approach the Blossom-Quad approach

A matching is perfect if each node of V has exactly one incident edgein E prime A perfect matching is optimum if c(E prime) is minimum among allpossible perfect matchings

eij

ti

tj

Indirect approach the Blossom-Quad approach

In 1965 Edmonds invented the Blossom algorithm that solves theproblem of optimum perfect matching in polynomial time Astraightforward implementation of Edmondsrsquos algorithm requiresO(n2

V nE) operationsSince then the worst-case complexity of the Blossom algorithmhas been steadily improving Both Lawler and Gabow achieved arunning time of O(n3

V ) Galil Micali and Gabow improved it toO(nV nE log(nV )) The current best known result in terms of nVand nE is O(nV (nE + lognV ))There is also a long history of computer implementations of theBlossom algorithm starting with the Blossom I code ofEdmonds Johnson and Lockhart In this paper ourimplementation makes use of the Blossom IV code of Cook andRohe1 that has been considered for several years as the fastestavailable implementation of the Blossom algorithm Gmshredistributes this piece of code

1httpwww2isyegatecheduwcookblossom4

Indirect approach Blossom-Quadh(xy) = 01+008sin(3x)cos(6y) only quads

τ= 0888825 τ= 0839313

Existence of perfect matchings

There is no guarantee that even one single perfect matchingexists in a given graphConsider the meshes below It is obvious that no perfectmatching exists for the coarsest oneThe following result known as Tuttersquos theorem proves that noneof the two meshes contains a perfect matching

The Blossom-Quad algorithm

Initial Raw Blossom Vertex Topological Finaltriangulation application smoothing optimization mesh

Quad mesh generation applied to STL modelsh(~x) = 2πR(~x)

Np with R(~x) = 1

κ(~x) NP = 50

Stanford Bunny Aneurysm

Quad mesh generation applied to STL models

τ= 0842549 τ= 0856247

The overall remeshing procedure for both STL examples takesonly 20s (5s for the Blossom-Quad)The quad-dominant meshing algorithm of [Levy et al] takes 271sfor the remeshing of the Stanford bunny

Anisotropic quad mesh generation applied to aparametric model

Anisotropic mesh

Anisotropic metricBuild an anisotropic triangular meshReimannian metric is used to measure distancesHere principal directions of the curvature tensor are used

Indirect approach an obvious problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Cross Fields

ycross

x

y

xcrossθ

The Linfin norm is not invariant by rotation rarr quads should beorientedA cross field (in 2D) is a scalar field θ(u) that gives theorientations of a local system of axis at point u in the parameterplaneThe local value of the cross field θ(uv) is defined only up torotations by π2 we choose to propagate

α(uv) = a(uv)+ ib(uv) = e4iθ(uv)

through a harmonic map

Perpendicular bisectors in the Linfin-norm

Lequiv y +(yo minusxp) = x

x

y

x2 = (xpyp)

(00)

α lt π4

(0xp minusyp)

x3 = (minusxp2xp minusyp)

x1 = (minusxpminusyp)

Bisector of two points x1 = (minusxpminusyp) and x2 = (xpyp) using theLinfin-norm

Circumcenter circumradius and circumcircle

ycross

x3

xcross

Ti

xcθ

R(T θ)

x1

x2

Circumcenter xc of a triangle using the Linfin-norm and circumcircle(red dotted square)

Delaunay and Voronoiuml

Voronoi diagram (dark lines) and Delaunay triangulation both in theLinfin norm

A frontal-Delaunay mesher in the Linfin-norm

The frontal-delaunay technique is based on

Rebay S Efficient unstructured mesh generation by means ofdelaunay triangulation and bowyer-watson algorithm Journal ofComputational Physics 1993 106(1)125ndash138

A frontal-Delaunay mesher in the Linfin-norm

Active

Edge of the front

Resolved

x1

Cn

Cl

L

x3 = (minusxpyp)

x2 = (xpminusyp)

x4

xc

xm

xl

xn

xe

x

y

Illustration of the point insertion algorithm

Car Hood

(a) (b) (c)Conformal reparametrization of a car hood Figure (a) shows the

CAD decomposition of the hood into 18 Beacutezier surfaces and the initialconforming mesh Figure (b) shows the result of the conformal

reparametrization ie isolines of u and v on the whole hood Figure(c) shows the projection of the initial mesh on the parameter plane u

Car Hood18 J-F REMACLE ET AL

(F) (FB) (FLB)

(D) (DB) (DLB)

N η ηw τ() d4() dmax

(FB) 1726 077 037 86 71 6(FLB) 1744 086 039 87 81 5(DB) 1527 090 037 93 81 5

(DLB) 1543 091 043 94 83 5

Figure 15 Pictures of different meshes of the car hood as well as mesh statistics

fields on all surfaces and the conformal reparametrization of all non planar surfaces The meshstatistics are as follows τ = 97 d4 = 91 dmax = 6 η = 095 ηw = 01 The mesh generatedby our approach for some of the planar and cylindrical surfaces of this particular geometry wasa structured mesh This happened however automatically without user interaction or internalheuristics of the mesher This explains the exceptionnaly high value of τ and η in this specificproblem

82 Falcon aircraft

As a second example the Falcon aircraft of Figure 17 is considered A surface mesh has beengenerated using a standard surface mesher whose triangles were patched together to create thecompounds of surfaces represented with different colors in the figure Each compound surfacehas been reparametrized separately by means of a conformal map created using the techniquesdescribed in [6 10 11 12] The mesh size field is composed of a uniform bulk size field δb = 01augmented with line and point sources at critical zones of the aircraft as depicted on Figure 17

The images of the different surfaces in their respective parameter plane can be seen onFigure 18 The resulting mesh is presented on Figure 19 The mesh is composed of 53297

Copyright c 2010 John Wiley amp Sons Ltd Int J Numer Meth Engng 2010 001ndash6Prepared using nmeauthcls

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Parametrizations of the surfaces of the Falcon aircraft in the uvplane

Falcon

Falcon

Falcon

Falcon

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alGeometrical Validity of Curvilinear Finite Elements IJNME Inpreparation 2011

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Roadmap for Gmsh 30

Complete re-build of the GUIUse Qt (a first demo version should be available in 2011)More flexibility reconfigurable GUI (OnleLab project) trueplugins remote control through sockets

Meshing capabilities enhancedCurvilinear meshes (p = 2 and p = 3 in 2011)Hex dominant meshing (DomHex project)Boundary layers (already ok for surface meshes) pyramids (evenfor high order)

Python API has to be cleaned and documented

  • History
  • Strategy
  • Research
    • Reparametrization
    • Quad meshing
    • Curvilinear meshing
      • Perspectives
Page 6: An Overview of the GMSH project

Strategic choices

Programming LanguageGmsh is written only in C++We try to impose some kind of programming style

Files functions and variables namingsUniform file indentingAvoid exotic C++ constructs (Partial Template Specializationmultiple inheritance)

Third party softwaresThe building system allows to ONOFF any 3rd partycontributionUse standard packaging tools for installation (macportsapt-get) FLTK OpenMPI PETSc SLEPcSWIG-PYTHONIf possible re-distribute METIS NETGEN ANN Chacobamg MathExOthers are more tricky OCC TAUCS TETGEN Concorde

Strategic choices

Building system and related toolsCMake is the building system of Gmsh since 2010Management amp community tools

Automated nightly builds are available for Linux Mac OSX andWindowsTwo mailing lists are maintainedA a time line of changes and the bug tracking database ismaintained

DocumentationA basic web site is maintained (httpwwwgeuzorggmsh)A complete user-documentation is availableA tutorial introducing all key features and concepts is included inall the versions in the tutorial directoryScientific aspects of algorithms are detailed in journal papersA programmerrsquos guide is high on our todo list

Strategic choices

LicensingGMSH is licensed under the GPL

The GPL is viral (thatrsquos Microsoftrsquos interpretation)In reality the GPL is a very good protection for the (2)copyrightrsquos owners

Double-licensingAllow to include parts of the software in closed source

Third party softwaresAll 3rd party softwares have to be compatible with the GPL ifredistributed

No problem with LGPL third parties (ANN)Some specific arrangements have been done with G Karypis(Metis) or with F Hecht (Bamg)

Some 3rd party softwares are NOT compatible NETGENConcorde A great care has to be taken in order to maintain thatcompatibility

Strategic choices

The CommunityThere are more than 1000 daily users of Gmsh regarding to themailing listSince 2006 more and more industrials are interrested in GmshOnly a few ( 15) are commiting in the sourceA lot of users are active on the mailing list

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle C Geuzaine G Compegravere E MarchandiseHigh Quality Surface Remeshing Using Harmonic Maps IJNME 83pp 403-425 2010

E Marchandise MWillemet G Bricteux C Geuzaine J-F RemacleQuality meshing based on STL triangulations for biomedicalsimulations IJNMBE 83 pp 876-889 2010

E Marchandise C Carton de Wiart W Vos C Geuzaine J-FRemacleHigh Quality Surface Remeshing Using Harmonic Maps PARTIISurfaces with high genus and of large aspect ratio IJNME 86 pp1303-1321 2011

ReparametrizationCAD data is not suitable for FE analysis

Geometric models contain a lot ofpatchesExample CAD data issued formCATIATM 852 patchesAre not suitable for FE analysis

1 small model edges are present inthe patches

2 that lead to triangles of poorquality

Reparametrize through existingpatches could be highly useful

1 291 surface patches remaining2 suitable CFD mesh build from

remeshed surface

Remeshingbased on cross-patch parametrizationMarcum 1999 Aftomosis 1999

ReparametrizationCAD data is not suitable for FE analysis

Geometric models contain a lot ofpatchesExample CAD data issued formCATIATM 852 patchesAre not suitable for FE analysis

1 small model edges are present inthe patches

2 that lead to triangles of poorquality

Reparametrize through existingpatches could be highly useful

1 291 surface patches remaining2 suitable CFD mesh build from

remeshed surface

Remeshingbased on cross-patch parametrizationMarcum 1999 Aftomosis 1999

ReparametrizationCAD data is not suitable for FE analysis

Geometric models contain a lot ofpatchesExample CAD data issued formCATIATM 852 patchesAre not suitable for FE analysis

1 small model edges are present inthe patches

2 that lead to triangles of poorquality

Reparametrize through existingpatches could be highly useful

1 291 surface patches remaining2 suitable CFD mesh build from

remeshed surface

Remeshingbased on cross-patch parametrizationMarcum 1999 Aftomosis 1999

ReparametrizationCAD data is not suitable for FE analysis

Geometric models contain a lot ofpatchesExample CAD data issued formCATIATM 852 patchesAre not suitable for FE analysis

1 small model edges are present inthe patches

2 that lead to triangles of poorquality

Reparametrize through existingpatches could be highly useful

1 291 surface patches remaining2 suitable CFD mesh build from

remeshed surface

Remeshingbased on cross-patch parametrizationMarcum 1999 Aftomosis 1999

Reparametrization

Computing Conformal mapsThe eigenvector ulowast (Fiedler vector) associated to the smallesteigenvalue λ ie LC ulowast = λulowast is the solution to the constrainedminimization problem

ulowast = argminuute=0utu=1

utLC u (1)

Laplacian and Conformal harmonic maps

Laplacian Conformal

Automatic remeshing

a) b) c)

Remeshing algorithmCompute G = 2NB = 0ηG=0

If needed cut mesh into different partitions of zero genusRemesh the lines at the interfaces between partitionCompute mapping for every partition and remesh the partition inthe parametric space (u(x) coordinates visible for one partition)

Automatic remeshing

Different mesh partitions of a hemi-pelvis in the parametric space(conformal map)

How to partition the mesh

Partitioning a human lung of aspect ratio η= 89

Multilevel Max-cut mesh partitionnerBased on multiscale Laplace map

E Marchandise et al High Quality Surface Remeshing UsingHarmonic Maps PARTII Surfaces with high genus and of large aspectratio IJNME online Jan 2011

High quality meshing for the Laplacian harmonic map

Plot of the quality histogram with high mean quality κ= 094

Remeshed

002

004

006

008

01

012

014

0 02 04 06 08 1

Fre

quen

cyAspect ratio

STL

0

κ= αinscribed radius

circumscribed radius = 4 sin a sin b sin csin a+ sin b+ sin c

(2)

High quality meshing for the Laplacian harmonic map

Time spent in the different steps of the automatic remeshing

The total time for remeshing the initial mesh of 25k triangles is 9s

CPU time lt 100s for mesh of 1e6 elements

High quality meshing

Comparisons with other techniques for surface remeshing

a) b) c)

Figure Remeshing of human lungs a) part of the initial STL triangulationb) remeshed geometry with Mimics (after 2 steps) and c) remeshed lungbased on the Harmonic mapping remeshing procedure

High quality meshing

Remeshed Harmonic map

00200400600801

01201401601802

0 02 04 06 08 1

Fre

quen

cy

Aspect ratio

STL MimicsRemeshed Mimics 1Remeshed Mimics 2

0

Figure Remeshing of human lungs with the presented algorithm ascompared with a commercial package such as Mimics

Efficient surface remeshing

Remeshing of the bunny mesh model of 70k triangles

Remeshing Number of Partition Parametrization Total remeshingpartitions time (s) time (s) time (s)

LSCM Levy 23 30 95 minus

Eck 88 - - 335ABF++ Zayer 2 - 13 -LinABF Zayer 2 - 2 -Present work laplacian part 2 167 14 25 metis part 10 7 14 14

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alBlossom-Quad a non-uniform quadrilateral mesh generator using aminimum cost perfect matching algorithm IJNME In press 2011

J-F Remacle et alA frontal Delaunay quad mesh generator using the Linfin norm IJNMEAccepted 2011

What we aim at

Indirect approach a non-optimal matching algorithmh(xy) = 01+008sin(3x)cos(6y) 836 quads and 240 triangles

τ= 0888825 τ= 0855715

Indirect approach a full-quad approachh(xy) = 01+008sin(3x)cos(6y) only quads

τ= 0854955 τ= 0838941 τ= 0790898

Indirect approach the Blossom-Quad approach

We build G(V E c) an undirected weighted graph Here V is the setof nV vertices E is the set of nE undirected edges andc(E) =

sumc(eij) is an edge-based cost function ie the sum of all

weights associated to every edge eij isin E of the graph

Indirect approach the Blossom-Quad approach

A matching is a subset E prime sube E such that each node of V has at mostone incident edge in E prime

Indirect approach the Blossom-Quad approach

A matching is perfect if each node of V has exactly one incident edgein E prime A perfect matching is optimum if c(E prime) is minimum among allpossible perfect matchings

eij

ti

tj

Indirect approach the Blossom-Quad approach

In 1965 Edmonds invented the Blossom algorithm that solves theproblem of optimum perfect matching in polynomial time Astraightforward implementation of Edmondsrsquos algorithm requiresO(n2

V nE) operationsSince then the worst-case complexity of the Blossom algorithmhas been steadily improving Both Lawler and Gabow achieved arunning time of O(n3

V ) Galil Micali and Gabow improved it toO(nV nE log(nV )) The current best known result in terms of nVand nE is O(nV (nE + lognV ))There is also a long history of computer implementations of theBlossom algorithm starting with the Blossom I code ofEdmonds Johnson and Lockhart In this paper ourimplementation makes use of the Blossom IV code of Cook andRohe1 that has been considered for several years as the fastestavailable implementation of the Blossom algorithm Gmshredistributes this piece of code

1httpwww2isyegatecheduwcookblossom4

Indirect approach Blossom-Quadh(xy) = 01+008sin(3x)cos(6y) only quads

τ= 0888825 τ= 0839313

Existence of perfect matchings

There is no guarantee that even one single perfect matchingexists in a given graphConsider the meshes below It is obvious that no perfectmatching exists for the coarsest oneThe following result known as Tuttersquos theorem proves that noneof the two meshes contains a perfect matching

The Blossom-Quad algorithm

Initial Raw Blossom Vertex Topological Finaltriangulation application smoothing optimization mesh

Quad mesh generation applied to STL modelsh(~x) = 2πR(~x)

Np with R(~x) = 1

κ(~x) NP = 50

Stanford Bunny Aneurysm

Quad mesh generation applied to STL models

τ= 0842549 τ= 0856247

The overall remeshing procedure for both STL examples takesonly 20s (5s for the Blossom-Quad)The quad-dominant meshing algorithm of [Levy et al] takes 271sfor the remeshing of the Stanford bunny

Anisotropic quad mesh generation applied to aparametric model

Anisotropic mesh

Anisotropic metricBuild an anisotropic triangular meshReimannian metric is used to measure distancesHere principal directions of the curvature tensor are used

Indirect approach an obvious problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Cross Fields

ycross

x

y

xcrossθ

The Linfin norm is not invariant by rotation rarr quads should beorientedA cross field (in 2D) is a scalar field θ(u) that gives theorientations of a local system of axis at point u in the parameterplaneThe local value of the cross field θ(uv) is defined only up torotations by π2 we choose to propagate

α(uv) = a(uv)+ ib(uv) = e4iθ(uv)

through a harmonic map

Perpendicular bisectors in the Linfin-norm

Lequiv y +(yo minusxp) = x

x

y

x2 = (xpyp)

(00)

α lt π4

(0xp minusyp)

x3 = (minusxp2xp minusyp)

x1 = (minusxpminusyp)

Bisector of two points x1 = (minusxpminusyp) and x2 = (xpyp) using theLinfin-norm

Circumcenter circumradius and circumcircle

ycross

x3

xcross

Ti

xcθ

R(T θ)

x1

x2

Circumcenter xc of a triangle using the Linfin-norm and circumcircle(red dotted square)

Delaunay and Voronoiuml

Voronoi diagram (dark lines) and Delaunay triangulation both in theLinfin norm

A frontal-Delaunay mesher in the Linfin-norm

The frontal-delaunay technique is based on

Rebay S Efficient unstructured mesh generation by means ofdelaunay triangulation and bowyer-watson algorithm Journal ofComputational Physics 1993 106(1)125ndash138

A frontal-Delaunay mesher in the Linfin-norm

Active

Edge of the front

Resolved

x1

Cn

Cl

L

x3 = (minusxpyp)

x2 = (xpminusyp)

x4

xc

xm

xl

xn

xe

x

y

Illustration of the point insertion algorithm

Car Hood

(a) (b) (c)Conformal reparametrization of a car hood Figure (a) shows the

CAD decomposition of the hood into 18 Beacutezier surfaces and the initialconforming mesh Figure (b) shows the result of the conformal

reparametrization ie isolines of u and v on the whole hood Figure(c) shows the projection of the initial mesh on the parameter plane u

Car Hood18 J-F REMACLE ET AL

(F) (FB) (FLB)

(D) (DB) (DLB)

N η ηw τ() d4() dmax

(FB) 1726 077 037 86 71 6(FLB) 1744 086 039 87 81 5(DB) 1527 090 037 93 81 5

(DLB) 1543 091 043 94 83 5

Figure 15 Pictures of different meshes of the car hood as well as mesh statistics

fields on all surfaces and the conformal reparametrization of all non planar surfaces The meshstatistics are as follows τ = 97 d4 = 91 dmax = 6 η = 095 ηw = 01 The mesh generatedby our approach for some of the planar and cylindrical surfaces of this particular geometry wasa structured mesh This happened however automatically without user interaction or internalheuristics of the mesher This explains the exceptionnaly high value of τ and η in this specificproblem

82 Falcon aircraft

As a second example the Falcon aircraft of Figure 17 is considered A surface mesh has beengenerated using a standard surface mesher whose triangles were patched together to create thecompounds of surfaces represented with different colors in the figure Each compound surfacehas been reparametrized separately by means of a conformal map created using the techniquesdescribed in [6 10 11 12] The mesh size field is composed of a uniform bulk size field δb = 01augmented with line and point sources at critical zones of the aircraft as depicted on Figure 17

The images of the different surfaces in their respective parameter plane can be seen onFigure 18 The resulting mesh is presented on Figure 19 The mesh is composed of 53297

Copyright c 2010 John Wiley amp Sons Ltd Int J Numer Meth Engng 2010 001ndash6Prepared using nmeauthcls

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Parametrizations of the surfaces of the Falcon aircraft in the uvplane

Falcon

Falcon

Falcon

Falcon

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alGeometrical Validity of Curvilinear Finite Elements IJNME Inpreparation 2011

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Roadmap for Gmsh 30

Complete re-build of the GUIUse Qt (a first demo version should be available in 2011)More flexibility reconfigurable GUI (OnleLab project) trueplugins remote control through sockets

Meshing capabilities enhancedCurvilinear meshes (p = 2 and p = 3 in 2011)Hex dominant meshing (DomHex project)Boundary layers (already ok for surface meshes) pyramids (evenfor high order)

Python API has to be cleaned and documented

  • History
  • Strategy
  • Research
    • Reparametrization
    • Quad meshing
    • Curvilinear meshing
      • Perspectives
Page 7: An Overview of the GMSH project

Strategic choices

Building system and related toolsCMake is the building system of Gmsh since 2010Management amp community tools

Automated nightly builds are available for Linux Mac OSX andWindowsTwo mailing lists are maintainedA a time line of changes and the bug tracking database ismaintained

DocumentationA basic web site is maintained (httpwwwgeuzorggmsh)A complete user-documentation is availableA tutorial introducing all key features and concepts is included inall the versions in the tutorial directoryScientific aspects of algorithms are detailed in journal papersA programmerrsquos guide is high on our todo list

Strategic choices

LicensingGMSH is licensed under the GPL

The GPL is viral (thatrsquos Microsoftrsquos interpretation)In reality the GPL is a very good protection for the (2)copyrightrsquos owners

Double-licensingAllow to include parts of the software in closed source

Third party softwaresAll 3rd party softwares have to be compatible with the GPL ifredistributed

No problem with LGPL third parties (ANN)Some specific arrangements have been done with G Karypis(Metis) or with F Hecht (Bamg)

Some 3rd party softwares are NOT compatible NETGENConcorde A great care has to be taken in order to maintain thatcompatibility

Strategic choices

The CommunityThere are more than 1000 daily users of Gmsh regarding to themailing listSince 2006 more and more industrials are interrested in GmshOnly a few ( 15) are commiting in the sourceA lot of users are active on the mailing list

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle C Geuzaine G Compegravere E MarchandiseHigh Quality Surface Remeshing Using Harmonic Maps IJNME 83pp 403-425 2010

E Marchandise MWillemet G Bricteux C Geuzaine J-F RemacleQuality meshing based on STL triangulations for biomedicalsimulations IJNMBE 83 pp 876-889 2010

E Marchandise C Carton de Wiart W Vos C Geuzaine J-FRemacleHigh Quality Surface Remeshing Using Harmonic Maps PARTIISurfaces with high genus and of large aspect ratio IJNME 86 pp1303-1321 2011

ReparametrizationCAD data is not suitable for FE analysis

Geometric models contain a lot ofpatchesExample CAD data issued formCATIATM 852 patchesAre not suitable for FE analysis

1 small model edges are present inthe patches

2 that lead to triangles of poorquality

Reparametrize through existingpatches could be highly useful

1 291 surface patches remaining2 suitable CFD mesh build from

remeshed surface

Remeshingbased on cross-patch parametrizationMarcum 1999 Aftomosis 1999

ReparametrizationCAD data is not suitable for FE analysis

Geometric models contain a lot ofpatchesExample CAD data issued formCATIATM 852 patchesAre not suitable for FE analysis

1 small model edges are present inthe patches

2 that lead to triangles of poorquality

Reparametrize through existingpatches could be highly useful

1 291 surface patches remaining2 suitable CFD mesh build from

remeshed surface

Remeshingbased on cross-patch parametrizationMarcum 1999 Aftomosis 1999

ReparametrizationCAD data is not suitable for FE analysis

Geometric models contain a lot ofpatchesExample CAD data issued formCATIATM 852 patchesAre not suitable for FE analysis

1 small model edges are present inthe patches

2 that lead to triangles of poorquality

Reparametrize through existingpatches could be highly useful

1 291 surface patches remaining2 suitable CFD mesh build from

remeshed surface

Remeshingbased on cross-patch parametrizationMarcum 1999 Aftomosis 1999

ReparametrizationCAD data is not suitable for FE analysis

Geometric models contain a lot ofpatchesExample CAD data issued formCATIATM 852 patchesAre not suitable for FE analysis

1 small model edges are present inthe patches

2 that lead to triangles of poorquality

Reparametrize through existingpatches could be highly useful

1 291 surface patches remaining2 suitable CFD mesh build from

remeshed surface

Remeshingbased on cross-patch parametrizationMarcum 1999 Aftomosis 1999

Reparametrization

Computing Conformal mapsThe eigenvector ulowast (Fiedler vector) associated to the smallesteigenvalue λ ie LC ulowast = λulowast is the solution to the constrainedminimization problem

ulowast = argminuute=0utu=1

utLC u (1)

Laplacian and Conformal harmonic maps

Laplacian Conformal

Automatic remeshing

a) b) c)

Remeshing algorithmCompute G = 2NB = 0ηG=0

If needed cut mesh into different partitions of zero genusRemesh the lines at the interfaces between partitionCompute mapping for every partition and remesh the partition inthe parametric space (u(x) coordinates visible for one partition)

Automatic remeshing

Different mesh partitions of a hemi-pelvis in the parametric space(conformal map)

How to partition the mesh

Partitioning a human lung of aspect ratio η= 89

Multilevel Max-cut mesh partitionnerBased on multiscale Laplace map

E Marchandise et al High Quality Surface Remeshing UsingHarmonic Maps PARTII Surfaces with high genus and of large aspectratio IJNME online Jan 2011

High quality meshing for the Laplacian harmonic map

Plot of the quality histogram with high mean quality κ= 094

Remeshed

002

004

006

008

01

012

014

0 02 04 06 08 1

Fre

quen

cyAspect ratio

STL

0

κ= αinscribed radius

circumscribed radius = 4 sin a sin b sin csin a+ sin b+ sin c

(2)

High quality meshing for the Laplacian harmonic map

Time spent in the different steps of the automatic remeshing

The total time for remeshing the initial mesh of 25k triangles is 9s

CPU time lt 100s for mesh of 1e6 elements

High quality meshing

Comparisons with other techniques for surface remeshing

a) b) c)

Figure Remeshing of human lungs a) part of the initial STL triangulationb) remeshed geometry with Mimics (after 2 steps) and c) remeshed lungbased on the Harmonic mapping remeshing procedure

High quality meshing

Remeshed Harmonic map

00200400600801

01201401601802

0 02 04 06 08 1

Fre

quen

cy

Aspect ratio

STL MimicsRemeshed Mimics 1Remeshed Mimics 2

0

Figure Remeshing of human lungs with the presented algorithm ascompared with a commercial package such as Mimics

Efficient surface remeshing

Remeshing of the bunny mesh model of 70k triangles

Remeshing Number of Partition Parametrization Total remeshingpartitions time (s) time (s) time (s)

LSCM Levy 23 30 95 minus

Eck 88 - - 335ABF++ Zayer 2 - 13 -LinABF Zayer 2 - 2 -Present work laplacian part 2 167 14 25 metis part 10 7 14 14

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alBlossom-Quad a non-uniform quadrilateral mesh generator using aminimum cost perfect matching algorithm IJNME In press 2011

J-F Remacle et alA frontal Delaunay quad mesh generator using the Linfin norm IJNMEAccepted 2011

What we aim at

Indirect approach a non-optimal matching algorithmh(xy) = 01+008sin(3x)cos(6y) 836 quads and 240 triangles

τ= 0888825 τ= 0855715

Indirect approach a full-quad approachh(xy) = 01+008sin(3x)cos(6y) only quads

τ= 0854955 τ= 0838941 τ= 0790898

Indirect approach the Blossom-Quad approach

We build G(V E c) an undirected weighted graph Here V is the setof nV vertices E is the set of nE undirected edges andc(E) =

sumc(eij) is an edge-based cost function ie the sum of all

weights associated to every edge eij isin E of the graph

Indirect approach the Blossom-Quad approach

A matching is a subset E prime sube E such that each node of V has at mostone incident edge in E prime

Indirect approach the Blossom-Quad approach

A matching is perfect if each node of V has exactly one incident edgein E prime A perfect matching is optimum if c(E prime) is minimum among allpossible perfect matchings

eij

ti

tj

Indirect approach the Blossom-Quad approach

In 1965 Edmonds invented the Blossom algorithm that solves theproblem of optimum perfect matching in polynomial time Astraightforward implementation of Edmondsrsquos algorithm requiresO(n2

V nE) operationsSince then the worst-case complexity of the Blossom algorithmhas been steadily improving Both Lawler and Gabow achieved arunning time of O(n3

V ) Galil Micali and Gabow improved it toO(nV nE log(nV )) The current best known result in terms of nVand nE is O(nV (nE + lognV ))There is also a long history of computer implementations of theBlossom algorithm starting with the Blossom I code ofEdmonds Johnson and Lockhart In this paper ourimplementation makes use of the Blossom IV code of Cook andRohe1 that has been considered for several years as the fastestavailable implementation of the Blossom algorithm Gmshredistributes this piece of code

1httpwww2isyegatecheduwcookblossom4

Indirect approach Blossom-Quadh(xy) = 01+008sin(3x)cos(6y) only quads

τ= 0888825 τ= 0839313

Existence of perfect matchings

There is no guarantee that even one single perfect matchingexists in a given graphConsider the meshes below It is obvious that no perfectmatching exists for the coarsest oneThe following result known as Tuttersquos theorem proves that noneof the two meshes contains a perfect matching

The Blossom-Quad algorithm

Initial Raw Blossom Vertex Topological Finaltriangulation application smoothing optimization mesh

Quad mesh generation applied to STL modelsh(~x) = 2πR(~x)

Np with R(~x) = 1

κ(~x) NP = 50

Stanford Bunny Aneurysm

Quad mesh generation applied to STL models

τ= 0842549 τ= 0856247

The overall remeshing procedure for both STL examples takesonly 20s (5s for the Blossom-Quad)The quad-dominant meshing algorithm of [Levy et al] takes 271sfor the remeshing of the Stanford bunny

Anisotropic quad mesh generation applied to aparametric model

Anisotropic mesh

Anisotropic metricBuild an anisotropic triangular meshReimannian metric is used to measure distancesHere principal directions of the curvature tensor are used

Indirect approach an obvious problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Cross Fields

ycross

x

y

xcrossθ

The Linfin norm is not invariant by rotation rarr quads should beorientedA cross field (in 2D) is a scalar field θ(u) that gives theorientations of a local system of axis at point u in the parameterplaneThe local value of the cross field θ(uv) is defined only up torotations by π2 we choose to propagate

α(uv) = a(uv)+ ib(uv) = e4iθ(uv)

through a harmonic map

Perpendicular bisectors in the Linfin-norm

Lequiv y +(yo minusxp) = x

x

y

x2 = (xpyp)

(00)

α lt π4

(0xp minusyp)

x3 = (minusxp2xp minusyp)

x1 = (minusxpminusyp)

Bisector of two points x1 = (minusxpminusyp) and x2 = (xpyp) using theLinfin-norm

Circumcenter circumradius and circumcircle

ycross

x3

xcross

Ti

xcθ

R(T θ)

x1

x2

Circumcenter xc of a triangle using the Linfin-norm and circumcircle(red dotted square)

Delaunay and Voronoiuml

Voronoi diagram (dark lines) and Delaunay triangulation both in theLinfin norm

A frontal-Delaunay mesher in the Linfin-norm

The frontal-delaunay technique is based on

Rebay S Efficient unstructured mesh generation by means ofdelaunay triangulation and bowyer-watson algorithm Journal ofComputational Physics 1993 106(1)125ndash138

A frontal-Delaunay mesher in the Linfin-norm

Active

Edge of the front

Resolved

x1

Cn

Cl

L

x3 = (minusxpyp)

x2 = (xpminusyp)

x4

xc

xm

xl

xn

xe

x

y

Illustration of the point insertion algorithm

Car Hood

(a) (b) (c)Conformal reparametrization of a car hood Figure (a) shows the

CAD decomposition of the hood into 18 Beacutezier surfaces and the initialconforming mesh Figure (b) shows the result of the conformal

reparametrization ie isolines of u and v on the whole hood Figure(c) shows the projection of the initial mesh on the parameter plane u

Car Hood18 J-F REMACLE ET AL

(F) (FB) (FLB)

(D) (DB) (DLB)

N η ηw τ() d4() dmax

(FB) 1726 077 037 86 71 6(FLB) 1744 086 039 87 81 5(DB) 1527 090 037 93 81 5

(DLB) 1543 091 043 94 83 5

Figure 15 Pictures of different meshes of the car hood as well as mesh statistics

fields on all surfaces and the conformal reparametrization of all non planar surfaces The meshstatistics are as follows τ = 97 d4 = 91 dmax = 6 η = 095 ηw = 01 The mesh generatedby our approach for some of the planar and cylindrical surfaces of this particular geometry wasa structured mesh This happened however automatically without user interaction or internalheuristics of the mesher This explains the exceptionnaly high value of τ and η in this specificproblem

82 Falcon aircraft

As a second example the Falcon aircraft of Figure 17 is considered A surface mesh has beengenerated using a standard surface mesher whose triangles were patched together to create thecompounds of surfaces represented with different colors in the figure Each compound surfacehas been reparametrized separately by means of a conformal map created using the techniquesdescribed in [6 10 11 12] The mesh size field is composed of a uniform bulk size field δb = 01augmented with line and point sources at critical zones of the aircraft as depicted on Figure 17

The images of the different surfaces in their respective parameter plane can be seen onFigure 18 The resulting mesh is presented on Figure 19 The mesh is composed of 53297

Copyright c 2010 John Wiley amp Sons Ltd Int J Numer Meth Engng 2010 001ndash6Prepared using nmeauthcls

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Parametrizations of the surfaces of the Falcon aircraft in the uvplane

Falcon

Falcon

Falcon

Falcon

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alGeometrical Validity of Curvilinear Finite Elements IJNME Inpreparation 2011

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Roadmap for Gmsh 30

Complete re-build of the GUIUse Qt (a first demo version should be available in 2011)More flexibility reconfigurable GUI (OnleLab project) trueplugins remote control through sockets

Meshing capabilities enhancedCurvilinear meshes (p = 2 and p = 3 in 2011)Hex dominant meshing (DomHex project)Boundary layers (already ok for surface meshes) pyramids (evenfor high order)

Python API has to be cleaned and documented

  • History
  • Strategy
  • Research
    • Reparametrization
    • Quad meshing
    • Curvilinear meshing
      • Perspectives
Page 8: An Overview of the GMSH project

Strategic choices

LicensingGMSH is licensed under the GPL

The GPL is viral (thatrsquos Microsoftrsquos interpretation)In reality the GPL is a very good protection for the (2)copyrightrsquos owners

Double-licensingAllow to include parts of the software in closed source

Third party softwaresAll 3rd party softwares have to be compatible with the GPL ifredistributed

No problem with LGPL third parties (ANN)Some specific arrangements have been done with G Karypis(Metis) or with F Hecht (Bamg)

Some 3rd party softwares are NOT compatible NETGENConcorde A great care has to be taken in order to maintain thatcompatibility

Strategic choices

The CommunityThere are more than 1000 daily users of Gmsh regarding to themailing listSince 2006 more and more industrials are interrested in GmshOnly a few ( 15) are commiting in the sourceA lot of users are active on the mailing list

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle C Geuzaine G Compegravere E MarchandiseHigh Quality Surface Remeshing Using Harmonic Maps IJNME 83pp 403-425 2010

E Marchandise MWillemet G Bricteux C Geuzaine J-F RemacleQuality meshing based on STL triangulations for biomedicalsimulations IJNMBE 83 pp 876-889 2010

E Marchandise C Carton de Wiart W Vos C Geuzaine J-FRemacleHigh Quality Surface Remeshing Using Harmonic Maps PARTIISurfaces with high genus and of large aspect ratio IJNME 86 pp1303-1321 2011

ReparametrizationCAD data is not suitable for FE analysis

Geometric models contain a lot ofpatchesExample CAD data issued formCATIATM 852 patchesAre not suitable for FE analysis

1 small model edges are present inthe patches

2 that lead to triangles of poorquality

Reparametrize through existingpatches could be highly useful

1 291 surface patches remaining2 suitable CFD mesh build from

remeshed surface

Remeshingbased on cross-patch parametrizationMarcum 1999 Aftomosis 1999

ReparametrizationCAD data is not suitable for FE analysis

Geometric models contain a lot ofpatchesExample CAD data issued formCATIATM 852 patchesAre not suitable for FE analysis

1 small model edges are present inthe patches

2 that lead to triangles of poorquality

Reparametrize through existingpatches could be highly useful

1 291 surface patches remaining2 suitable CFD mesh build from

remeshed surface

Remeshingbased on cross-patch parametrizationMarcum 1999 Aftomosis 1999

ReparametrizationCAD data is not suitable for FE analysis

Geometric models contain a lot ofpatchesExample CAD data issued formCATIATM 852 patchesAre not suitable for FE analysis

1 small model edges are present inthe patches

2 that lead to triangles of poorquality

Reparametrize through existingpatches could be highly useful

1 291 surface patches remaining2 suitable CFD mesh build from

remeshed surface

Remeshingbased on cross-patch parametrizationMarcum 1999 Aftomosis 1999

ReparametrizationCAD data is not suitable for FE analysis

Geometric models contain a lot ofpatchesExample CAD data issued formCATIATM 852 patchesAre not suitable for FE analysis

1 small model edges are present inthe patches

2 that lead to triangles of poorquality

Reparametrize through existingpatches could be highly useful

1 291 surface patches remaining2 suitable CFD mesh build from

remeshed surface

Remeshingbased on cross-patch parametrizationMarcum 1999 Aftomosis 1999

Reparametrization

Computing Conformal mapsThe eigenvector ulowast (Fiedler vector) associated to the smallesteigenvalue λ ie LC ulowast = λulowast is the solution to the constrainedminimization problem

ulowast = argminuute=0utu=1

utLC u (1)

Laplacian and Conformal harmonic maps

Laplacian Conformal

Automatic remeshing

a) b) c)

Remeshing algorithmCompute G = 2NB = 0ηG=0

If needed cut mesh into different partitions of zero genusRemesh the lines at the interfaces between partitionCompute mapping for every partition and remesh the partition inthe parametric space (u(x) coordinates visible for one partition)

Automatic remeshing

Different mesh partitions of a hemi-pelvis in the parametric space(conformal map)

How to partition the mesh

Partitioning a human lung of aspect ratio η= 89

Multilevel Max-cut mesh partitionnerBased on multiscale Laplace map

E Marchandise et al High Quality Surface Remeshing UsingHarmonic Maps PARTII Surfaces with high genus and of large aspectratio IJNME online Jan 2011

High quality meshing for the Laplacian harmonic map

Plot of the quality histogram with high mean quality κ= 094

Remeshed

002

004

006

008

01

012

014

0 02 04 06 08 1

Fre

quen

cyAspect ratio

STL

0

κ= αinscribed radius

circumscribed radius = 4 sin a sin b sin csin a+ sin b+ sin c

(2)

High quality meshing for the Laplacian harmonic map

Time spent in the different steps of the automatic remeshing

The total time for remeshing the initial mesh of 25k triangles is 9s

CPU time lt 100s for mesh of 1e6 elements

High quality meshing

Comparisons with other techniques for surface remeshing

a) b) c)

Figure Remeshing of human lungs a) part of the initial STL triangulationb) remeshed geometry with Mimics (after 2 steps) and c) remeshed lungbased on the Harmonic mapping remeshing procedure

High quality meshing

Remeshed Harmonic map

00200400600801

01201401601802

0 02 04 06 08 1

Fre

quen

cy

Aspect ratio

STL MimicsRemeshed Mimics 1Remeshed Mimics 2

0

Figure Remeshing of human lungs with the presented algorithm ascompared with a commercial package such as Mimics

Efficient surface remeshing

Remeshing of the bunny mesh model of 70k triangles

Remeshing Number of Partition Parametrization Total remeshingpartitions time (s) time (s) time (s)

LSCM Levy 23 30 95 minus

Eck 88 - - 335ABF++ Zayer 2 - 13 -LinABF Zayer 2 - 2 -Present work laplacian part 2 167 14 25 metis part 10 7 14 14

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alBlossom-Quad a non-uniform quadrilateral mesh generator using aminimum cost perfect matching algorithm IJNME In press 2011

J-F Remacle et alA frontal Delaunay quad mesh generator using the Linfin norm IJNMEAccepted 2011

What we aim at

Indirect approach a non-optimal matching algorithmh(xy) = 01+008sin(3x)cos(6y) 836 quads and 240 triangles

τ= 0888825 τ= 0855715

Indirect approach a full-quad approachh(xy) = 01+008sin(3x)cos(6y) only quads

τ= 0854955 τ= 0838941 τ= 0790898

Indirect approach the Blossom-Quad approach

We build G(V E c) an undirected weighted graph Here V is the setof nV vertices E is the set of nE undirected edges andc(E) =

sumc(eij) is an edge-based cost function ie the sum of all

weights associated to every edge eij isin E of the graph

Indirect approach the Blossom-Quad approach

A matching is a subset E prime sube E such that each node of V has at mostone incident edge in E prime

Indirect approach the Blossom-Quad approach

A matching is perfect if each node of V has exactly one incident edgein E prime A perfect matching is optimum if c(E prime) is minimum among allpossible perfect matchings

eij

ti

tj

Indirect approach the Blossom-Quad approach

In 1965 Edmonds invented the Blossom algorithm that solves theproblem of optimum perfect matching in polynomial time Astraightforward implementation of Edmondsrsquos algorithm requiresO(n2

V nE) operationsSince then the worst-case complexity of the Blossom algorithmhas been steadily improving Both Lawler and Gabow achieved arunning time of O(n3

V ) Galil Micali and Gabow improved it toO(nV nE log(nV )) The current best known result in terms of nVand nE is O(nV (nE + lognV ))There is also a long history of computer implementations of theBlossom algorithm starting with the Blossom I code ofEdmonds Johnson and Lockhart In this paper ourimplementation makes use of the Blossom IV code of Cook andRohe1 that has been considered for several years as the fastestavailable implementation of the Blossom algorithm Gmshredistributes this piece of code

1httpwww2isyegatecheduwcookblossom4

Indirect approach Blossom-Quadh(xy) = 01+008sin(3x)cos(6y) only quads

τ= 0888825 τ= 0839313

Existence of perfect matchings

There is no guarantee that even one single perfect matchingexists in a given graphConsider the meshes below It is obvious that no perfectmatching exists for the coarsest oneThe following result known as Tuttersquos theorem proves that noneof the two meshes contains a perfect matching

The Blossom-Quad algorithm

Initial Raw Blossom Vertex Topological Finaltriangulation application smoothing optimization mesh

Quad mesh generation applied to STL modelsh(~x) = 2πR(~x)

Np with R(~x) = 1

κ(~x) NP = 50

Stanford Bunny Aneurysm

Quad mesh generation applied to STL models

τ= 0842549 τ= 0856247

The overall remeshing procedure for both STL examples takesonly 20s (5s for the Blossom-Quad)The quad-dominant meshing algorithm of [Levy et al] takes 271sfor the remeshing of the Stanford bunny

Anisotropic quad mesh generation applied to aparametric model

Anisotropic mesh

Anisotropic metricBuild an anisotropic triangular meshReimannian metric is used to measure distancesHere principal directions of the curvature tensor are used

Indirect approach an obvious problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Cross Fields

ycross

x

y

xcrossθ

The Linfin norm is not invariant by rotation rarr quads should beorientedA cross field (in 2D) is a scalar field θ(u) that gives theorientations of a local system of axis at point u in the parameterplaneThe local value of the cross field θ(uv) is defined only up torotations by π2 we choose to propagate

α(uv) = a(uv)+ ib(uv) = e4iθ(uv)

through a harmonic map

Perpendicular bisectors in the Linfin-norm

Lequiv y +(yo minusxp) = x

x

y

x2 = (xpyp)

(00)

α lt π4

(0xp minusyp)

x3 = (minusxp2xp minusyp)

x1 = (minusxpminusyp)

Bisector of two points x1 = (minusxpminusyp) and x2 = (xpyp) using theLinfin-norm

Circumcenter circumradius and circumcircle

ycross

x3

xcross

Ti

xcθ

R(T θ)

x1

x2

Circumcenter xc of a triangle using the Linfin-norm and circumcircle(red dotted square)

Delaunay and Voronoiuml

Voronoi diagram (dark lines) and Delaunay triangulation both in theLinfin norm

A frontal-Delaunay mesher in the Linfin-norm

The frontal-delaunay technique is based on

Rebay S Efficient unstructured mesh generation by means ofdelaunay triangulation and bowyer-watson algorithm Journal ofComputational Physics 1993 106(1)125ndash138

A frontal-Delaunay mesher in the Linfin-norm

Active

Edge of the front

Resolved

x1

Cn

Cl

L

x3 = (minusxpyp)

x2 = (xpminusyp)

x4

xc

xm

xl

xn

xe

x

y

Illustration of the point insertion algorithm

Car Hood

(a) (b) (c)Conformal reparametrization of a car hood Figure (a) shows the

CAD decomposition of the hood into 18 Beacutezier surfaces and the initialconforming mesh Figure (b) shows the result of the conformal

reparametrization ie isolines of u and v on the whole hood Figure(c) shows the projection of the initial mesh on the parameter plane u

Car Hood18 J-F REMACLE ET AL

(F) (FB) (FLB)

(D) (DB) (DLB)

N η ηw τ() d4() dmax

(FB) 1726 077 037 86 71 6(FLB) 1744 086 039 87 81 5(DB) 1527 090 037 93 81 5

(DLB) 1543 091 043 94 83 5

Figure 15 Pictures of different meshes of the car hood as well as mesh statistics

fields on all surfaces and the conformal reparametrization of all non planar surfaces The meshstatistics are as follows τ = 97 d4 = 91 dmax = 6 η = 095 ηw = 01 The mesh generatedby our approach for some of the planar and cylindrical surfaces of this particular geometry wasa structured mesh This happened however automatically without user interaction or internalheuristics of the mesher This explains the exceptionnaly high value of τ and η in this specificproblem

82 Falcon aircraft

As a second example the Falcon aircraft of Figure 17 is considered A surface mesh has beengenerated using a standard surface mesher whose triangles were patched together to create thecompounds of surfaces represented with different colors in the figure Each compound surfacehas been reparametrized separately by means of a conformal map created using the techniquesdescribed in [6 10 11 12] The mesh size field is composed of a uniform bulk size field δb = 01augmented with line and point sources at critical zones of the aircraft as depicted on Figure 17

The images of the different surfaces in their respective parameter plane can be seen onFigure 18 The resulting mesh is presented on Figure 19 The mesh is composed of 53297

Copyright c 2010 John Wiley amp Sons Ltd Int J Numer Meth Engng 2010 001ndash6Prepared using nmeauthcls

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Parametrizations of the surfaces of the Falcon aircraft in the uvplane

Falcon

Falcon

Falcon

Falcon

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alGeometrical Validity of Curvilinear Finite Elements IJNME Inpreparation 2011

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Roadmap for Gmsh 30

Complete re-build of the GUIUse Qt (a first demo version should be available in 2011)More flexibility reconfigurable GUI (OnleLab project) trueplugins remote control through sockets

Meshing capabilities enhancedCurvilinear meshes (p = 2 and p = 3 in 2011)Hex dominant meshing (DomHex project)Boundary layers (already ok for surface meshes) pyramids (evenfor high order)

Python API has to be cleaned and documented

  • History
  • Strategy
  • Research
    • Reparametrization
    • Quad meshing
    • Curvilinear meshing
      • Perspectives
Page 9: An Overview of the GMSH project

Strategic choices

The CommunityThere are more than 1000 daily users of Gmsh regarding to themailing listSince 2006 more and more industrials are interrested in GmshOnly a few ( 15) are commiting in the sourceA lot of users are active on the mailing list

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle C Geuzaine G Compegravere E MarchandiseHigh Quality Surface Remeshing Using Harmonic Maps IJNME 83pp 403-425 2010

E Marchandise MWillemet G Bricteux C Geuzaine J-F RemacleQuality meshing based on STL triangulations for biomedicalsimulations IJNMBE 83 pp 876-889 2010

E Marchandise C Carton de Wiart W Vos C Geuzaine J-FRemacleHigh Quality Surface Remeshing Using Harmonic Maps PARTIISurfaces with high genus and of large aspect ratio IJNME 86 pp1303-1321 2011

ReparametrizationCAD data is not suitable for FE analysis

Geometric models contain a lot ofpatchesExample CAD data issued formCATIATM 852 patchesAre not suitable for FE analysis

1 small model edges are present inthe patches

2 that lead to triangles of poorquality

Reparametrize through existingpatches could be highly useful

1 291 surface patches remaining2 suitable CFD mesh build from

remeshed surface

Remeshingbased on cross-patch parametrizationMarcum 1999 Aftomosis 1999

ReparametrizationCAD data is not suitable for FE analysis

Geometric models contain a lot ofpatchesExample CAD data issued formCATIATM 852 patchesAre not suitable for FE analysis

1 small model edges are present inthe patches

2 that lead to triangles of poorquality

Reparametrize through existingpatches could be highly useful

1 291 surface patches remaining2 suitable CFD mesh build from

remeshed surface

Remeshingbased on cross-patch parametrizationMarcum 1999 Aftomosis 1999

ReparametrizationCAD data is not suitable for FE analysis

Geometric models contain a lot ofpatchesExample CAD data issued formCATIATM 852 patchesAre not suitable for FE analysis

1 small model edges are present inthe patches

2 that lead to triangles of poorquality

Reparametrize through existingpatches could be highly useful

1 291 surface patches remaining2 suitable CFD mesh build from

remeshed surface

Remeshingbased on cross-patch parametrizationMarcum 1999 Aftomosis 1999

ReparametrizationCAD data is not suitable for FE analysis

Geometric models contain a lot ofpatchesExample CAD data issued formCATIATM 852 patchesAre not suitable for FE analysis

1 small model edges are present inthe patches

2 that lead to triangles of poorquality

Reparametrize through existingpatches could be highly useful

1 291 surface patches remaining2 suitable CFD mesh build from

remeshed surface

Remeshingbased on cross-patch parametrizationMarcum 1999 Aftomosis 1999

Reparametrization

Computing Conformal mapsThe eigenvector ulowast (Fiedler vector) associated to the smallesteigenvalue λ ie LC ulowast = λulowast is the solution to the constrainedminimization problem

ulowast = argminuute=0utu=1

utLC u (1)

Laplacian and Conformal harmonic maps

Laplacian Conformal

Automatic remeshing

a) b) c)

Remeshing algorithmCompute G = 2NB = 0ηG=0

If needed cut mesh into different partitions of zero genusRemesh the lines at the interfaces between partitionCompute mapping for every partition and remesh the partition inthe parametric space (u(x) coordinates visible for one partition)

Automatic remeshing

Different mesh partitions of a hemi-pelvis in the parametric space(conformal map)

How to partition the mesh

Partitioning a human lung of aspect ratio η= 89

Multilevel Max-cut mesh partitionnerBased on multiscale Laplace map

E Marchandise et al High Quality Surface Remeshing UsingHarmonic Maps PARTII Surfaces with high genus and of large aspectratio IJNME online Jan 2011

High quality meshing for the Laplacian harmonic map

Plot of the quality histogram with high mean quality κ= 094

Remeshed

002

004

006

008

01

012

014

0 02 04 06 08 1

Fre

quen

cyAspect ratio

STL

0

κ= αinscribed radius

circumscribed radius = 4 sin a sin b sin csin a+ sin b+ sin c

(2)

High quality meshing for the Laplacian harmonic map

Time spent in the different steps of the automatic remeshing

The total time for remeshing the initial mesh of 25k triangles is 9s

CPU time lt 100s for mesh of 1e6 elements

High quality meshing

Comparisons with other techniques for surface remeshing

a) b) c)

Figure Remeshing of human lungs a) part of the initial STL triangulationb) remeshed geometry with Mimics (after 2 steps) and c) remeshed lungbased on the Harmonic mapping remeshing procedure

High quality meshing

Remeshed Harmonic map

00200400600801

01201401601802

0 02 04 06 08 1

Fre

quen

cy

Aspect ratio

STL MimicsRemeshed Mimics 1Remeshed Mimics 2

0

Figure Remeshing of human lungs with the presented algorithm ascompared with a commercial package such as Mimics

Efficient surface remeshing

Remeshing of the bunny mesh model of 70k triangles

Remeshing Number of Partition Parametrization Total remeshingpartitions time (s) time (s) time (s)

LSCM Levy 23 30 95 minus

Eck 88 - - 335ABF++ Zayer 2 - 13 -LinABF Zayer 2 - 2 -Present work laplacian part 2 167 14 25 metis part 10 7 14 14

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alBlossom-Quad a non-uniform quadrilateral mesh generator using aminimum cost perfect matching algorithm IJNME In press 2011

J-F Remacle et alA frontal Delaunay quad mesh generator using the Linfin norm IJNMEAccepted 2011

What we aim at

Indirect approach a non-optimal matching algorithmh(xy) = 01+008sin(3x)cos(6y) 836 quads and 240 triangles

τ= 0888825 τ= 0855715

Indirect approach a full-quad approachh(xy) = 01+008sin(3x)cos(6y) only quads

τ= 0854955 τ= 0838941 τ= 0790898

Indirect approach the Blossom-Quad approach

We build G(V E c) an undirected weighted graph Here V is the setof nV vertices E is the set of nE undirected edges andc(E) =

sumc(eij) is an edge-based cost function ie the sum of all

weights associated to every edge eij isin E of the graph

Indirect approach the Blossom-Quad approach

A matching is a subset E prime sube E such that each node of V has at mostone incident edge in E prime

Indirect approach the Blossom-Quad approach

A matching is perfect if each node of V has exactly one incident edgein E prime A perfect matching is optimum if c(E prime) is minimum among allpossible perfect matchings

eij

ti

tj

Indirect approach the Blossom-Quad approach

In 1965 Edmonds invented the Blossom algorithm that solves theproblem of optimum perfect matching in polynomial time Astraightforward implementation of Edmondsrsquos algorithm requiresO(n2

V nE) operationsSince then the worst-case complexity of the Blossom algorithmhas been steadily improving Both Lawler and Gabow achieved arunning time of O(n3

V ) Galil Micali and Gabow improved it toO(nV nE log(nV )) The current best known result in terms of nVand nE is O(nV (nE + lognV ))There is also a long history of computer implementations of theBlossom algorithm starting with the Blossom I code ofEdmonds Johnson and Lockhart In this paper ourimplementation makes use of the Blossom IV code of Cook andRohe1 that has been considered for several years as the fastestavailable implementation of the Blossom algorithm Gmshredistributes this piece of code

1httpwww2isyegatecheduwcookblossom4

Indirect approach Blossom-Quadh(xy) = 01+008sin(3x)cos(6y) only quads

τ= 0888825 τ= 0839313

Existence of perfect matchings

There is no guarantee that even one single perfect matchingexists in a given graphConsider the meshes below It is obvious that no perfectmatching exists for the coarsest oneThe following result known as Tuttersquos theorem proves that noneof the two meshes contains a perfect matching

The Blossom-Quad algorithm

Initial Raw Blossom Vertex Topological Finaltriangulation application smoothing optimization mesh

Quad mesh generation applied to STL modelsh(~x) = 2πR(~x)

Np with R(~x) = 1

κ(~x) NP = 50

Stanford Bunny Aneurysm

Quad mesh generation applied to STL models

τ= 0842549 τ= 0856247

The overall remeshing procedure for both STL examples takesonly 20s (5s for the Blossom-Quad)The quad-dominant meshing algorithm of [Levy et al] takes 271sfor the remeshing of the Stanford bunny

Anisotropic quad mesh generation applied to aparametric model

Anisotropic mesh

Anisotropic metricBuild an anisotropic triangular meshReimannian metric is used to measure distancesHere principal directions of the curvature tensor are used

Indirect approach an obvious problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Cross Fields

ycross

x

y

xcrossθ

The Linfin norm is not invariant by rotation rarr quads should beorientedA cross field (in 2D) is a scalar field θ(u) that gives theorientations of a local system of axis at point u in the parameterplaneThe local value of the cross field θ(uv) is defined only up torotations by π2 we choose to propagate

α(uv) = a(uv)+ ib(uv) = e4iθ(uv)

through a harmonic map

Perpendicular bisectors in the Linfin-norm

Lequiv y +(yo minusxp) = x

x

y

x2 = (xpyp)

(00)

α lt π4

(0xp minusyp)

x3 = (minusxp2xp minusyp)

x1 = (minusxpminusyp)

Bisector of two points x1 = (minusxpminusyp) and x2 = (xpyp) using theLinfin-norm

Circumcenter circumradius and circumcircle

ycross

x3

xcross

Ti

xcθ

R(T θ)

x1

x2

Circumcenter xc of a triangle using the Linfin-norm and circumcircle(red dotted square)

Delaunay and Voronoiuml

Voronoi diagram (dark lines) and Delaunay triangulation both in theLinfin norm

A frontal-Delaunay mesher in the Linfin-norm

The frontal-delaunay technique is based on

Rebay S Efficient unstructured mesh generation by means ofdelaunay triangulation and bowyer-watson algorithm Journal ofComputational Physics 1993 106(1)125ndash138

A frontal-Delaunay mesher in the Linfin-norm

Active

Edge of the front

Resolved

x1

Cn

Cl

L

x3 = (minusxpyp)

x2 = (xpminusyp)

x4

xc

xm

xl

xn

xe

x

y

Illustration of the point insertion algorithm

Car Hood

(a) (b) (c)Conformal reparametrization of a car hood Figure (a) shows the

CAD decomposition of the hood into 18 Beacutezier surfaces and the initialconforming mesh Figure (b) shows the result of the conformal

reparametrization ie isolines of u and v on the whole hood Figure(c) shows the projection of the initial mesh on the parameter plane u

Car Hood18 J-F REMACLE ET AL

(F) (FB) (FLB)

(D) (DB) (DLB)

N η ηw τ() d4() dmax

(FB) 1726 077 037 86 71 6(FLB) 1744 086 039 87 81 5(DB) 1527 090 037 93 81 5

(DLB) 1543 091 043 94 83 5

Figure 15 Pictures of different meshes of the car hood as well as mesh statistics

fields on all surfaces and the conformal reparametrization of all non planar surfaces The meshstatistics are as follows τ = 97 d4 = 91 dmax = 6 η = 095 ηw = 01 The mesh generatedby our approach for some of the planar and cylindrical surfaces of this particular geometry wasa structured mesh This happened however automatically without user interaction or internalheuristics of the mesher This explains the exceptionnaly high value of τ and η in this specificproblem

82 Falcon aircraft

As a second example the Falcon aircraft of Figure 17 is considered A surface mesh has beengenerated using a standard surface mesher whose triangles were patched together to create thecompounds of surfaces represented with different colors in the figure Each compound surfacehas been reparametrized separately by means of a conformal map created using the techniquesdescribed in [6 10 11 12] The mesh size field is composed of a uniform bulk size field δb = 01augmented with line and point sources at critical zones of the aircraft as depicted on Figure 17

The images of the different surfaces in their respective parameter plane can be seen onFigure 18 The resulting mesh is presented on Figure 19 The mesh is composed of 53297

Copyright c 2010 John Wiley amp Sons Ltd Int J Numer Meth Engng 2010 001ndash6Prepared using nmeauthcls

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Parametrizations of the surfaces of the Falcon aircraft in the uvplane

Falcon

Falcon

Falcon

Falcon

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alGeometrical Validity of Curvilinear Finite Elements IJNME Inpreparation 2011

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Roadmap for Gmsh 30

Complete re-build of the GUIUse Qt (a first demo version should be available in 2011)More flexibility reconfigurable GUI (OnleLab project) trueplugins remote control through sockets

Meshing capabilities enhancedCurvilinear meshes (p = 2 and p = 3 in 2011)Hex dominant meshing (DomHex project)Boundary layers (already ok for surface meshes) pyramids (evenfor high order)

Python API has to be cleaned and documented

  • History
  • Strategy
  • Research
    • Reparametrization
    • Quad meshing
    • Curvilinear meshing
      • Perspectives
Page 10: An Overview of the GMSH project

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle C Geuzaine G Compegravere E MarchandiseHigh Quality Surface Remeshing Using Harmonic Maps IJNME 83pp 403-425 2010

E Marchandise MWillemet G Bricteux C Geuzaine J-F RemacleQuality meshing based on STL triangulations for biomedicalsimulations IJNMBE 83 pp 876-889 2010

E Marchandise C Carton de Wiart W Vos C Geuzaine J-FRemacleHigh Quality Surface Remeshing Using Harmonic Maps PARTIISurfaces with high genus and of large aspect ratio IJNME 86 pp1303-1321 2011

ReparametrizationCAD data is not suitable for FE analysis

Geometric models contain a lot ofpatchesExample CAD data issued formCATIATM 852 patchesAre not suitable for FE analysis

1 small model edges are present inthe patches

2 that lead to triangles of poorquality

Reparametrize through existingpatches could be highly useful

1 291 surface patches remaining2 suitable CFD mesh build from

remeshed surface

Remeshingbased on cross-patch parametrizationMarcum 1999 Aftomosis 1999

ReparametrizationCAD data is not suitable for FE analysis

Geometric models contain a lot ofpatchesExample CAD data issued formCATIATM 852 patchesAre not suitable for FE analysis

1 small model edges are present inthe patches

2 that lead to triangles of poorquality

Reparametrize through existingpatches could be highly useful

1 291 surface patches remaining2 suitable CFD mesh build from

remeshed surface

Remeshingbased on cross-patch parametrizationMarcum 1999 Aftomosis 1999

ReparametrizationCAD data is not suitable for FE analysis

Geometric models contain a lot ofpatchesExample CAD data issued formCATIATM 852 patchesAre not suitable for FE analysis

1 small model edges are present inthe patches

2 that lead to triangles of poorquality

Reparametrize through existingpatches could be highly useful

1 291 surface patches remaining2 suitable CFD mesh build from

remeshed surface

Remeshingbased on cross-patch parametrizationMarcum 1999 Aftomosis 1999

ReparametrizationCAD data is not suitable for FE analysis

Geometric models contain a lot ofpatchesExample CAD data issued formCATIATM 852 patchesAre not suitable for FE analysis

1 small model edges are present inthe patches

2 that lead to triangles of poorquality

Reparametrize through existingpatches could be highly useful

1 291 surface patches remaining2 suitable CFD mesh build from

remeshed surface

Remeshingbased on cross-patch parametrizationMarcum 1999 Aftomosis 1999

Reparametrization

Computing Conformal mapsThe eigenvector ulowast (Fiedler vector) associated to the smallesteigenvalue λ ie LC ulowast = λulowast is the solution to the constrainedminimization problem

ulowast = argminuute=0utu=1

utLC u (1)

Laplacian and Conformal harmonic maps

Laplacian Conformal

Automatic remeshing

a) b) c)

Remeshing algorithmCompute G = 2NB = 0ηG=0

If needed cut mesh into different partitions of zero genusRemesh the lines at the interfaces between partitionCompute mapping for every partition and remesh the partition inthe parametric space (u(x) coordinates visible for one partition)

Automatic remeshing

Different mesh partitions of a hemi-pelvis in the parametric space(conformal map)

How to partition the mesh

Partitioning a human lung of aspect ratio η= 89

Multilevel Max-cut mesh partitionnerBased on multiscale Laplace map

E Marchandise et al High Quality Surface Remeshing UsingHarmonic Maps PARTII Surfaces with high genus and of large aspectratio IJNME online Jan 2011

High quality meshing for the Laplacian harmonic map

Plot of the quality histogram with high mean quality κ= 094

Remeshed

002

004

006

008

01

012

014

0 02 04 06 08 1

Fre

quen

cyAspect ratio

STL

0

κ= αinscribed radius

circumscribed radius = 4 sin a sin b sin csin a+ sin b+ sin c

(2)

High quality meshing for the Laplacian harmonic map

Time spent in the different steps of the automatic remeshing

The total time for remeshing the initial mesh of 25k triangles is 9s

CPU time lt 100s for mesh of 1e6 elements

High quality meshing

Comparisons with other techniques for surface remeshing

a) b) c)

Figure Remeshing of human lungs a) part of the initial STL triangulationb) remeshed geometry with Mimics (after 2 steps) and c) remeshed lungbased on the Harmonic mapping remeshing procedure

High quality meshing

Remeshed Harmonic map

00200400600801

01201401601802

0 02 04 06 08 1

Fre

quen

cy

Aspect ratio

STL MimicsRemeshed Mimics 1Remeshed Mimics 2

0

Figure Remeshing of human lungs with the presented algorithm ascompared with a commercial package such as Mimics

Efficient surface remeshing

Remeshing of the bunny mesh model of 70k triangles

Remeshing Number of Partition Parametrization Total remeshingpartitions time (s) time (s) time (s)

LSCM Levy 23 30 95 minus

Eck 88 - - 335ABF++ Zayer 2 - 13 -LinABF Zayer 2 - 2 -Present work laplacian part 2 167 14 25 metis part 10 7 14 14

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alBlossom-Quad a non-uniform quadrilateral mesh generator using aminimum cost perfect matching algorithm IJNME In press 2011

J-F Remacle et alA frontal Delaunay quad mesh generator using the Linfin norm IJNMEAccepted 2011

What we aim at

Indirect approach a non-optimal matching algorithmh(xy) = 01+008sin(3x)cos(6y) 836 quads and 240 triangles

τ= 0888825 τ= 0855715

Indirect approach a full-quad approachh(xy) = 01+008sin(3x)cos(6y) only quads

τ= 0854955 τ= 0838941 τ= 0790898

Indirect approach the Blossom-Quad approach

We build G(V E c) an undirected weighted graph Here V is the setof nV vertices E is the set of nE undirected edges andc(E) =

sumc(eij) is an edge-based cost function ie the sum of all

weights associated to every edge eij isin E of the graph

Indirect approach the Blossom-Quad approach

A matching is a subset E prime sube E such that each node of V has at mostone incident edge in E prime

Indirect approach the Blossom-Quad approach

A matching is perfect if each node of V has exactly one incident edgein E prime A perfect matching is optimum if c(E prime) is minimum among allpossible perfect matchings

eij

ti

tj

Indirect approach the Blossom-Quad approach

In 1965 Edmonds invented the Blossom algorithm that solves theproblem of optimum perfect matching in polynomial time Astraightforward implementation of Edmondsrsquos algorithm requiresO(n2

V nE) operationsSince then the worst-case complexity of the Blossom algorithmhas been steadily improving Both Lawler and Gabow achieved arunning time of O(n3

V ) Galil Micali and Gabow improved it toO(nV nE log(nV )) The current best known result in terms of nVand nE is O(nV (nE + lognV ))There is also a long history of computer implementations of theBlossom algorithm starting with the Blossom I code ofEdmonds Johnson and Lockhart In this paper ourimplementation makes use of the Blossom IV code of Cook andRohe1 that has been considered for several years as the fastestavailable implementation of the Blossom algorithm Gmshredistributes this piece of code

1httpwww2isyegatecheduwcookblossom4

Indirect approach Blossom-Quadh(xy) = 01+008sin(3x)cos(6y) only quads

τ= 0888825 τ= 0839313

Existence of perfect matchings

There is no guarantee that even one single perfect matchingexists in a given graphConsider the meshes below It is obvious that no perfectmatching exists for the coarsest oneThe following result known as Tuttersquos theorem proves that noneof the two meshes contains a perfect matching

The Blossom-Quad algorithm

Initial Raw Blossom Vertex Topological Finaltriangulation application smoothing optimization mesh

Quad mesh generation applied to STL modelsh(~x) = 2πR(~x)

Np with R(~x) = 1

κ(~x) NP = 50

Stanford Bunny Aneurysm

Quad mesh generation applied to STL models

τ= 0842549 τ= 0856247

The overall remeshing procedure for both STL examples takesonly 20s (5s for the Blossom-Quad)The quad-dominant meshing algorithm of [Levy et al] takes 271sfor the remeshing of the Stanford bunny

Anisotropic quad mesh generation applied to aparametric model

Anisotropic mesh

Anisotropic metricBuild an anisotropic triangular meshReimannian metric is used to measure distancesHere principal directions of the curvature tensor are used

Indirect approach an obvious problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Cross Fields

ycross

x

y

xcrossθ

The Linfin norm is not invariant by rotation rarr quads should beorientedA cross field (in 2D) is a scalar field θ(u) that gives theorientations of a local system of axis at point u in the parameterplaneThe local value of the cross field θ(uv) is defined only up torotations by π2 we choose to propagate

α(uv) = a(uv)+ ib(uv) = e4iθ(uv)

through a harmonic map

Perpendicular bisectors in the Linfin-norm

Lequiv y +(yo minusxp) = x

x

y

x2 = (xpyp)

(00)

α lt π4

(0xp minusyp)

x3 = (minusxp2xp minusyp)

x1 = (minusxpminusyp)

Bisector of two points x1 = (minusxpminusyp) and x2 = (xpyp) using theLinfin-norm

Circumcenter circumradius and circumcircle

ycross

x3

xcross

Ti

xcθ

R(T θ)

x1

x2

Circumcenter xc of a triangle using the Linfin-norm and circumcircle(red dotted square)

Delaunay and Voronoiuml

Voronoi diagram (dark lines) and Delaunay triangulation both in theLinfin norm

A frontal-Delaunay mesher in the Linfin-norm

The frontal-delaunay technique is based on

Rebay S Efficient unstructured mesh generation by means ofdelaunay triangulation and bowyer-watson algorithm Journal ofComputational Physics 1993 106(1)125ndash138

A frontal-Delaunay mesher in the Linfin-norm

Active

Edge of the front

Resolved

x1

Cn

Cl

L

x3 = (minusxpyp)

x2 = (xpminusyp)

x4

xc

xm

xl

xn

xe

x

y

Illustration of the point insertion algorithm

Car Hood

(a) (b) (c)Conformal reparametrization of a car hood Figure (a) shows the

CAD decomposition of the hood into 18 Beacutezier surfaces and the initialconforming mesh Figure (b) shows the result of the conformal

reparametrization ie isolines of u and v on the whole hood Figure(c) shows the projection of the initial mesh on the parameter plane u

Car Hood18 J-F REMACLE ET AL

(F) (FB) (FLB)

(D) (DB) (DLB)

N η ηw τ() d4() dmax

(FB) 1726 077 037 86 71 6(FLB) 1744 086 039 87 81 5(DB) 1527 090 037 93 81 5

(DLB) 1543 091 043 94 83 5

Figure 15 Pictures of different meshes of the car hood as well as mesh statistics

fields on all surfaces and the conformal reparametrization of all non planar surfaces The meshstatistics are as follows τ = 97 d4 = 91 dmax = 6 η = 095 ηw = 01 The mesh generatedby our approach for some of the planar and cylindrical surfaces of this particular geometry wasa structured mesh This happened however automatically without user interaction or internalheuristics of the mesher This explains the exceptionnaly high value of τ and η in this specificproblem

82 Falcon aircraft

As a second example the Falcon aircraft of Figure 17 is considered A surface mesh has beengenerated using a standard surface mesher whose triangles were patched together to create thecompounds of surfaces represented with different colors in the figure Each compound surfacehas been reparametrized separately by means of a conformal map created using the techniquesdescribed in [6 10 11 12] The mesh size field is composed of a uniform bulk size field δb = 01augmented with line and point sources at critical zones of the aircraft as depicted on Figure 17

The images of the different surfaces in their respective parameter plane can be seen onFigure 18 The resulting mesh is presented on Figure 19 The mesh is composed of 53297

Copyright c 2010 John Wiley amp Sons Ltd Int J Numer Meth Engng 2010 001ndash6Prepared using nmeauthcls

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Parametrizations of the surfaces of the Falcon aircraft in the uvplane

Falcon

Falcon

Falcon

Falcon

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alGeometrical Validity of Curvilinear Finite Elements IJNME Inpreparation 2011

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Roadmap for Gmsh 30

Complete re-build of the GUIUse Qt (a first demo version should be available in 2011)More flexibility reconfigurable GUI (OnleLab project) trueplugins remote control through sockets

Meshing capabilities enhancedCurvilinear meshes (p = 2 and p = 3 in 2011)Hex dominant meshing (DomHex project)Boundary layers (already ok for surface meshes) pyramids (evenfor high order)

Python API has to be cleaned and documented

  • History
  • Strategy
  • Research
    • Reparametrization
    • Quad meshing
    • Curvilinear meshing
      • Perspectives
Page 11: An Overview of the GMSH project

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle C Geuzaine G Compegravere E MarchandiseHigh Quality Surface Remeshing Using Harmonic Maps IJNME 83pp 403-425 2010

E Marchandise MWillemet G Bricteux C Geuzaine J-F RemacleQuality meshing based on STL triangulations for biomedicalsimulations IJNMBE 83 pp 876-889 2010

E Marchandise C Carton de Wiart W Vos C Geuzaine J-FRemacleHigh Quality Surface Remeshing Using Harmonic Maps PARTIISurfaces with high genus and of large aspect ratio IJNME 86 pp1303-1321 2011

ReparametrizationCAD data is not suitable for FE analysis

Geometric models contain a lot ofpatchesExample CAD data issued formCATIATM 852 patchesAre not suitable for FE analysis

1 small model edges are present inthe patches

2 that lead to triangles of poorquality

Reparametrize through existingpatches could be highly useful

1 291 surface patches remaining2 suitable CFD mesh build from

remeshed surface

Remeshingbased on cross-patch parametrizationMarcum 1999 Aftomosis 1999

ReparametrizationCAD data is not suitable for FE analysis

Geometric models contain a lot ofpatchesExample CAD data issued formCATIATM 852 patchesAre not suitable for FE analysis

1 small model edges are present inthe patches

2 that lead to triangles of poorquality

Reparametrize through existingpatches could be highly useful

1 291 surface patches remaining2 suitable CFD mesh build from

remeshed surface

Remeshingbased on cross-patch parametrizationMarcum 1999 Aftomosis 1999

ReparametrizationCAD data is not suitable for FE analysis

Geometric models contain a lot ofpatchesExample CAD data issued formCATIATM 852 patchesAre not suitable for FE analysis

1 small model edges are present inthe patches

2 that lead to triangles of poorquality

Reparametrize through existingpatches could be highly useful

1 291 surface patches remaining2 suitable CFD mesh build from

remeshed surface

Remeshingbased on cross-patch parametrizationMarcum 1999 Aftomosis 1999

ReparametrizationCAD data is not suitable for FE analysis

Geometric models contain a lot ofpatchesExample CAD data issued formCATIATM 852 patchesAre not suitable for FE analysis

1 small model edges are present inthe patches

2 that lead to triangles of poorquality

Reparametrize through existingpatches could be highly useful

1 291 surface patches remaining2 suitable CFD mesh build from

remeshed surface

Remeshingbased on cross-patch parametrizationMarcum 1999 Aftomosis 1999

Reparametrization

Computing Conformal mapsThe eigenvector ulowast (Fiedler vector) associated to the smallesteigenvalue λ ie LC ulowast = λulowast is the solution to the constrainedminimization problem

ulowast = argminuute=0utu=1

utLC u (1)

Laplacian and Conformal harmonic maps

Laplacian Conformal

Automatic remeshing

a) b) c)

Remeshing algorithmCompute G = 2NB = 0ηG=0

If needed cut mesh into different partitions of zero genusRemesh the lines at the interfaces between partitionCompute mapping for every partition and remesh the partition inthe parametric space (u(x) coordinates visible for one partition)

Automatic remeshing

Different mesh partitions of a hemi-pelvis in the parametric space(conformal map)

How to partition the mesh

Partitioning a human lung of aspect ratio η= 89

Multilevel Max-cut mesh partitionnerBased on multiscale Laplace map

E Marchandise et al High Quality Surface Remeshing UsingHarmonic Maps PARTII Surfaces with high genus and of large aspectratio IJNME online Jan 2011

High quality meshing for the Laplacian harmonic map

Plot of the quality histogram with high mean quality κ= 094

Remeshed

002

004

006

008

01

012

014

0 02 04 06 08 1

Fre

quen

cyAspect ratio

STL

0

κ= αinscribed radius

circumscribed radius = 4 sin a sin b sin csin a+ sin b+ sin c

(2)

High quality meshing for the Laplacian harmonic map

Time spent in the different steps of the automatic remeshing

The total time for remeshing the initial mesh of 25k triangles is 9s

CPU time lt 100s for mesh of 1e6 elements

High quality meshing

Comparisons with other techniques for surface remeshing

a) b) c)

Figure Remeshing of human lungs a) part of the initial STL triangulationb) remeshed geometry with Mimics (after 2 steps) and c) remeshed lungbased on the Harmonic mapping remeshing procedure

High quality meshing

Remeshed Harmonic map

00200400600801

01201401601802

0 02 04 06 08 1

Fre

quen

cy

Aspect ratio

STL MimicsRemeshed Mimics 1Remeshed Mimics 2

0

Figure Remeshing of human lungs with the presented algorithm ascompared with a commercial package such as Mimics

Efficient surface remeshing

Remeshing of the bunny mesh model of 70k triangles

Remeshing Number of Partition Parametrization Total remeshingpartitions time (s) time (s) time (s)

LSCM Levy 23 30 95 minus

Eck 88 - - 335ABF++ Zayer 2 - 13 -LinABF Zayer 2 - 2 -Present work laplacian part 2 167 14 25 metis part 10 7 14 14

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alBlossom-Quad a non-uniform quadrilateral mesh generator using aminimum cost perfect matching algorithm IJNME In press 2011

J-F Remacle et alA frontal Delaunay quad mesh generator using the Linfin norm IJNMEAccepted 2011

What we aim at

Indirect approach a non-optimal matching algorithmh(xy) = 01+008sin(3x)cos(6y) 836 quads and 240 triangles

τ= 0888825 τ= 0855715

Indirect approach a full-quad approachh(xy) = 01+008sin(3x)cos(6y) only quads

τ= 0854955 τ= 0838941 τ= 0790898

Indirect approach the Blossom-Quad approach

We build G(V E c) an undirected weighted graph Here V is the setof nV vertices E is the set of nE undirected edges andc(E) =

sumc(eij) is an edge-based cost function ie the sum of all

weights associated to every edge eij isin E of the graph

Indirect approach the Blossom-Quad approach

A matching is a subset E prime sube E such that each node of V has at mostone incident edge in E prime

Indirect approach the Blossom-Quad approach

A matching is perfect if each node of V has exactly one incident edgein E prime A perfect matching is optimum if c(E prime) is minimum among allpossible perfect matchings

eij

ti

tj

Indirect approach the Blossom-Quad approach

In 1965 Edmonds invented the Blossom algorithm that solves theproblem of optimum perfect matching in polynomial time Astraightforward implementation of Edmondsrsquos algorithm requiresO(n2

V nE) operationsSince then the worst-case complexity of the Blossom algorithmhas been steadily improving Both Lawler and Gabow achieved arunning time of O(n3

V ) Galil Micali and Gabow improved it toO(nV nE log(nV )) The current best known result in terms of nVand nE is O(nV (nE + lognV ))There is also a long history of computer implementations of theBlossom algorithm starting with the Blossom I code ofEdmonds Johnson and Lockhart In this paper ourimplementation makes use of the Blossom IV code of Cook andRohe1 that has been considered for several years as the fastestavailable implementation of the Blossom algorithm Gmshredistributes this piece of code

1httpwww2isyegatecheduwcookblossom4

Indirect approach Blossom-Quadh(xy) = 01+008sin(3x)cos(6y) only quads

τ= 0888825 τ= 0839313

Existence of perfect matchings

There is no guarantee that even one single perfect matchingexists in a given graphConsider the meshes below It is obvious that no perfectmatching exists for the coarsest oneThe following result known as Tuttersquos theorem proves that noneof the two meshes contains a perfect matching

The Blossom-Quad algorithm

Initial Raw Blossom Vertex Topological Finaltriangulation application smoothing optimization mesh

Quad mesh generation applied to STL modelsh(~x) = 2πR(~x)

Np with R(~x) = 1

κ(~x) NP = 50

Stanford Bunny Aneurysm

Quad mesh generation applied to STL models

τ= 0842549 τ= 0856247

The overall remeshing procedure for both STL examples takesonly 20s (5s for the Blossom-Quad)The quad-dominant meshing algorithm of [Levy et al] takes 271sfor the remeshing of the Stanford bunny

Anisotropic quad mesh generation applied to aparametric model

Anisotropic mesh

Anisotropic metricBuild an anisotropic triangular meshReimannian metric is used to measure distancesHere principal directions of the curvature tensor are used

Indirect approach an obvious problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Cross Fields

ycross

x

y

xcrossθ

The Linfin norm is not invariant by rotation rarr quads should beorientedA cross field (in 2D) is a scalar field θ(u) that gives theorientations of a local system of axis at point u in the parameterplaneThe local value of the cross field θ(uv) is defined only up torotations by π2 we choose to propagate

α(uv) = a(uv)+ ib(uv) = e4iθ(uv)

through a harmonic map

Perpendicular bisectors in the Linfin-norm

Lequiv y +(yo minusxp) = x

x

y

x2 = (xpyp)

(00)

α lt π4

(0xp minusyp)

x3 = (minusxp2xp minusyp)

x1 = (minusxpminusyp)

Bisector of two points x1 = (minusxpminusyp) and x2 = (xpyp) using theLinfin-norm

Circumcenter circumradius and circumcircle

ycross

x3

xcross

Ti

xcθ

R(T θ)

x1

x2

Circumcenter xc of a triangle using the Linfin-norm and circumcircle(red dotted square)

Delaunay and Voronoiuml

Voronoi diagram (dark lines) and Delaunay triangulation both in theLinfin norm

A frontal-Delaunay mesher in the Linfin-norm

The frontal-delaunay technique is based on

Rebay S Efficient unstructured mesh generation by means ofdelaunay triangulation and bowyer-watson algorithm Journal ofComputational Physics 1993 106(1)125ndash138

A frontal-Delaunay mesher in the Linfin-norm

Active

Edge of the front

Resolved

x1

Cn

Cl

L

x3 = (minusxpyp)

x2 = (xpminusyp)

x4

xc

xm

xl

xn

xe

x

y

Illustration of the point insertion algorithm

Car Hood

(a) (b) (c)Conformal reparametrization of a car hood Figure (a) shows the

CAD decomposition of the hood into 18 Beacutezier surfaces and the initialconforming mesh Figure (b) shows the result of the conformal

reparametrization ie isolines of u and v on the whole hood Figure(c) shows the projection of the initial mesh on the parameter plane u

Car Hood18 J-F REMACLE ET AL

(F) (FB) (FLB)

(D) (DB) (DLB)

N η ηw τ() d4() dmax

(FB) 1726 077 037 86 71 6(FLB) 1744 086 039 87 81 5(DB) 1527 090 037 93 81 5

(DLB) 1543 091 043 94 83 5

Figure 15 Pictures of different meshes of the car hood as well as mesh statistics

fields on all surfaces and the conformal reparametrization of all non planar surfaces The meshstatistics are as follows τ = 97 d4 = 91 dmax = 6 η = 095 ηw = 01 The mesh generatedby our approach for some of the planar and cylindrical surfaces of this particular geometry wasa structured mesh This happened however automatically without user interaction or internalheuristics of the mesher This explains the exceptionnaly high value of τ and η in this specificproblem

82 Falcon aircraft

As a second example the Falcon aircraft of Figure 17 is considered A surface mesh has beengenerated using a standard surface mesher whose triangles were patched together to create thecompounds of surfaces represented with different colors in the figure Each compound surfacehas been reparametrized separately by means of a conformal map created using the techniquesdescribed in [6 10 11 12] The mesh size field is composed of a uniform bulk size field δb = 01augmented with line and point sources at critical zones of the aircraft as depicted on Figure 17

The images of the different surfaces in their respective parameter plane can be seen onFigure 18 The resulting mesh is presented on Figure 19 The mesh is composed of 53297

Copyright c 2010 John Wiley amp Sons Ltd Int J Numer Meth Engng 2010 001ndash6Prepared using nmeauthcls

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Parametrizations of the surfaces of the Falcon aircraft in the uvplane

Falcon

Falcon

Falcon

Falcon

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alGeometrical Validity of Curvilinear Finite Elements IJNME Inpreparation 2011

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Roadmap for Gmsh 30

Complete re-build of the GUIUse Qt (a first demo version should be available in 2011)More flexibility reconfigurable GUI (OnleLab project) trueplugins remote control through sockets

Meshing capabilities enhancedCurvilinear meshes (p = 2 and p = 3 in 2011)Hex dominant meshing (DomHex project)Boundary layers (already ok for surface meshes) pyramids (evenfor high order)

Python API has to be cleaned and documented

  • History
  • Strategy
  • Research
    • Reparametrization
    • Quad meshing
    • Curvilinear meshing
      • Perspectives
Page 12: An Overview of the GMSH project

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle C Geuzaine G Compegravere E MarchandiseHigh Quality Surface Remeshing Using Harmonic Maps IJNME 83pp 403-425 2010

E Marchandise MWillemet G Bricteux C Geuzaine J-F RemacleQuality meshing based on STL triangulations for biomedicalsimulations IJNMBE 83 pp 876-889 2010

E Marchandise C Carton de Wiart W Vos C Geuzaine J-FRemacleHigh Quality Surface Remeshing Using Harmonic Maps PARTIISurfaces with high genus and of large aspect ratio IJNME 86 pp1303-1321 2011

ReparametrizationCAD data is not suitable for FE analysis

Geometric models contain a lot ofpatchesExample CAD data issued formCATIATM 852 patchesAre not suitable for FE analysis

1 small model edges are present inthe patches

2 that lead to triangles of poorquality

Reparametrize through existingpatches could be highly useful

1 291 surface patches remaining2 suitable CFD mesh build from

remeshed surface

Remeshingbased on cross-patch parametrizationMarcum 1999 Aftomosis 1999

ReparametrizationCAD data is not suitable for FE analysis

Geometric models contain a lot ofpatchesExample CAD data issued formCATIATM 852 patchesAre not suitable for FE analysis

1 small model edges are present inthe patches

2 that lead to triangles of poorquality

Reparametrize through existingpatches could be highly useful

1 291 surface patches remaining2 suitable CFD mesh build from

remeshed surface

Remeshingbased on cross-patch parametrizationMarcum 1999 Aftomosis 1999

ReparametrizationCAD data is not suitable for FE analysis

Geometric models contain a lot ofpatchesExample CAD data issued formCATIATM 852 patchesAre not suitable for FE analysis

1 small model edges are present inthe patches

2 that lead to triangles of poorquality

Reparametrize through existingpatches could be highly useful

1 291 surface patches remaining2 suitable CFD mesh build from

remeshed surface

Remeshingbased on cross-patch parametrizationMarcum 1999 Aftomosis 1999

ReparametrizationCAD data is not suitable for FE analysis

Geometric models contain a lot ofpatchesExample CAD data issued formCATIATM 852 patchesAre not suitable for FE analysis

1 small model edges are present inthe patches

2 that lead to triangles of poorquality

Reparametrize through existingpatches could be highly useful

1 291 surface patches remaining2 suitable CFD mesh build from

remeshed surface

Remeshingbased on cross-patch parametrizationMarcum 1999 Aftomosis 1999

Reparametrization

Computing Conformal mapsThe eigenvector ulowast (Fiedler vector) associated to the smallesteigenvalue λ ie LC ulowast = λulowast is the solution to the constrainedminimization problem

ulowast = argminuute=0utu=1

utLC u (1)

Laplacian and Conformal harmonic maps

Laplacian Conformal

Automatic remeshing

a) b) c)

Remeshing algorithmCompute G = 2NB = 0ηG=0

If needed cut mesh into different partitions of zero genusRemesh the lines at the interfaces between partitionCompute mapping for every partition and remesh the partition inthe parametric space (u(x) coordinates visible for one partition)

Automatic remeshing

Different mesh partitions of a hemi-pelvis in the parametric space(conformal map)

How to partition the mesh

Partitioning a human lung of aspect ratio η= 89

Multilevel Max-cut mesh partitionnerBased on multiscale Laplace map

E Marchandise et al High Quality Surface Remeshing UsingHarmonic Maps PARTII Surfaces with high genus and of large aspectratio IJNME online Jan 2011

High quality meshing for the Laplacian harmonic map

Plot of the quality histogram with high mean quality κ= 094

Remeshed

002

004

006

008

01

012

014

0 02 04 06 08 1

Fre

quen

cyAspect ratio

STL

0

κ= αinscribed radius

circumscribed radius = 4 sin a sin b sin csin a+ sin b+ sin c

(2)

High quality meshing for the Laplacian harmonic map

Time spent in the different steps of the automatic remeshing

The total time for remeshing the initial mesh of 25k triangles is 9s

CPU time lt 100s for mesh of 1e6 elements

High quality meshing

Comparisons with other techniques for surface remeshing

a) b) c)

Figure Remeshing of human lungs a) part of the initial STL triangulationb) remeshed geometry with Mimics (after 2 steps) and c) remeshed lungbased on the Harmonic mapping remeshing procedure

High quality meshing

Remeshed Harmonic map

00200400600801

01201401601802

0 02 04 06 08 1

Fre

quen

cy

Aspect ratio

STL MimicsRemeshed Mimics 1Remeshed Mimics 2

0

Figure Remeshing of human lungs with the presented algorithm ascompared with a commercial package such as Mimics

Efficient surface remeshing

Remeshing of the bunny mesh model of 70k triangles

Remeshing Number of Partition Parametrization Total remeshingpartitions time (s) time (s) time (s)

LSCM Levy 23 30 95 minus

Eck 88 - - 335ABF++ Zayer 2 - 13 -LinABF Zayer 2 - 2 -Present work laplacian part 2 167 14 25 metis part 10 7 14 14

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alBlossom-Quad a non-uniform quadrilateral mesh generator using aminimum cost perfect matching algorithm IJNME In press 2011

J-F Remacle et alA frontal Delaunay quad mesh generator using the Linfin norm IJNMEAccepted 2011

What we aim at

Indirect approach a non-optimal matching algorithmh(xy) = 01+008sin(3x)cos(6y) 836 quads and 240 triangles

τ= 0888825 τ= 0855715

Indirect approach a full-quad approachh(xy) = 01+008sin(3x)cos(6y) only quads

τ= 0854955 τ= 0838941 τ= 0790898

Indirect approach the Blossom-Quad approach

We build G(V E c) an undirected weighted graph Here V is the setof nV vertices E is the set of nE undirected edges andc(E) =

sumc(eij) is an edge-based cost function ie the sum of all

weights associated to every edge eij isin E of the graph

Indirect approach the Blossom-Quad approach

A matching is a subset E prime sube E such that each node of V has at mostone incident edge in E prime

Indirect approach the Blossom-Quad approach

A matching is perfect if each node of V has exactly one incident edgein E prime A perfect matching is optimum if c(E prime) is minimum among allpossible perfect matchings

eij

ti

tj

Indirect approach the Blossom-Quad approach

In 1965 Edmonds invented the Blossom algorithm that solves theproblem of optimum perfect matching in polynomial time Astraightforward implementation of Edmondsrsquos algorithm requiresO(n2

V nE) operationsSince then the worst-case complexity of the Blossom algorithmhas been steadily improving Both Lawler and Gabow achieved arunning time of O(n3

V ) Galil Micali and Gabow improved it toO(nV nE log(nV )) The current best known result in terms of nVand nE is O(nV (nE + lognV ))There is also a long history of computer implementations of theBlossom algorithm starting with the Blossom I code ofEdmonds Johnson and Lockhart In this paper ourimplementation makes use of the Blossom IV code of Cook andRohe1 that has been considered for several years as the fastestavailable implementation of the Blossom algorithm Gmshredistributes this piece of code

1httpwww2isyegatecheduwcookblossom4

Indirect approach Blossom-Quadh(xy) = 01+008sin(3x)cos(6y) only quads

τ= 0888825 τ= 0839313

Existence of perfect matchings

There is no guarantee that even one single perfect matchingexists in a given graphConsider the meshes below It is obvious that no perfectmatching exists for the coarsest oneThe following result known as Tuttersquos theorem proves that noneof the two meshes contains a perfect matching

The Blossom-Quad algorithm

Initial Raw Blossom Vertex Topological Finaltriangulation application smoothing optimization mesh

Quad mesh generation applied to STL modelsh(~x) = 2πR(~x)

Np with R(~x) = 1

κ(~x) NP = 50

Stanford Bunny Aneurysm

Quad mesh generation applied to STL models

τ= 0842549 τ= 0856247

The overall remeshing procedure for both STL examples takesonly 20s (5s for the Blossom-Quad)The quad-dominant meshing algorithm of [Levy et al] takes 271sfor the remeshing of the Stanford bunny

Anisotropic quad mesh generation applied to aparametric model

Anisotropic mesh

Anisotropic metricBuild an anisotropic triangular meshReimannian metric is used to measure distancesHere principal directions of the curvature tensor are used

Indirect approach an obvious problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Cross Fields

ycross

x

y

xcrossθ

The Linfin norm is not invariant by rotation rarr quads should beorientedA cross field (in 2D) is a scalar field θ(u) that gives theorientations of a local system of axis at point u in the parameterplaneThe local value of the cross field θ(uv) is defined only up torotations by π2 we choose to propagate

α(uv) = a(uv)+ ib(uv) = e4iθ(uv)

through a harmonic map

Perpendicular bisectors in the Linfin-norm

Lequiv y +(yo minusxp) = x

x

y

x2 = (xpyp)

(00)

α lt π4

(0xp minusyp)

x3 = (minusxp2xp minusyp)

x1 = (minusxpminusyp)

Bisector of two points x1 = (minusxpminusyp) and x2 = (xpyp) using theLinfin-norm

Circumcenter circumradius and circumcircle

ycross

x3

xcross

Ti

xcθ

R(T θ)

x1

x2

Circumcenter xc of a triangle using the Linfin-norm and circumcircle(red dotted square)

Delaunay and Voronoiuml

Voronoi diagram (dark lines) and Delaunay triangulation both in theLinfin norm

A frontal-Delaunay mesher in the Linfin-norm

The frontal-delaunay technique is based on

Rebay S Efficient unstructured mesh generation by means ofdelaunay triangulation and bowyer-watson algorithm Journal ofComputational Physics 1993 106(1)125ndash138

A frontal-Delaunay mesher in the Linfin-norm

Active

Edge of the front

Resolved

x1

Cn

Cl

L

x3 = (minusxpyp)

x2 = (xpminusyp)

x4

xc

xm

xl

xn

xe

x

y

Illustration of the point insertion algorithm

Car Hood

(a) (b) (c)Conformal reparametrization of a car hood Figure (a) shows the

CAD decomposition of the hood into 18 Beacutezier surfaces and the initialconforming mesh Figure (b) shows the result of the conformal

reparametrization ie isolines of u and v on the whole hood Figure(c) shows the projection of the initial mesh on the parameter plane u

Car Hood18 J-F REMACLE ET AL

(F) (FB) (FLB)

(D) (DB) (DLB)

N η ηw τ() d4() dmax

(FB) 1726 077 037 86 71 6(FLB) 1744 086 039 87 81 5(DB) 1527 090 037 93 81 5

(DLB) 1543 091 043 94 83 5

Figure 15 Pictures of different meshes of the car hood as well as mesh statistics

fields on all surfaces and the conformal reparametrization of all non planar surfaces The meshstatistics are as follows τ = 97 d4 = 91 dmax = 6 η = 095 ηw = 01 The mesh generatedby our approach for some of the planar and cylindrical surfaces of this particular geometry wasa structured mesh This happened however automatically without user interaction or internalheuristics of the mesher This explains the exceptionnaly high value of τ and η in this specificproblem

82 Falcon aircraft

As a second example the Falcon aircraft of Figure 17 is considered A surface mesh has beengenerated using a standard surface mesher whose triangles were patched together to create thecompounds of surfaces represented with different colors in the figure Each compound surfacehas been reparametrized separately by means of a conformal map created using the techniquesdescribed in [6 10 11 12] The mesh size field is composed of a uniform bulk size field δb = 01augmented with line and point sources at critical zones of the aircraft as depicted on Figure 17

The images of the different surfaces in their respective parameter plane can be seen onFigure 18 The resulting mesh is presented on Figure 19 The mesh is composed of 53297

Copyright c 2010 John Wiley amp Sons Ltd Int J Numer Meth Engng 2010 001ndash6Prepared using nmeauthcls

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Parametrizations of the surfaces of the Falcon aircraft in the uvplane

Falcon

Falcon

Falcon

Falcon

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alGeometrical Validity of Curvilinear Finite Elements IJNME Inpreparation 2011

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Roadmap for Gmsh 30

Complete re-build of the GUIUse Qt (a first demo version should be available in 2011)More flexibility reconfigurable GUI (OnleLab project) trueplugins remote control through sockets

Meshing capabilities enhancedCurvilinear meshes (p = 2 and p = 3 in 2011)Hex dominant meshing (DomHex project)Boundary layers (already ok for surface meshes) pyramids (evenfor high order)

Python API has to be cleaned and documented

  • History
  • Strategy
  • Research
    • Reparametrization
    • Quad meshing
    • Curvilinear meshing
      • Perspectives
Page 13: An Overview of the GMSH project

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle C Geuzaine G Compegravere E MarchandiseHigh Quality Surface Remeshing Using Harmonic Maps IJNME 83pp 403-425 2010

E Marchandise MWillemet G Bricteux C Geuzaine J-F RemacleQuality meshing based on STL triangulations for biomedicalsimulations IJNMBE 83 pp 876-889 2010

E Marchandise C Carton de Wiart W Vos C Geuzaine J-FRemacleHigh Quality Surface Remeshing Using Harmonic Maps PARTIISurfaces with high genus and of large aspect ratio IJNME 86 pp1303-1321 2011

ReparametrizationCAD data is not suitable for FE analysis

Geometric models contain a lot ofpatchesExample CAD data issued formCATIATM 852 patchesAre not suitable for FE analysis

1 small model edges are present inthe patches

2 that lead to triangles of poorquality

Reparametrize through existingpatches could be highly useful

1 291 surface patches remaining2 suitable CFD mesh build from

remeshed surface

Remeshingbased on cross-patch parametrizationMarcum 1999 Aftomosis 1999

ReparametrizationCAD data is not suitable for FE analysis

Geometric models contain a lot ofpatchesExample CAD data issued formCATIATM 852 patchesAre not suitable for FE analysis

1 small model edges are present inthe patches

2 that lead to triangles of poorquality

Reparametrize through existingpatches could be highly useful

1 291 surface patches remaining2 suitable CFD mesh build from

remeshed surface

Remeshingbased on cross-patch parametrizationMarcum 1999 Aftomosis 1999

ReparametrizationCAD data is not suitable for FE analysis

Geometric models contain a lot ofpatchesExample CAD data issued formCATIATM 852 patchesAre not suitable for FE analysis

1 small model edges are present inthe patches

2 that lead to triangles of poorquality

Reparametrize through existingpatches could be highly useful

1 291 surface patches remaining2 suitable CFD mesh build from

remeshed surface

Remeshingbased on cross-patch parametrizationMarcum 1999 Aftomosis 1999

ReparametrizationCAD data is not suitable for FE analysis

Geometric models contain a lot ofpatchesExample CAD data issued formCATIATM 852 patchesAre not suitable for FE analysis

1 small model edges are present inthe patches

2 that lead to triangles of poorquality

Reparametrize through existingpatches could be highly useful

1 291 surface patches remaining2 suitable CFD mesh build from

remeshed surface

Remeshingbased on cross-patch parametrizationMarcum 1999 Aftomosis 1999

Reparametrization

Computing Conformal mapsThe eigenvector ulowast (Fiedler vector) associated to the smallesteigenvalue λ ie LC ulowast = λulowast is the solution to the constrainedminimization problem

ulowast = argminuute=0utu=1

utLC u (1)

Laplacian and Conformal harmonic maps

Laplacian Conformal

Automatic remeshing

a) b) c)

Remeshing algorithmCompute G = 2NB = 0ηG=0

If needed cut mesh into different partitions of zero genusRemesh the lines at the interfaces between partitionCompute mapping for every partition and remesh the partition inthe parametric space (u(x) coordinates visible for one partition)

Automatic remeshing

Different mesh partitions of a hemi-pelvis in the parametric space(conformal map)

How to partition the mesh

Partitioning a human lung of aspect ratio η= 89

Multilevel Max-cut mesh partitionnerBased on multiscale Laplace map

E Marchandise et al High Quality Surface Remeshing UsingHarmonic Maps PARTII Surfaces with high genus and of large aspectratio IJNME online Jan 2011

High quality meshing for the Laplacian harmonic map

Plot of the quality histogram with high mean quality κ= 094

Remeshed

002

004

006

008

01

012

014

0 02 04 06 08 1

Fre

quen

cyAspect ratio

STL

0

κ= αinscribed radius

circumscribed radius = 4 sin a sin b sin csin a+ sin b+ sin c

(2)

High quality meshing for the Laplacian harmonic map

Time spent in the different steps of the automatic remeshing

The total time for remeshing the initial mesh of 25k triangles is 9s

CPU time lt 100s for mesh of 1e6 elements

High quality meshing

Comparisons with other techniques for surface remeshing

a) b) c)

Figure Remeshing of human lungs a) part of the initial STL triangulationb) remeshed geometry with Mimics (after 2 steps) and c) remeshed lungbased on the Harmonic mapping remeshing procedure

High quality meshing

Remeshed Harmonic map

00200400600801

01201401601802

0 02 04 06 08 1

Fre

quen

cy

Aspect ratio

STL MimicsRemeshed Mimics 1Remeshed Mimics 2

0

Figure Remeshing of human lungs with the presented algorithm ascompared with a commercial package such as Mimics

Efficient surface remeshing

Remeshing of the bunny mesh model of 70k triangles

Remeshing Number of Partition Parametrization Total remeshingpartitions time (s) time (s) time (s)

LSCM Levy 23 30 95 minus

Eck 88 - - 335ABF++ Zayer 2 - 13 -LinABF Zayer 2 - 2 -Present work laplacian part 2 167 14 25 metis part 10 7 14 14

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alBlossom-Quad a non-uniform quadrilateral mesh generator using aminimum cost perfect matching algorithm IJNME In press 2011

J-F Remacle et alA frontal Delaunay quad mesh generator using the Linfin norm IJNMEAccepted 2011

What we aim at

Indirect approach a non-optimal matching algorithmh(xy) = 01+008sin(3x)cos(6y) 836 quads and 240 triangles

τ= 0888825 τ= 0855715

Indirect approach a full-quad approachh(xy) = 01+008sin(3x)cos(6y) only quads

τ= 0854955 τ= 0838941 τ= 0790898

Indirect approach the Blossom-Quad approach

We build G(V E c) an undirected weighted graph Here V is the setof nV vertices E is the set of nE undirected edges andc(E) =

sumc(eij) is an edge-based cost function ie the sum of all

weights associated to every edge eij isin E of the graph

Indirect approach the Blossom-Quad approach

A matching is a subset E prime sube E such that each node of V has at mostone incident edge in E prime

Indirect approach the Blossom-Quad approach

A matching is perfect if each node of V has exactly one incident edgein E prime A perfect matching is optimum if c(E prime) is minimum among allpossible perfect matchings

eij

ti

tj

Indirect approach the Blossom-Quad approach

In 1965 Edmonds invented the Blossom algorithm that solves theproblem of optimum perfect matching in polynomial time Astraightforward implementation of Edmondsrsquos algorithm requiresO(n2

V nE) operationsSince then the worst-case complexity of the Blossom algorithmhas been steadily improving Both Lawler and Gabow achieved arunning time of O(n3

V ) Galil Micali and Gabow improved it toO(nV nE log(nV )) The current best known result in terms of nVand nE is O(nV (nE + lognV ))There is also a long history of computer implementations of theBlossom algorithm starting with the Blossom I code ofEdmonds Johnson and Lockhart In this paper ourimplementation makes use of the Blossom IV code of Cook andRohe1 that has been considered for several years as the fastestavailable implementation of the Blossom algorithm Gmshredistributes this piece of code

1httpwww2isyegatecheduwcookblossom4

Indirect approach Blossom-Quadh(xy) = 01+008sin(3x)cos(6y) only quads

τ= 0888825 τ= 0839313

Existence of perfect matchings

There is no guarantee that even one single perfect matchingexists in a given graphConsider the meshes below It is obvious that no perfectmatching exists for the coarsest oneThe following result known as Tuttersquos theorem proves that noneof the two meshes contains a perfect matching

The Blossom-Quad algorithm

Initial Raw Blossom Vertex Topological Finaltriangulation application smoothing optimization mesh

Quad mesh generation applied to STL modelsh(~x) = 2πR(~x)

Np with R(~x) = 1

κ(~x) NP = 50

Stanford Bunny Aneurysm

Quad mesh generation applied to STL models

τ= 0842549 τ= 0856247

The overall remeshing procedure for both STL examples takesonly 20s (5s for the Blossom-Quad)The quad-dominant meshing algorithm of [Levy et al] takes 271sfor the remeshing of the Stanford bunny

Anisotropic quad mesh generation applied to aparametric model

Anisotropic mesh

Anisotropic metricBuild an anisotropic triangular meshReimannian metric is used to measure distancesHere principal directions of the curvature tensor are used

Indirect approach an obvious problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Cross Fields

ycross

x

y

xcrossθ

The Linfin norm is not invariant by rotation rarr quads should beorientedA cross field (in 2D) is a scalar field θ(u) that gives theorientations of a local system of axis at point u in the parameterplaneThe local value of the cross field θ(uv) is defined only up torotations by π2 we choose to propagate

α(uv) = a(uv)+ ib(uv) = e4iθ(uv)

through a harmonic map

Perpendicular bisectors in the Linfin-norm

Lequiv y +(yo minusxp) = x

x

y

x2 = (xpyp)

(00)

α lt π4

(0xp minusyp)

x3 = (minusxp2xp minusyp)

x1 = (minusxpminusyp)

Bisector of two points x1 = (minusxpminusyp) and x2 = (xpyp) using theLinfin-norm

Circumcenter circumradius and circumcircle

ycross

x3

xcross

Ti

xcθ

R(T θ)

x1

x2

Circumcenter xc of a triangle using the Linfin-norm and circumcircle(red dotted square)

Delaunay and Voronoiuml

Voronoi diagram (dark lines) and Delaunay triangulation both in theLinfin norm

A frontal-Delaunay mesher in the Linfin-norm

The frontal-delaunay technique is based on

Rebay S Efficient unstructured mesh generation by means ofdelaunay triangulation and bowyer-watson algorithm Journal ofComputational Physics 1993 106(1)125ndash138

A frontal-Delaunay mesher in the Linfin-norm

Active

Edge of the front

Resolved

x1

Cn

Cl

L

x3 = (minusxpyp)

x2 = (xpminusyp)

x4

xc

xm

xl

xn

xe

x

y

Illustration of the point insertion algorithm

Car Hood

(a) (b) (c)Conformal reparametrization of a car hood Figure (a) shows the

CAD decomposition of the hood into 18 Beacutezier surfaces and the initialconforming mesh Figure (b) shows the result of the conformal

reparametrization ie isolines of u and v on the whole hood Figure(c) shows the projection of the initial mesh on the parameter plane u

Car Hood18 J-F REMACLE ET AL

(F) (FB) (FLB)

(D) (DB) (DLB)

N η ηw τ() d4() dmax

(FB) 1726 077 037 86 71 6(FLB) 1744 086 039 87 81 5(DB) 1527 090 037 93 81 5

(DLB) 1543 091 043 94 83 5

Figure 15 Pictures of different meshes of the car hood as well as mesh statistics

fields on all surfaces and the conformal reparametrization of all non planar surfaces The meshstatistics are as follows τ = 97 d4 = 91 dmax = 6 η = 095 ηw = 01 The mesh generatedby our approach for some of the planar and cylindrical surfaces of this particular geometry wasa structured mesh This happened however automatically without user interaction or internalheuristics of the mesher This explains the exceptionnaly high value of τ and η in this specificproblem

82 Falcon aircraft

As a second example the Falcon aircraft of Figure 17 is considered A surface mesh has beengenerated using a standard surface mesher whose triangles were patched together to create thecompounds of surfaces represented with different colors in the figure Each compound surfacehas been reparametrized separately by means of a conformal map created using the techniquesdescribed in [6 10 11 12] The mesh size field is composed of a uniform bulk size field δb = 01augmented with line and point sources at critical zones of the aircraft as depicted on Figure 17

The images of the different surfaces in their respective parameter plane can be seen onFigure 18 The resulting mesh is presented on Figure 19 The mesh is composed of 53297

Copyright c 2010 John Wiley amp Sons Ltd Int J Numer Meth Engng 2010 001ndash6Prepared using nmeauthcls

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Parametrizations of the surfaces of the Falcon aircraft in the uvplane

Falcon

Falcon

Falcon

Falcon

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alGeometrical Validity of Curvilinear Finite Elements IJNME Inpreparation 2011

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Roadmap for Gmsh 30

Complete re-build of the GUIUse Qt (a first demo version should be available in 2011)More flexibility reconfigurable GUI (OnleLab project) trueplugins remote control through sockets

Meshing capabilities enhancedCurvilinear meshes (p = 2 and p = 3 in 2011)Hex dominant meshing (DomHex project)Boundary layers (already ok for surface meshes) pyramids (evenfor high order)

Python API has to be cleaned and documented

  • History
  • Strategy
  • Research
    • Reparametrization
    • Quad meshing
    • Curvilinear meshing
      • Perspectives
Page 14: An Overview of the GMSH project

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle C Geuzaine G Compegravere E MarchandiseHigh Quality Surface Remeshing Using Harmonic Maps IJNME 83pp 403-425 2010

E Marchandise MWillemet G Bricteux C Geuzaine J-F RemacleQuality meshing based on STL triangulations for biomedicalsimulations IJNMBE 83 pp 876-889 2010

E Marchandise C Carton de Wiart W Vos C Geuzaine J-FRemacleHigh Quality Surface Remeshing Using Harmonic Maps PARTIISurfaces with high genus and of large aspect ratio IJNME 86 pp1303-1321 2011

ReparametrizationCAD data is not suitable for FE analysis

Geometric models contain a lot ofpatchesExample CAD data issued formCATIATM 852 patchesAre not suitable for FE analysis

1 small model edges are present inthe patches

2 that lead to triangles of poorquality

Reparametrize through existingpatches could be highly useful

1 291 surface patches remaining2 suitable CFD mesh build from

remeshed surface

Remeshingbased on cross-patch parametrizationMarcum 1999 Aftomosis 1999

ReparametrizationCAD data is not suitable for FE analysis

Geometric models contain a lot ofpatchesExample CAD data issued formCATIATM 852 patchesAre not suitable for FE analysis

1 small model edges are present inthe patches

2 that lead to triangles of poorquality

Reparametrize through existingpatches could be highly useful

1 291 surface patches remaining2 suitable CFD mesh build from

remeshed surface

Remeshingbased on cross-patch parametrizationMarcum 1999 Aftomosis 1999

ReparametrizationCAD data is not suitable for FE analysis

Geometric models contain a lot ofpatchesExample CAD data issued formCATIATM 852 patchesAre not suitable for FE analysis

1 small model edges are present inthe patches

2 that lead to triangles of poorquality

Reparametrize through existingpatches could be highly useful

1 291 surface patches remaining2 suitable CFD mesh build from

remeshed surface

Remeshingbased on cross-patch parametrizationMarcum 1999 Aftomosis 1999

ReparametrizationCAD data is not suitable for FE analysis

Geometric models contain a lot ofpatchesExample CAD data issued formCATIATM 852 patchesAre not suitable for FE analysis

1 small model edges are present inthe patches

2 that lead to triangles of poorquality

Reparametrize through existingpatches could be highly useful

1 291 surface patches remaining2 suitable CFD mesh build from

remeshed surface

Remeshingbased on cross-patch parametrizationMarcum 1999 Aftomosis 1999

Reparametrization

Computing Conformal mapsThe eigenvector ulowast (Fiedler vector) associated to the smallesteigenvalue λ ie LC ulowast = λulowast is the solution to the constrainedminimization problem

ulowast = argminuute=0utu=1

utLC u (1)

Laplacian and Conformal harmonic maps

Laplacian Conformal

Automatic remeshing

a) b) c)

Remeshing algorithmCompute G = 2NB = 0ηG=0

If needed cut mesh into different partitions of zero genusRemesh the lines at the interfaces between partitionCompute mapping for every partition and remesh the partition inthe parametric space (u(x) coordinates visible for one partition)

Automatic remeshing

Different mesh partitions of a hemi-pelvis in the parametric space(conformal map)

How to partition the mesh

Partitioning a human lung of aspect ratio η= 89

Multilevel Max-cut mesh partitionnerBased on multiscale Laplace map

E Marchandise et al High Quality Surface Remeshing UsingHarmonic Maps PARTII Surfaces with high genus and of large aspectratio IJNME online Jan 2011

High quality meshing for the Laplacian harmonic map

Plot of the quality histogram with high mean quality κ= 094

Remeshed

002

004

006

008

01

012

014

0 02 04 06 08 1

Fre

quen

cyAspect ratio

STL

0

κ= αinscribed radius

circumscribed radius = 4 sin a sin b sin csin a+ sin b+ sin c

(2)

High quality meshing for the Laplacian harmonic map

Time spent in the different steps of the automatic remeshing

The total time for remeshing the initial mesh of 25k triangles is 9s

CPU time lt 100s for mesh of 1e6 elements

High quality meshing

Comparisons with other techniques for surface remeshing

a) b) c)

Figure Remeshing of human lungs a) part of the initial STL triangulationb) remeshed geometry with Mimics (after 2 steps) and c) remeshed lungbased on the Harmonic mapping remeshing procedure

High quality meshing

Remeshed Harmonic map

00200400600801

01201401601802

0 02 04 06 08 1

Fre

quen

cy

Aspect ratio

STL MimicsRemeshed Mimics 1Remeshed Mimics 2

0

Figure Remeshing of human lungs with the presented algorithm ascompared with a commercial package such as Mimics

Efficient surface remeshing

Remeshing of the bunny mesh model of 70k triangles

Remeshing Number of Partition Parametrization Total remeshingpartitions time (s) time (s) time (s)

LSCM Levy 23 30 95 minus

Eck 88 - - 335ABF++ Zayer 2 - 13 -LinABF Zayer 2 - 2 -Present work laplacian part 2 167 14 25 metis part 10 7 14 14

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alBlossom-Quad a non-uniform quadrilateral mesh generator using aminimum cost perfect matching algorithm IJNME In press 2011

J-F Remacle et alA frontal Delaunay quad mesh generator using the Linfin norm IJNMEAccepted 2011

What we aim at

Indirect approach a non-optimal matching algorithmh(xy) = 01+008sin(3x)cos(6y) 836 quads and 240 triangles

τ= 0888825 τ= 0855715

Indirect approach a full-quad approachh(xy) = 01+008sin(3x)cos(6y) only quads

τ= 0854955 τ= 0838941 τ= 0790898

Indirect approach the Blossom-Quad approach

We build G(V E c) an undirected weighted graph Here V is the setof nV vertices E is the set of nE undirected edges andc(E) =

sumc(eij) is an edge-based cost function ie the sum of all

weights associated to every edge eij isin E of the graph

Indirect approach the Blossom-Quad approach

A matching is a subset E prime sube E such that each node of V has at mostone incident edge in E prime

Indirect approach the Blossom-Quad approach

A matching is perfect if each node of V has exactly one incident edgein E prime A perfect matching is optimum if c(E prime) is minimum among allpossible perfect matchings

eij

ti

tj

Indirect approach the Blossom-Quad approach

In 1965 Edmonds invented the Blossom algorithm that solves theproblem of optimum perfect matching in polynomial time Astraightforward implementation of Edmondsrsquos algorithm requiresO(n2

V nE) operationsSince then the worst-case complexity of the Blossom algorithmhas been steadily improving Both Lawler and Gabow achieved arunning time of O(n3

V ) Galil Micali and Gabow improved it toO(nV nE log(nV )) The current best known result in terms of nVand nE is O(nV (nE + lognV ))There is also a long history of computer implementations of theBlossom algorithm starting with the Blossom I code ofEdmonds Johnson and Lockhart In this paper ourimplementation makes use of the Blossom IV code of Cook andRohe1 that has been considered for several years as the fastestavailable implementation of the Blossom algorithm Gmshredistributes this piece of code

1httpwww2isyegatecheduwcookblossom4

Indirect approach Blossom-Quadh(xy) = 01+008sin(3x)cos(6y) only quads

τ= 0888825 τ= 0839313

Existence of perfect matchings

There is no guarantee that even one single perfect matchingexists in a given graphConsider the meshes below It is obvious that no perfectmatching exists for the coarsest oneThe following result known as Tuttersquos theorem proves that noneof the two meshes contains a perfect matching

The Blossom-Quad algorithm

Initial Raw Blossom Vertex Topological Finaltriangulation application smoothing optimization mesh

Quad mesh generation applied to STL modelsh(~x) = 2πR(~x)

Np with R(~x) = 1

κ(~x) NP = 50

Stanford Bunny Aneurysm

Quad mesh generation applied to STL models

τ= 0842549 τ= 0856247

The overall remeshing procedure for both STL examples takesonly 20s (5s for the Blossom-Quad)The quad-dominant meshing algorithm of [Levy et al] takes 271sfor the remeshing of the Stanford bunny

Anisotropic quad mesh generation applied to aparametric model

Anisotropic mesh

Anisotropic metricBuild an anisotropic triangular meshReimannian metric is used to measure distancesHere principal directions of the curvature tensor are used

Indirect approach an obvious problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Cross Fields

ycross

x

y

xcrossθ

The Linfin norm is not invariant by rotation rarr quads should beorientedA cross field (in 2D) is a scalar field θ(u) that gives theorientations of a local system of axis at point u in the parameterplaneThe local value of the cross field θ(uv) is defined only up torotations by π2 we choose to propagate

α(uv) = a(uv)+ ib(uv) = e4iθ(uv)

through a harmonic map

Perpendicular bisectors in the Linfin-norm

Lequiv y +(yo minusxp) = x

x

y

x2 = (xpyp)

(00)

α lt π4

(0xp minusyp)

x3 = (minusxp2xp minusyp)

x1 = (minusxpminusyp)

Bisector of two points x1 = (minusxpminusyp) and x2 = (xpyp) using theLinfin-norm

Circumcenter circumradius and circumcircle

ycross

x3

xcross

Ti

xcθ

R(T θ)

x1

x2

Circumcenter xc of a triangle using the Linfin-norm and circumcircle(red dotted square)

Delaunay and Voronoiuml

Voronoi diagram (dark lines) and Delaunay triangulation both in theLinfin norm

A frontal-Delaunay mesher in the Linfin-norm

The frontal-delaunay technique is based on

Rebay S Efficient unstructured mesh generation by means ofdelaunay triangulation and bowyer-watson algorithm Journal ofComputational Physics 1993 106(1)125ndash138

A frontal-Delaunay mesher in the Linfin-norm

Active

Edge of the front

Resolved

x1

Cn

Cl

L

x3 = (minusxpyp)

x2 = (xpminusyp)

x4

xc

xm

xl

xn

xe

x

y

Illustration of the point insertion algorithm

Car Hood

(a) (b) (c)Conformal reparametrization of a car hood Figure (a) shows the

CAD decomposition of the hood into 18 Beacutezier surfaces and the initialconforming mesh Figure (b) shows the result of the conformal

reparametrization ie isolines of u and v on the whole hood Figure(c) shows the projection of the initial mesh on the parameter plane u

Car Hood18 J-F REMACLE ET AL

(F) (FB) (FLB)

(D) (DB) (DLB)

N η ηw τ() d4() dmax

(FB) 1726 077 037 86 71 6(FLB) 1744 086 039 87 81 5(DB) 1527 090 037 93 81 5

(DLB) 1543 091 043 94 83 5

Figure 15 Pictures of different meshes of the car hood as well as mesh statistics

fields on all surfaces and the conformal reparametrization of all non planar surfaces The meshstatistics are as follows τ = 97 d4 = 91 dmax = 6 η = 095 ηw = 01 The mesh generatedby our approach for some of the planar and cylindrical surfaces of this particular geometry wasa structured mesh This happened however automatically without user interaction or internalheuristics of the mesher This explains the exceptionnaly high value of τ and η in this specificproblem

82 Falcon aircraft

As a second example the Falcon aircraft of Figure 17 is considered A surface mesh has beengenerated using a standard surface mesher whose triangles were patched together to create thecompounds of surfaces represented with different colors in the figure Each compound surfacehas been reparametrized separately by means of a conformal map created using the techniquesdescribed in [6 10 11 12] The mesh size field is composed of a uniform bulk size field δb = 01augmented with line and point sources at critical zones of the aircraft as depicted on Figure 17

The images of the different surfaces in their respective parameter plane can be seen onFigure 18 The resulting mesh is presented on Figure 19 The mesh is composed of 53297

Copyright c 2010 John Wiley amp Sons Ltd Int J Numer Meth Engng 2010 001ndash6Prepared using nmeauthcls

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Parametrizations of the surfaces of the Falcon aircraft in the uvplane

Falcon

Falcon

Falcon

Falcon

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alGeometrical Validity of Curvilinear Finite Elements IJNME Inpreparation 2011

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Roadmap for Gmsh 30

Complete re-build of the GUIUse Qt (a first demo version should be available in 2011)More flexibility reconfigurable GUI (OnleLab project) trueplugins remote control through sockets

Meshing capabilities enhancedCurvilinear meshes (p = 2 and p = 3 in 2011)Hex dominant meshing (DomHex project)Boundary layers (already ok for surface meshes) pyramids (evenfor high order)

Python API has to be cleaned and documented

  • History
  • Strategy
  • Research
    • Reparametrization
    • Quad meshing
    • Curvilinear meshing
      • Perspectives
Page 15: An Overview of the GMSH project

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle C Geuzaine G Compegravere E MarchandiseHigh Quality Surface Remeshing Using Harmonic Maps IJNME 83pp 403-425 2010

E Marchandise MWillemet G Bricteux C Geuzaine J-F RemacleQuality meshing based on STL triangulations for biomedicalsimulations IJNMBE 83 pp 876-889 2010

E Marchandise C Carton de Wiart W Vos C Geuzaine J-FRemacleHigh Quality Surface Remeshing Using Harmonic Maps PARTIISurfaces with high genus and of large aspect ratio IJNME 86 pp1303-1321 2011

ReparametrizationCAD data is not suitable for FE analysis

Geometric models contain a lot ofpatchesExample CAD data issued formCATIATM 852 patchesAre not suitable for FE analysis

1 small model edges are present inthe patches

2 that lead to triangles of poorquality

Reparametrize through existingpatches could be highly useful

1 291 surface patches remaining2 suitable CFD mesh build from

remeshed surface

Remeshingbased on cross-patch parametrizationMarcum 1999 Aftomosis 1999

ReparametrizationCAD data is not suitable for FE analysis

Geometric models contain a lot ofpatchesExample CAD data issued formCATIATM 852 patchesAre not suitable for FE analysis

1 small model edges are present inthe patches

2 that lead to triangles of poorquality

Reparametrize through existingpatches could be highly useful

1 291 surface patches remaining2 suitable CFD mesh build from

remeshed surface

Remeshingbased on cross-patch parametrizationMarcum 1999 Aftomosis 1999

ReparametrizationCAD data is not suitable for FE analysis

Geometric models contain a lot ofpatchesExample CAD data issued formCATIATM 852 patchesAre not suitable for FE analysis

1 small model edges are present inthe patches

2 that lead to triangles of poorquality

Reparametrize through existingpatches could be highly useful

1 291 surface patches remaining2 suitable CFD mesh build from

remeshed surface

Remeshingbased on cross-patch parametrizationMarcum 1999 Aftomosis 1999

ReparametrizationCAD data is not suitable for FE analysis

Geometric models contain a lot ofpatchesExample CAD data issued formCATIATM 852 patchesAre not suitable for FE analysis

1 small model edges are present inthe patches

2 that lead to triangles of poorquality

Reparametrize through existingpatches could be highly useful

1 291 surface patches remaining2 suitable CFD mesh build from

remeshed surface

Remeshingbased on cross-patch parametrizationMarcum 1999 Aftomosis 1999

Reparametrization

Computing Conformal mapsThe eigenvector ulowast (Fiedler vector) associated to the smallesteigenvalue λ ie LC ulowast = λulowast is the solution to the constrainedminimization problem

ulowast = argminuute=0utu=1

utLC u (1)

Laplacian and Conformal harmonic maps

Laplacian Conformal

Automatic remeshing

a) b) c)

Remeshing algorithmCompute G = 2NB = 0ηG=0

If needed cut mesh into different partitions of zero genusRemesh the lines at the interfaces between partitionCompute mapping for every partition and remesh the partition inthe parametric space (u(x) coordinates visible for one partition)

Automatic remeshing

Different mesh partitions of a hemi-pelvis in the parametric space(conformal map)

How to partition the mesh

Partitioning a human lung of aspect ratio η= 89

Multilevel Max-cut mesh partitionnerBased on multiscale Laplace map

E Marchandise et al High Quality Surface Remeshing UsingHarmonic Maps PARTII Surfaces with high genus and of large aspectratio IJNME online Jan 2011

High quality meshing for the Laplacian harmonic map

Plot of the quality histogram with high mean quality κ= 094

Remeshed

002

004

006

008

01

012

014

0 02 04 06 08 1

Fre

quen

cyAspect ratio

STL

0

κ= αinscribed radius

circumscribed radius = 4 sin a sin b sin csin a+ sin b+ sin c

(2)

High quality meshing for the Laplacian harmonic map

Time spent in the different steps of the automatic remeshing

The total time for remeshing the initial mesh of 25k triangles is 9s

CPU time lt 100s for mesh of 1e6 elements

High quality meshing

Comparisons with other techniques for surface remeshing

a) b) c)

Figure Remeshing of human lungs a) part of the initial STL triangulationb) remeshed geometry with Mimics (after 2 steps) and c) remeshed lungbased on the Harmonic mapping remeshing procedure

High quality meshing

Remeshed Harmonic map

00200400600801

01201401601802

0 02 04 06 08 1

Fre

quen

cy

Aspect ratio

STL MimicsRemeshed Mimics 1Remeshed Mimics 2

0

Figure Remeshing of human lungs with the presented algorithm ascompared with a commercial package such as Mimics

Efficient surface remeshing

Remeshing of the bunny mesh model of 70k triangles

Remeshing Number of Partition Parametrization Total remeshingpartitions time (s) time (s) time (s)

LSCM Levy 23 30 95 minus

Eck 88 - - 335ABF++ Zayer 2 - 13 -LinABF Zayer 2 - 2 -Present work laplacian part 2 167 14 25 metis part 10 7 14 14

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alBlossom-Quad a non-uniform quadrilateral mesh generator using aminimum cost perfect matching algorithm IJNME In press 2011

J-F Remacle et alA frontal Delaunay quad mesh generator using the Linfin norm IJNMEAccepted 2011

What we aim at

Indirect approach a non-optimal matching algorithmh(xy) = 01+008sin(3x)cos(6y) 836 quads and 240 triangles

τ= 0888825 τ= 0855715

Indirect approach a full-quad approachh(xy) = 01+008sin(3x)cos(6y) only quads

τ= 0854955 τ= 0838941 τ= 0790898

Indirect approach the Blossom-Quad approach

We build G(V E c) an undirected weighted graph Here V is the setof nV vertices E is the set of nE undirected edges andc(E) =

sumc(eij) is an edge-based cost function ie the sum of all

weights associated to every edge eij isin E of the graph

Indirect approach the Blossom-Quad approach

A matching is a subset E prime sube E such that each node of V has at mostone incident edge in E prime

Indirect approach the Blossom-Quad approach

A matching is perfect if each node of V has exactly one incident edgein E prime A perfect matching is optimum if c(E prime) is minimum among allpossible perfect matchings

eij

ti

tj

Indirect approach the Blossom-Quad approach

In 1965 Edmonds invented the Blossom algorithm that solves theproblem of optimum perfect matching in polynomial time Astraightforward implementation of Edmondsrsquos algorithm requiresO(n2

V nE) operationsSince then the worst-case complexity of the Blossom algorithmhas been steadily improving Both Lawler and Gabow achieved arunning time of O(n3

V ) Galil Micali and Gabow improved it toO(nV nE log(nV )) The current best known result in terms of nVand nE is O(nV (nE + lognV ))There is also a long history of computer implementations of theBlossom algorithm starting with the Blossom I code ofEdmonds Johnson and Lockhart In this paper ourimplementation makes use of the Blossom IV code of Cook andRohe1 that has been considered for several years as the fastestavailable implementation of the Blossom algorithm Gmshredistributes this piece of code

1httpwww2isyegatecheduwcookblossom4

Indirect approach Blossom-Quadh(xy) = 01+008sin(3x)cos(6y) only quads

τ= 0888825 τ= 0839313

Existence of perfect matchings

There is no guarantee that even one single perfect matchingexists in a given graphConsider the meshes below It is obvious that no perfectmatching exists for the coarsest oneThe following result known as Tuttersquos theorem proves that noneof the two meshes contains a perfect matching

The Blossom-Quad algorithm

Initial Raw Blossom Vertex Topological Finaltriangulation application smoothing optimization mesh

Quad mesh generation applied to STL modelsh(~x) = 2πR(~x)

Np with R(~x) = 1

κ(~x) NP = 50

Stanford Bunny Aneurysm

Quad mesh generation applied to STL models

τ= 0842549 τ= 0856247

The overall remeshing procedure for both STL examples takesonly 20s (5s for the Blossom-Quad)The quad-dominant meshing algorithm of [Levy et al] takes 271sfor the remeshing of the Stanford bunny

Anisotropic quad mesh generation applied to aparametric model

Anisotropic mesh

Anisotropic metricBuild an anisotropic triangular meshReimannian metric is used to measure distancesHere principal directions of the curvature tensor are used

Indirect approach an obvious problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Cross Fields

ycross

x

y

xcrossθ

The Linfin norm is not invariant by rotation rarr quads should beorientedA cross field (in 2D) is a scalar field θ(u) that gives theorientations of a local system of axis at point u in the parameterplaneThe local value of the cross field θ(uv) is defined only up torotations by π2 we choose to propagate

α(uv) = a(uv)+ ib(uv) = e4iθ(uv)

through a harmonic map

Perpendicular bisectors in the Linfin-norm

Lequiv y +(yo minusxp) = x

x

y

x2 = (xpyp)

(00)

α lt π4

(0xp minusyp)

x3 = (minusxp2xp minusyp)

x1 = (minusxpminusyp)

Bisector of two points x1 = (minusxpminusyp) and x2 = (xpyp) using theLinfin-norm

Circumcenter circumradius and circumcircle

ycross

x3

xcross

Ti

xcθ

R(T θ)

x1

x2

Circumcenter xc of a triangle using the Linfin-norm and circumcircle(red dotted square)

Delaunay and Voronoiuml

Voronoi diagram (dark lines) and Delaunay triangulation both in theLinfin norm

A frontal-Delaunay mesher in the Linfin-norm

The frontal-delaunay technique is based on

Rebay S Efficient unstructured mesh generation by means ofdelaunay triangulation and bowyer-watson algorithm Journal ofComputational Physics 1993 106(1)125ndash138

A frontal-Delaunay mesher in the Linfin-norm

Active

Edge of the front

Resolved

x1

Cn

Cl

L

x3 = (minusxpyp)

x2 = (xpminusyp)

x4

xc

xm

xl

xn

xe

x

y

Illustration of the point insertion algorithm

Car Hood

(a) (b) (c)Conformal reparametrization of a car hood Figure (a) shows the

CAD decomposition of the hood into 18 Beacutezier surfaces and the initialconforming mesh Figure (b) shows the result of the conformal

reparametrization ie isolines of u and v on the whole hood Figure(c) shows the projection of the initial mesh on the parameter plane u

Car Hood18 J-F REMACLE ET AL

(F) (FB) (FLB)

(D) (DB) (DLB)

N η ηw τ() d4() dmax

(FB) 1726 077 037 86 71 6(FLB) 1744 086 039 87 81 5(DB) 1527 090 037 93 81 5

(DLB) 1543 091 043 94 83 5

Figure 15 Pictures of different meshes of the car hood as well as mesh statistics

fields on all surfaces and the conformal reparametrization of all non planar surfaces The meshstatistics are as follows τ = 97 d4 = 91 dmax = 6 η = 095 ηw = 01 The mesh generatedby our approach for some of the planar and cylindrical surfaces of this particular geometry wasa structured mesh This happened however automatically without user interaction or internalheuristics of the mesher This explains the exceptionnaly high value of τ and η in this specificproblem

82 Falcon aircraft

As a second example the Falcon aircraft of Figure 17 is considered A surface mesh has beengenerated using a standard surface mesher whose triangles were patched together to create thecompounds of surfaces represented with different colors in the figure Each compound surfacehas been reparametrized separately by means of a conformal map created using the techniquesdescribed in [6 10 11 12] The mesh size field is composed of a uniform bulk size field δb = 01augmented with line and point sources at critical zones of the aircraft as depicted on Figure 17

The images of the different surfaces in their respective parameter plane can be seen onFigure 18 The resulting mesh is presented on Figure 19 The mesh is composed of 53297

Copyright c 2010 John Wiley amp Sons Ltd Int J Numer Meth Engng 2010 001ndash6Prepared using nmeauthcls

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Parametrizations of the surfaces of the Falcon aircraft in the uvplane

Falcon

Falcon

Falcon

Falcon

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alGeometrical Validity of Curvilinear Finite Elements IJNME Inpreparation 2011

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Roadmap for Gmsh 30

Complete re-build of the GUIUse Qt (a first demo version should be available in 2011)More flexibility reconfigurable GUI (OnleLab project) trueplugins remote control through sockets

Meshing capabilities enhancedCurvilinear meshes (p = 2 and p = 3 in 2011)Hex dominant meshing (DomHex project)Boundary layers (already ok for surface meshes) pyramids (evenfor high order)

Python API has to be cleaned and documented

  • History
  • Strategy
  • Research
    • Reparametrization
    • Quad meshing
    • Curvilinear meshing
      • Perspectives
Page 16: An Overview of the GMSH project

Strategic choices

Academic RecognitionPublish or perishPETSc users manual (2004) 920 citations (Scholar)LAPACK Usersrsquo guide (1999) 3278 citations (Scholar)The Gmsh paper (DOI101002nme2579) has been published indec 2009 in IJNMEIts citation count is 281 (Scholar) and 91 (Thompson ISI Web ofscience)It is the paper of 2009 that is the most cited in IJNMEhttptwittercomWileyNumEngstatus25871124914

Financial RecognitionIs it adequate to talk about money Double licensing is an opportunity

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle C Geuzaine G Compegravere E MarchandiseHigh Quality Surface Remeshing Using Harmonic Maps IJNME 83pp 403-425 2010

E Marchandise MWillemet G Bricteux C Geuzaine J-F RemacleQuality meshing based on STL triangulations for biomedicalsimulations IJNMBE 83 pp 876-889 2010

E Marchandise C Carton de Wiart W Vos C Geuzaine J-FRemacleHigh Quality Surface Remeshing Using Harmonic Maps PARTIISurfaces with high genus and of large aspect ratio IJNME 86 pp1303-1321 2011

ReparametrizationCAD data is not suitable for FE analysis

Geometric models contain a lot ofpatchesExample CAD data issued formCATIATM 852 patchesAre not suitable for FE analysis

1 small model edges are present inthe patches

2 that lead to triangles of poorquality

Reparametrize through existingpatches could be highly useful

1 291 surface patches remaining2 suitable CFD mesh build from

remeshed surface

Remeshingbased on cross-patch parametrizationMarcum 1999 Aftomosis 1999

ReparametrizationCAD data is not suitable for FE analysis

Geometric models contain a lot ofpatchesExample CAD data issued formCATIATM 852 patchesAre not suitable for FE analysis

1 small model edges are present inthe patches

2 that lead to triangles of poorquality

Reparametrize through existingpatches could be highly useful

1 291 surface patches remaining2 suitable CFD mesh build from

remeshed surface

Remeshingbased on cross-patch parametrizationMarcum 1999 Aftomosis 1999

ReparametrizationCAD data is not suitable for FE analysis

Geometric models contain a lot ofpatchesExample CAD data issued formCATIATM 852 patchesAre not suitable for FE analysis

1 small model edges are present inthe patches

2 that lead to triangles of poorquality

Reparametrize through existingpatches could be highly useful

1 291 surface patches remaining2 suitable CFD mesh build from

remeshed surface

Remeshingbased on cross-patch parametrizationMarcum 1999 Aftomosis 1999

ReparametrizationCAD data is not suitable for FE analysis

Geometric models contain a lot ofpatchesExample CAD data issued formCATIATM 852 patchesAre not suitable for FE analysis

1 small model edges are present inthe patches

2 that lead to triangles of poorquality

Reparametrize through existingpatches could be highly useful

1 291 surface patches remaining2 suitable CFD mesh build from

remeshed surface

Remeshingbased on cross-patch parametrizationMarcum 1999 Aftomosis 1999

Reparametrization

Computing Conformal mapsThe eigenvector ulowast (Fiedler vector) associated to the smallesteigenvalue λ ie LC ulowast = λulowast is the solution to the constrainedminimization problem

ulowast = argminuute=0utu=1

utLC u (1)

Laplacian and Conformal harmonic maps

Laplacian Conformal

Automatic remeshing

a) b) c)

Remeshing algorithmCompute G = 2NB = 0ηG=0

If needed cut mesh into different partitions of zero genusRemesh the lines at the interfaces between partitionCompute mapping for every partition and remesh the partition inthe parametric space (u(x) coordinates visible for one partition)

Automatic remeshing

Different mesh partitions of a hemi-pelvis in the parametric space(conformal map)

How to partition the mesh

Partitioning a human lung of aspect ratio η= 89

Multilevel Max-cut mesh partitionnerBased on multiscale Laplace map

E Marchandise et al High Quality Surface Remeshing UsingHarmonic Maps PARTII Surfaces with high genus and of large aspectratio IJNME online Jan 2011

High quality meshing for the Laplacian harmonic map

Plot of the quality histogram with high mean quality κ= 094

Remeshed

002

004

006

008

01

012

014

0 02 04 06 08 1

Fre

quen

cyAspect ratio

STL

0

κ= αinscribed radius

circumscribed radius = 4 sin a sin b sin csin a+ sin b+ sin c

(2)

High quality meshing for the Laplacian harmonic map

Time spent in the different steps of the automatic remeshing

The total time for remeshing the initial mesh of 25k triangles is 9s

CPU time lt 100s for mesh of 1e6 elements

High quality meshing

Comparisons with other techniques for surface remeshing

a) b) c)

Figure Remeshing of human lungs a) part of the initial STL triangulationb) remeshed geometry with Mimics (after 2 steps) and c) remeshed lungbased on the Harmonic mapping remeshing procedure

High quality meshing

Remeshed Harmonic map

00200400600801

01201401601802

0 02 04 06 08 1

Fre

quen

cy

Aspect ratio

STL MimicsRemeshed Mimics 1Remeshed Mimics 2

0

Figure Remeshing of human lungs with the presented algorithm ascompared with a commercial package such as Mimics

Efficient surface remeshing

Remeshing of the bunny mesh model of 70k triangles

Remeshing Number of Partition Parametrization Total remeshingpartitions time (s) time (s) time (s)

LSCM Levy 23 30 95 minus

Eck 88 - - 335ABF++ Zayer 2 - 13 -LinABF Zayer 2 - 2 -Present work laplacian part 2 167 14 25 metis part 10 7 14 14

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alBlossom-Quad a non-uniform quadrilateral mesh generator using aminimum cost perfect matching algorithm IJNME In press 2011

J-F Remacle et alA frontal Delaunay quad mesh generator using the Linfin norm IJNMEAccepted 2011

What we aim at

Indirect approach a non-optimal matching algorithmh(xy) = 01+008sin(3x)cos(6y) 836 quads and 240 triangles

τ= 0888825 τ= 0855715

Indirect approach a full-quad approachh(xy) = 01+008sin(3x)cos(6y) only quads

τ= 0854955 τ= 0838941 τ= 0790898

Indirect approach the Blossom-Quad approach

We build G(V E c) an undirected weighted graph Here V is the setof nV vertices E is the set of nE undirected edges andc(E) =

sumc(eij) is an edge-based cost function ie the sum of all

weights associated to every edge eij isin E of the graph

Indirect approach the Blossom-Quad approach

A matching is a subset E prime sube E such that each node of V has at mostone incident edge in E prime

Indirect approach the Blossom-Quad approach

A matching is perfect if each node of V has exactly one incident edgein E prime A perfect matching is optimum if c(E prime) is minimum among allpossible perfect matchings

eij

ti

tj

Indirect approach the Blossom-Quad approach

In 1965 Edmonds invented the Blossom algorithm that solves theproblem of optimum perfect matching in polynomial time Astraightforward implementation of Edmondsrsquos algorithm requiresO(n2

V nE) operationsSince then the worst-case complexity of the Blossom algorithmhas been steadily improving Both Lawler and Gabow achieved arunning time of O(n3

V ) Galil Micali and Gabow improved it toO(nV nE log(nV )) The current best known result in terms of nVand nE is O(nV (nE + lognV ))There is also a long history of computer implementations of theBlossom algorithm starting with the Blossom I code ofEdmonds Johnson and Lockhart In this paper ourimplementation makes use of the Blossom IV code of Cook andRohe1 that has been considered for several years as the fastestavailable implementation of the Blossom algorithm Gmshredistributes this piece of code

1httpwww2isyegatecheduwcookblossom4

Indirect approach Blossom-Quadh(xy) = 01+008sin(3x)cos(6y) only quads

τ= 0888825 τ= 0839313

Existence of perfect matchings

There is no guarantee that even one single perfect matchingexists in a given graphConsider the meshes below It is obvious that no perfectmatching exists for the coarsest oneThe following result known as Tuttersquos theorem proves that noneof the two meshes contains a perfect matching

The Blossom-Quad algorithm

Initial Raw Blossom Vertex Topological Finaltriangulation application smoothing optimization mesh

Quad mesh generation applied to STL modelsh(~x) = 2πR(~x)

Np with R(~x) = 1

κ(~x) NP = 50

Stanford Bunny Aneurysm

Quad mesh generation applied to STL models

τ= 0842549 τ= 0856247

The overall remeshing procedure for both STL examples takesonly 20s (5s for the Blossom-Quad)The quad-dominant meshing algorithm of [Levy et al] takes 271sfor the remeshing of the Stanford bunny

Anisotropic quad mesh generation applied to aparametric model

Anisotropic mesh

Anisotropic metricBuild an anisotropic triangular meshReimannian metric is used to measure distancesHere principal directions of the curvature tensor are used

Indirect approach an obvious problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Cross Fields

ycross

x

y

xcrossθ

The Linfin norm is not invariant by rotation rarr quads should beorientedA cross field (in 2D) is a scalar field θ(u) that gives theorientations of a local system of axis at point u in the parameterplaneThe local value of the cross field θ(uv) is defined only up torotations by π2 we choose to propagate

α(uv) = a(uv)+ ib(uv) = e4iθ(uv)

through a harmonic map

Perpendicular bisectors in the Linfin-norm

Lequiv y +(yo minusxp) = x

x

y

x2 = (xpyp)

(00)

α lt π4

(0xp minusyp)

x3 = (minusxp2xp minusyp)

x1 = (minusxpminusyp)

Bisector of two points x1 = (minusxpminusyp) and x2 = (xpyp) using theLinfin-norm

Circumcenter circumradius and circumcircle

ycross

x3

xcross

Ti

xcθ

R(T θ)

x1

x2

Circumcenter xc of a triangle using the Linfin-norm and circumcircle(red dotted square)

Delaunay and Voronoiuml

Voronoi diagram (dark lines) and Delaunay triangulation both in theLinfin norm

A frontal-Delaunay mesher in the Linfin-norm

The frontal-delaunay technique is based on

Rebay S Efficient unstructured mesh generation by means ofdelaunay triangulation and bowyer-watson algorithm Journal ofComputational Physics 1993 106(1)125ndash138

A frontal-Delaunay mesher in the Linfin-norm

Active

Edge of the front

Resolved

x1

Cn

Cl

L

x3 = (minusxpyp)

x2 = (xpminusyp)

x4

xc

xm

xl

xn

xe

x

y

Illustration of the point insertion algorithm

Car Hood

(a) (b) (c)Conformal reparametrization of a car hood Figure (a) shows the

CAD decomposition of the hood into 18 Beacutezier surfaces and the initialconforming mesh Figure (b) shows the result of the conformal

reparametrization ie isolines of u and v on the whole hood Figure(c) shows the projection of the initial mesh on the parameter plane u

Car Hood18 J-F REMACLE ET AL

(F) (FB) (FLB)

(D) (DB) (DLB)

N η ηw τ() d4() dmax

(FB) 1726 077 037 86 71 6(FLB) 1744 086 039 87 81 5(DB) 1527 090 037 93 81 5

(DLB) 1543 091 043 94 83 5

Figure 15 Pictures of different meshes of the car hood as well as mesh statistics

fields on all surfaces and the conformal reparametrization of all non planar surfaces The meshstatistics are as follows τ = 97 d4 = 91 dmax = 6 η = 095 ηw = 01 The mesh generatedby our approach for some of the planar and cylindrical surfaces of this particular geometry wasa structured mesh This happened however automatically without user interaction or internalheuristics of the mesher This explains the exceptionnaly high value of τ and η in this specificproblem

82 Falcon aircraft

As a second example the Falcon aircraft of Figure 17 is considered A surface mesh has beengenerated using a standard surface mesher whose triangles were patched together to create thecompounds of surfaces represented with different colors in the figure Each compound surfacehas been reparametrized separately by means of a conformal map created using the techniquesdescribed in [6 10 11 12] The mesh size field is composed of a uniform bulk size field δb = 01augmented with line and point sources at critical zones of the aircraft as depicted on Figure 17

The images of the different surfaces in their respective parameter plane can be seen onFigure 18 The resulting mesh is presented on Figure 19 The mesh is composed of 53297

Copyright c 2010 John Wiley amp Sons Ltd Int J Numer Meth Engng 2010 001ndash6Prepared using nmeauthcls

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Parametrizations of the surfaces of the Falcon aircraft in the uvplane

Falcon

Falcon

Falcon

Falcon

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alGeometrical Validity of Curvilinear Finite Elements IJNME Inpreparation 2011

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Roadmap for Gmsh 30

Complete re-build of the GUIUse Qt (a first demo version should be available in 2011)More flexibility reconfigurable GUI (OnleLab project) trueplugins remote control through sockets

Meshing capabilities enhancedCurvilinear meshes (p = 2 and p = 3 in 2011)Hex dominant meshing (DomHex project)Boundary layers (already ok for surface meshes) pyramids (evenfor high order)

Python API has to be cleaned and documented

  • History
  • Strategy
  • Research
    • Reparametrization
    • Quad meshing
    • Curvilinear meshing
      • Perspectives
Page 17: An Overview of the GMSH project

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle C Geuzaine G Compegravere E MarchandiseHigh Quality Surface Remeshing Using Harmonic Maps IJNME 83pp 403-425 2010

E Marchandise MWillemet G Bricteux C Geuzaine J-F RemacleQuality meshing based on STL triangulations for biomedicalsimulations IJNMBE 83 pp 876-889 2010

E Marchandise C Carton de Wiart W Vos C Geuzaine J-FRemacleHigh Quality Surface Remeshing Using Harmonic Maps PARTIISurfaces with high genus and of large aspect ratio IJNME 86 pp1303-1321 2011

ReparametrizationCAD data is not suitable for FE analysis

Geometric models contain a lot ofpatchesExample CAD data issued formCATIATM 852 patchesAre not suitable for FE analysis

1 small model edges are present inthe patches

2 that lead to triangles of poorquality

Reparametrize through existingpatches could be highly useful

1 291 surface patches remaining2 suitable CFD mesh build from

remeshed surface

Remeshingbased on cross-patch parametrizationMarcum 1999 Aftomosis 1999

ReparametrizationCAD data is not suitable for FE analysis

Geometric models contain a lot ofpatchesExample CAD data issued formCATIATM 852 patchesAre not suitable for FE analysis

1 small model edges are present inthe patches

2 that lead to triangles of poorquality

Reparametrize through existingpatches could be highly useful

1 291 surface patches remaining2 suitable CFD mesh build from

remeshed surface

Remeshingbased on cross-patch parametrizationMarcum 1999 Aftomosis 1999

ReparametrizationCAD data is not suitable for FE analysis

Geometric models contain a lot ofpatchesExample CAD data issued formCATIATM 852 patchesAre not suitable for FE analysis

1 small model edges are present inthe patches

2 that lead to triangles of poorquality

Reparametrize through existingpatches could be highly useful

1 291 surface patches remaining2 suitable CFD mesh build from

remeshed surface

Remeshingbased on cross-patch parametrizationMarcum 1999 Aftomosis 1999

ReparametrizationCAD data is not suitable for FE analysis

Geometric models contain a lot ofpatchesExample CAD data issued formCATIATM 852 patchesAre not suitable for FE analysis

1 small model edges are present inthe patches

2 that lead to triangles of poorquality

Reparametrize through existingpatches could be highly useful

1 291 surface patches remaining2 suitable CFD mesh build from

remeshed surface

Remeshingbased on cross-patch parametrizationMarcum 1999 Aftomosis 1999

Reparametrization

Computing Conformal mapsThe eigenvector ulowast (Fiedler vector) associated to the smallesteigenvalue λ ie LC ulowast = λulowast is the solution to the constrainedminimization problem

ulowast = argminuute=0utu=1

utLC u (1)

Laplacian and Conformal harmonic maps

Laplacian Conformal

Automatic remeshing

a) b) c)

Remeshing algorithmCompute G = 2NB = 0ηG=0

If needed cut mesh into different partitions of zero genusRemesh the lines at the interfaces between partitionCompute mapping for every partition and remesh the partition inthe parametric space (u(x) coordinates visible for one partition)

Automatic remeshing

Different mesh partitions of a hemi-pelvis in the parametric space(conformal map)

How to partition the mesh

Partitioning a human lung of aspect ratio η= 89

Multilevel Max-cut mesh partitionnerBased on multiscale Laplace map

E Marchandise et al High Quality Surface Remeshing UsingHarmonic Maps PARTII Surfaces with high genus and of large aspectratio IJNME online Jan 2011

High quality meshing for the Laplacian harmonic map

Plot of the quality histogram with high mean quality κ= 094

Remeshed

002

004

006

008

01

012

014

0 02 04 06 08 1

Fre

quen

cyAspect ratio

STL

0

κ= αinscribed radius

circumscribed radius = 4 sin a sin b sin csin a+ sin b+ sin c

(2)

High quality meshing for the Laplacian harmonic map

Time spent in the different steps of the automatic remeshing

The total time for remeshing the initial mesh of 25k triangles is 9s

CPU time lt 100s for mesh of 1e6 elements

High quality meshing

Comparisons with other techniques for surface remeshing

a) b) c)

Figure Remeshing of human lungs a) part of the initial STL triangulationb) remeshed geometry with Mimics (after 2 steps) and c) remeshed lungbased on the Harmonic mapping remeshing procedure

High quality meshing

Remeshed Harmonic map

00200400600801

01201401601802

0 02 04 06 08 1

Fre

quen

cy

Aspect ratio

STL MimicsRemeshed Mimics 1Remeshed Mimics 2

0

Figure Remeshing of human lungs with the presented algorithm ascompared with a commercial package such as Mimics

Efficient surface remeshing

Remeshing of the bunny mesh model of 70k triangles

Remeshing Number of Partition Parametrization Total remeshingpartitions time (s) time (s) time (s)

LSCM Levy 23 30 95 minus

Eck 88 - - 335ABF++ Zayer 2 - 13 -LinABF Zayer 2 - 2 -Present work laplacian part 2 167 14 25 metis part 10 7 14 14

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alBlossom-Quad a non-uniform quadrilateral mesh generator using aminimum cost perfect matching algorithm IJNME In press 2011

J-F Remacle et alA frontal Delaunay quad mesh generator using the Linfin norm IJNMEAccepted 2011

What we aim at

Indirect approach a non-optimal matching algorithmh(xy) = 01+008sin(3x)cos(6y) 836 quads and 240 triangles

τ= 0888825 τ= 0855715

Indirect approach a full-quad approachh(xy) = 01+008sin(3x)cos(6y) only quads

τ= 0854955 τ= 0838941 τ= 0790898

Indirect approach the Blossom-Quad approach

We build G(V E c) an undirected weighted graph Here V is the setof nV vertices E is the set of nE undirected edges andc(E) =

sumc(eij) is an edge-based cost function ie the sum of all

weights associated to every edge eij isin E of the graph

Indirect approach the Blossom-Quad approach

A matching is a subset E prime sube E such that each node of V has at mostone incident edge in E prime

Indirect approach the Blossom-Quad approach

A matching is perfect if each node of V has exactly one incident edgein E prime A perfect matching is optimum if c(E prime) is minimum among allpossible perfect matchings

eij

ti

tj

Indirect approach the Blossom-Quad approach

In 1965 Edmonds invented the Blossom algorithm that solves theproblem of optimum perfect matching in polynomial time Astraightforward implementation of Edmondsrsquos algorithm requiresO(n2

V nE) operationsSince then the worst-case complexity of the Blossom algorithmhas been steadily improving Both Lawler and Gabow achieved arunning time of O(n3

V ) Galil Micali and Gabow improved it toO(nV nE log(nV )) The current best known result in terms of nVand nE is O(nV (nE + lognV ))There is also a long history of computer implementations of theBlossom algorithm starting with the Blossom I code ofEdmonds Johnson and Lockhart In this paper ourimplementation makes use of the Blossom IV code of Cook andRohe1 that has been considered for several years as the fastestavailable implementation of the Blossom algorithm Gmshredistributes this piece of code

1httpwww2isyegatecheduwcookblossom4

Indirect approach Blossom-Quadh(xy) = 01+008sin(3x)cos(6y) only quads

τ= 0888825 τ= 0839313

Existence of perfect matchings

There is no guarantee that even one single perfect matchingexists in a given graphConsider the meshes below It is obvious that no perfectmatching exists for the coarsest oneThe following result known as Tuttersquos theorem proves that noneof the two meshes contains a perfect matching

The Blossom-Quad algorithm

Initial Raw Blossom Vertex Topological Finaltriangulation application smoothing optimization mesh

Quad mesh generation applied to STL modelsh(~x) = 2πR(~x)

Np with R(~x) = 1

κ(~x) NP = 50

Stanford Bunny Aneurysm

Quad mesh generation applied to STL models

τ= 0842549 τ= 0856247

The overall remeshing procedure for both STL examples takesonly 20s (5s for the Blossom-Quad)The quad-dominant meshing algorithm of [Levy et al] takes 271sfor the remeshing of the Stanford bunny

Anisotropic quad mesh generation applied to aparametric model

Anisotropic mesh

Anisotropic metricBuild an anisotropic triangular meshReimannian metric is used to measure distancesHere principal directions of the curvature tensor are used

Indirect approach an obvious problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Cross Fields

ycross

x

y

xcrossθ

The Linfin norm is not invariant by rotation rarr quads should beorientedA cross field (in 2D) is a scalar field θ(u) that gives theorientations of a local system of axis at point u in the parameterplaneThe local value of the cross field θ(uv) is defined only up torotations by π2 we choose to propagate

α(uv) = a(uv)+ ib(uv) = e4iθ(uv)

through a harmonic map

Perpendicular bisectors in the Linfin-norm

Lequiv y +(yo minusxp) = x

x

y

x2 = (xpyp)

(00)

α lt π4

(0xp minusyp)

x3 = (minusxp2xp minusyp)

x1 = (minusxpminusyp)

Bisector of two points x1 = (minusxpminusyp) and x2 = (xpyp) using theLinfin-norm

Circumcenter circumradius and circumcircle

ycross

x3

xcross

Ti

xcθ

R(T θ)

x1

x2

Circumcenter xc of a triangle using the Linfin-norm and circumcircle(red dotted square)

Delaunay and Voronoiuml

Voronoi diagram (dark lines) and Delaunay triangulation both in theLinfin norm

A frontal-Delaunay mesher in the Linfin-norm

The frontal-delaunay technique is based on

Rebay S Efficient unstructured mesh generation by means ofdelaunay triangulation and bowyer-watson algorithm Journal ofComputational Physics 1993 106(1)125ndash138

A frontal-Delaunay mesher in the Linfin-norm

Active

Edge of the front

Resolved

x1

Cn

Cl

L

x3 = (minusxpyp)

x2 = (xpminusyp)

x4

xc

xm

xl

xn

xe

x

y

Illustration of the point insertion algorithm

Car Hood

(a) (b) (c)Conformal reparametrization of a car hood Figure (a) shows the

CAD decomposition of the hood into 18 Beacutezier surfaces and the initialconforming mesh Figure (b) shows the result of the conformal

reparametrization ie isolines of u and v on the whole hood Figure(c) shows the projection of the initial mesh on the parameter plane u

Car Hood18 J-F REMACLE ET AL

(F) (FB) (FLB)

(D) (DB) (DLB)

N η ηw τ() d4() dmax

(FB) 1726 077 037 86 71 6(FLB) 1744 086 039 87 81 5(DB) 1527 090 037 93 81 5

(DLB) 1543 091 043 94 83 5

Figure 15 Pictures of different meshes of the car hood as well as mesh statistics

fields on all surfaces and the conformal reparametrization of all non planar surfaces The meshstatistics are as follows τ = 97 d4 = 91 dmax = 6 η = 095 ηw = 01 The mesh generatedby our approach for some of the planar and cylindrical surfaces of this particular geometry wasa structured mesh This happened however automatically without user interaction or internalheuristics of the mesher This explains the exceptionnaly high value of τ and η in this specificproblem

82 Falcon aircraft

As a second example the Falcon aircraft of Figure 17 is considered A surface mesh has beengenerated using a standard surface mesher whose triangles were patched together to create thecompounds of surfaces represented with different colors in the figure Each compound surfacehas been reparametrized separately by means of a conformal map created using the techniquesdescribed in [6 10 11 12] The mesh size field is composed of a uniform bulk size field δb = 01augmented with line and point sources at critical zones of the aircraft as depicted on Figure 17

The images of the different surfaces in their respective parameter plane can be seen onFigure 18 The resulting mesh is presented on Figure 19 The mesh is composed of 53297

Copyright c 2010 John Wiley amp Sons Ltd Int J Numer Meth Engng 2010 001ndash6Prepared using nmeauthcls

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Parametrizations of the surfaces of the Falcon aircraft in the uvplane

Falcon

Falcon

Falcon

Falcon

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alGeometrical Validity of Curvilinear Finite Elements IJNME Inpreparation 2011

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Roadmap for Gmsh 30

Complete re-build of the GUIUse Qt (a first demo version should be available in 2011)More flexibility reconfigurable GUI (OnleLab project) trueplugins remote control through sockets

Meshing capabilities enhancedCurvilinear meshes (p = 2 and p = 3 in 2011)Hex dominant meshing (DomHex project)Boundary layers (already ok for surface meshes) pyramids (evenfor high order)

Python API has to be cleaned and documented

  • History
  • Strategy
  • Research
    • Reparametrization
    • Quad meshing
    • Curvilinear meshing
      • Perspectives
Page 18: An Overview of the GMSH project

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle C Geuzaine G Compegravere E MarchandiseHigh Quality Surface Remeshing Using Harmonic Maps IJNME 83pp 403-425 2010

E Marchandise MWillemet G Bricteux C Geuzaine J-F RemacleQuality meshing based on STL triangulations for biomedicalsimulations IJNMBE 83 pp 876-889 2010

E Marchandise C Carton de Wiart W Vos C Geuzaine J-FRemacleHigh Quality Surface Remeshing Using Harmonic Maps PARTIISurfaces with high genus and of large aspect ratio IJNME 86 pp1303-1321 2011

ReparametrizationCAD data is not suitable for FE analysis

Geometric models contain a lot ofpatchesExample CAD data issued formCATIATM 852 patchesAre not suitable for FE analysis

1 small model edges are present inthe patches

2 that lead to triangles of poorquality

Reparametrize through existingpatches could be highly useful

1 291 surface patches remaining2 suitable CFD mesh build from

remeshed surface

Remeshingbased on cross-patch parametrizationMarcum 1999 Aftomosis 1999

ReparametrizationCAD data is not suitable for FE analysis

Geometric models contain a lot ofpatchesExample CAD data issued formCATIATM 852 patchesAre not suitable for FE analysis

1 small model edges are present inthe patches

2 that lead to triangles of poorquality

Reparametrize through existingpatches could be highly useful

1 291 surface patches remaining2 suitable CFD mesh build from

remeshed surface

Remeshingbased on cross-patch parametrizationMarcum 1999 Aftomosis 1999

ReparametrizationCAD data is not suitable for FE analysis

Geometric models contain a lot ofpatchesExample CAD data issued formCATIATM 852 patchesAre not suitable for FE analysis

1 small model edges are present inthe patches

2 that lead to triangles of poorquality

Reparametrize through existingpatches could be highly useful

1 291 surface patches remaining2 suitable CFD mesh build from

remeshed surface

Remeshingbased on cross-patch parametrizationMarcum 1999 Aftomosis 1999

ReparametrizationCAD data is not suitable for FE analysis

Geometric models contain a lot ofpatchesExample CAD data issued formCATIATM 852 patchesAre not suitable for FE analysis

1 small model edges are present inthe patches

2 that lead to triangles of poorquality

Reparametrize through existingpatches could be highly useful

1 291 surface patches remaining2 suitable CFD mesh build from

remeshed surface

Remeshingbased on cross-patch parametrizationMarcum 1999 Aftomosis 1999

Reparametrization

Computing Conformal mapsThe eigenvector ulowast (Fiedler vector) associated to the smallesteigenvalue λ ie LC ulowast = λulowast is the solution to the constrainedminimization problem

ulowast = argminuute=0utu=1

utLC u (1)

Laplacian and Conformal harmonic maps

Laplacian Conformal

Automatic remeshing

a) b) c)

Remeshing algorithmCompute G = 2NB = 0ηG=0

If needed cut mesh into different partitions of zero genusRemesh the lines at the interfaces between partitionCompute mapping for every partition and remesh the partition inthe parametric space (u(x) coordinates visible for one partition)

Automatic remeshing

Different mesh partitions of a hemi-pelvis in the parametric space(conformal map)

How to partition the mesh

Partitioning a human lung of aspect ratio η= 89

Multilevel Max-cut mesh partitionnerBased on multiscale Laplace map

E Marchandise et al High Quality Surface Remeshing UsingHarmonic Maps PARTII Surfaces with high genus and of large aspectratio IJNME online Jan 2011

High quality meshing for the Laplacian harmonic map

Plot of the quality histogram with high mean quality κ= 094

Remeshed

002

004

006

008

01

012

014

0 02 04 06 08 1

Fre

quen

cyAspect ratio

STL

0

κ= αinscribed radius

circumscribed radius = 4 sin a sin b sin csin a+ sin b+ sin c

(2)

High quality meshing for the Laplacian harmonic map

Time spent in the different steps of the automatic remeshing

The total time for remeshing the initial mesh of 25k triangles is 9s

CPU time lt 100s for mesh of 1e6 elements

High quality meshing

Comparisons with other techniques for surface remeshing

a) b) c)

Figure Remeshing of human lungs a) part of the initial STL triangulationb) remeshed geometry with Mimics (after 2 steps) and c) remeshed lungbased on the Harmonic mapping remeshing procedure

High quality meshing

Remeshed Harmonic map

00200400600801

01201401601802

0 02 04 06 08 1

Fre

quen

cy

Aspect ratio

STL MimicsRemeshed Mimics 1Remeshed Mimics 2

0

Figure Remeshing of human lungs with the presented algorithm ascompared with a commercial package such as Mimics

Efficient surface remeshing

Remeshing of the bunny mesh model of 70k triangles

Remeshing Number of Partition Parametrization Total remeshingpartitions time (s) time (s) time (s)

LSCM Levy 23 30 95 minus

Eck 88 - - 335ABF++ Zayer 2 - 13 -LinABF Zayer 2 - 2 -Present work laplacian part 2 167 14 25 metis part 10 7 14 14

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alBlossom-Quad a non-uniform quadrilateral mesh generator using aminimum cost perfect matching algorithm IJNME In press 2011

J-F Remacle et alA frontal Delaunay quad mesh generator using the Linfin norm IJNMEAccepted 2011

What we aim at

Indirect approach a non-optimal matching algorithmh(xy) = 01+008sin(3x)cos(6y) 836 quads and 240 triangles

τ= 0888825 τ= 0855715

Indirect approach a full-quad approachh(xy) = 01+008sin(3x)cos(6y) only quads

τ= 0854955 τ= 0838941 τ= 0790898

Indirect approach the Blossom-Quad approach

We build G(V E c) an undirected weighted graph Here V is the setof nV vertices E is the set of nE undirected edges andc(E) =

sumc(eij) is an edge-based cost function ie the sum of all

weights associated to every edge eij isin E of the graph

Indirect approach the Blossom-Quad approach

A matching is a subset E prime sube E such that each node of V has at mostone incident edge in E prime

Indirect approach the Blossom-Quad approach

A matching is perfect if each node of V has exactly one incident edgein E prime A perfect matching is optimum if c(E prime) is minimum among allpossible perfect matchings

eij

ti

tj

Indirect approach the Blossom-Quad approach

In 1965 Edmonds invented the Blossom algorithm that solves theproblem of optimum perfect matching in polynomial time Astraightforward implementation of Edmondsrsquos algorithm requiresO(n2

V nE) operationsSince then the worst-case complexity of the Blossom algorithmhas been steadily improving Both Lawler and Gabow achieved arunning time of O(n3

V ) Galil Micali and Gabow improved it toO(nV nE log(nV )) The current best known result in terms of nVand nE is O(nV (nE + lognV ))There is also a long history of computer implementations of theBlossom algorithm starting with the Blossom I code ofEdmonds Johnson and Lockhart In this paper ourimplementation makes use of the Blossom IV code of Cook andRohe1 that has been considered for several years as the fastestavailable implementation of the Blossom algorithm Gmshredistributes this piece of code

1httpwww2isyegatecheduwcookblossom4

Indirect approach Blossom-Quadh(xy) = 01+008sin(3x)cos(6y) only quads

τ= 0888825 τ= 0839313

Existence of perfect matchings

There is no guarantee that even one single perfect matchingexists in a given graphConsider the meshes below It is obvious that no perfectmatching exists for the coarsest oneThe following result known as Tuttersquos theorem proves that noneof the two meshes contains a perfect matching

The Blossom-Quad algorithm

Initial Raw Blossom Vertex Topological Finaltriangulation application smoothing optimization mesh

Quad mesh generation applied to STL modelsh(~x) = 2πR(~x)

Np with R(~x) = 1

κ(~x) NP = 50

Stanford Bunny Aneurysm

Quad mesh generation applied to STL models

τ= 0842549 τ= 0856247

The overall remeshing procedure for both STL examples takesonly 20s (5s for the Blossom-Quad)The quad-dominant meshing algorithm of [Levy et al] takes 271sfor the remeshing of the Stanford bunny

Anisotropic quad mesh generation applied to aparametric model

Anisotropic mesh

Anisotropic metricBuild an anisotropic triangular meshReimannian metric is used to measure distancesHere principal directions of the curvature tensor are used

Indirect approach an obvious problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Cross Fields

ycross

x

y

xcrossθ

The Linfin norm is not invariant by rotation rarr quads should beorientedA cross field (in 2D) is a scalar field θ(u) that gives theorientations of a local system of axis at point u in the parameterplaneThe local value of the cross field θ(uv) is defined only up torotations by π2 we choose to propagate

α(uv) = a(uv)+ ib(uv) = e4iθ(uv)

through a harmonic map

Perpendicular bisectors in the Linfin-norm

Lequiv y +(yo minusxp) = x

x

y

x2 = (xpyp)

(00)

α lt π4

(0xp minusyp)

x3 = (minusxp2xp minusyp)

x1 = (minusxpminusyp)

Bisector of two points x1 = (minusxpminusyp) and x2 = (xpyp) using theLinfin-norm

Circumcenter circumradius and circumcircle

ycross

x3

xcross

Ti

xcθ

R(T θ)

x1

x2

Circumcenter xc of a triangle using the Linfin-norm and circumcircle(red dotted square)

Delaunay and Voronoiuml

Voronoi diagram (dark lines) and Delaunay triangulation both in theLinfin norm

A frontal-Delaunay mesher in the Linfin-norm

The frontal-delaunay technique is based on

Rebay S Efficient unstructured mesh generation by means ofdelaunay triangulation and bowyer-watson algorithm Journal ofComputational Physics 1993 106(1)125ndash138

A frontal-Delaunay mesher in the Linfin-norm

Active

Edge of the front

Resolved

x1

Cn

Cl

L

x3 = (minusxpyp)

x2 = (xpminusyp)

x4

xc

xm

xl

xn

xe

x

y

Illustration of the point insertion algorithm

Car Hood

(a) (b) (c)Conformal reparametrization of a car hood Figure (a) shows the

CAD decomposition of the hood into 18 Beacutezier surfaces and the initialconforming mesh Figure (b) shows the result of the conformal

reparametrization ie isolines of u and v on the whole hood Figure(c) shows the projection of the initial mesh on the parameter plane u

Car Hood18 J-F REMACLE ET AL

(F) (FB) (FLB)

(D) (DB) (DLB)

N η ηw τ() d4() dmax

(FB) 1726 077 037 86 71 6(FLB) 1744 086 039 87 81 5(DB) 1527 090 037 93 81 5

(DLB) 1543 091 043 94 83 5

Figure 15 Pictures of different meshes of the car hood as well as mesh statistics

fields on all surfaces and the conformal reparametrization of all non planar surfaces The meshstatistics are as follows τ = 97 d4 = 91 dmax = 6 η = 095 ηw = 01 The mesh generatedby our approach for some of the planar and cylindrical surfaces of this particular geometry wasa structured mesh This happened however automatically without user interaction or internalheuristics of the mesher This explains the exceptionnaly high value of τ and η in this specificproblem

82 Falcon aircraft

As a second example the Falcon aircraft of Figure 17 is considered A surface mesh has beengenerated using a standard surface mesher whose triangles were patched together to create thecompounds of surfaces represented with different colors in the figure Each compound surfacehas been reparametrized separately by means of a conformal map created using the techniquesdescribed in [6 10 11 12] The mesh size field is composed of a uniform bulk size field δb = 01augmented with line and point sources at critical zones of the aircraft as depicted on Figure 17

The images of the different surfaces in their respective parameter plane can be seen onFigure 18 The resulting mesh is presented on Figure 19 The mesh is composed of 53297

Copyright c 2010 John Wiley amp Sons Ltd Int J Numer Meth Engng 2010 001ndash6Prepared using nmeauthcls

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Parametrizations of the surfaces of the Falcon aircraft in the uvplane

Falcon

Falcon

Falcon

Falcon

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alGeometrical Validity of Curvilinear Finite Elements IJNME Inpreparation 2011

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Roadmap for Gmsh 30

Complete re-build of the GUIUse Qt (a first demo version should be available in 2011)More flexibility reconfigurable GUI (OnleLab project) trueplugins remote control through sockets

Meshing capabilities enhancedCurvilinear meshes (p = 2 and p = 3 in 2011)Hex dominant meshing (DomHex project)Boundary layers (already ok for surface meshes) pyramids (evenfor high order)

Python API has to be cleaned and documented

  • History
  • Strategy
  • Research
    • Reparametrization
    • Quad meshing
    • Curvilinear meshing
      • Perspectives
Page 19: An Overview of the GMSH project

ReparametrizationCAD data is not suitable for FE analysis

Geometric models contain a lot ofpatchesExample CAD data issued formCATIATM 852 patchesAre not suitable for FE analysis

1 small model edges are present inthe patches

2 that lead to triangles of poorquality

Reparametrize through existingpatches could be highly useful

1 291 surface patches remaining2 suitable CFD mesh build from

remeshed surface

Remeshingbased on cross-patch parametrizationMarcum 1999 Aftomosis 1999

ReparametrizationCAD data is not suitable for FE analysis

Geometric models contain a lot ofpatchesExample CAD data issued formCATIATM 852 patchesAre not suitable for FE analysis

1 small model edges are present inthe patches

2 that lead to triangles of poorquality

Reparametrize through existingpatches could be highly useful

1 291 surface patches remaining2 suitable CFD mesh build from

remeshed surface

Remeshingbased on cross-patch parametrizationMarcum 1999 Aftomosis 1999

ReparametrizationCAD data is not suitable for FE analysis

Geometric models contain a lot ofpatchesExample CAD data issued formCATIATM 852 patchesAre not suitable for FE analysis

1 small model edges are present inthe patches

2 that lead to triangles of poorquality

Reparametrize through existingpatches could be highly useful

1 291 surface patches remaining2 suitable CFD mesh build from

remeshed surface

Remeshingbased on cross-patch parametrizationMarcum 1999 Aftomosis 1999

ReparametrizationCAD data is not suitable for FE analysis

Geometric models contain a lot ofpatchesExample CAD data issued formCATIATM 852 patchesAre not suitable for FE analysis

1 small model edges are present inthe patches

2 that lead to triangles of poorquality

Reparametrize through existingpatches could be highly useful

1 291 surface patches remaining2 suitable CFD mesh build from

remeshed surface

Remeshingbased on cross-patch parametrizationMarcum 1999 Aftomosis 1999

Reparametrization

Computing Conformal mapsThe eigenvector ulowast (Fiedler vector) associated to the smallesteigenvalue λ ie LC ulowast = λulowast is the solution to the constrainedminimization problem

ulowast = argminuute=0utu=1

utLC u (1)

Laplacian and Conformal harmonic maps

Laplacian Conformal

Automatic remeshing

a) b) c)

Remeshing algorithmCompute G = 2NB = 0ηG=0

If needed cut mesh into different partitions of zero genusRemesh the lines at the interfaces between partitionCompute mapping for every partition and remesh the partition inthe parametric space (u(x) coordinates visible for one partition)

Automatic remeshing

Different mesh partitions of a hemi-pelvis in the parametric space(conformal map)

How to partition the mesh

Partitioning a human lung of aspect ratio η= 89

Multilevel Max-cut mesh partitionnerBased on multiscale Laplace map

E Marchandise et al High Quality Surface Remeshing UsingHarmonic Maps PARTII Surfaces with high genus and of large aspectratio IJNME online Jan 2011

High quality meshing for the Laplacian harmonic map

Plot of the quality histogram with high mean quality κ= 094

Remeshed

002

004

006

008

01

012

014

0 02 04 06 08 1

Fre

quen

cyAspect ratio

STL

0

κ= αinscribed radius

circumscribed radius = 4 sin a sin b sin csin a+ sin b+ sin c

(2)

High quality meshing for the Laplacian harmonic map

Time spent in the different steps of the automatic remeshing

The total time for remeshing the initial mesh of 25k triangles is 9s

CPU time lt 100s for mesh of 1e6 elements

High quality meshing

Comparisons with other techniques for surface remeshing

a) b) c)

Figure Remeshing of human lungs a) part of the initial STL triangulationb) remeshed geometry with Mimics (after 2 steps) and c) remeshed lungbased on the Harmonic mapping remeshing procedure

High quality meshing

Remeshed Harmonic map

00200400600801

01201401601802

0 02 04 06 08 1

Fre

quen

cy

Aspect ratio

STL MimicsRemeshed Mimics 1Remeshed Mimics 2

0

Figure Remeshing of human lungs with the presented algorithm ascompared with a commercial package such as Mimics

Efficient surface remeshing

Remeshing of the bunny mesh model of 70k triangles

Remeshing Number of Partition Parametrization Total remeshingpartitions time (s) time (s) time (s)

LSCM Levy 23 30 95 minus

Eck 88 - - 335ABF++ Zayer 2 - 13 -LinABF Zayer 2 - 2 -Present work laplacian part 2 167 14 25 metis part 10 7 14 14

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alBlossom-Quad a non-uniform quadrilateral mesh generator using aminimum cost perfect matching algorithm IJNME In press 2011

J-F Remacle et alA frontal Delaunay quad mesh generator using the Linfin norm IJNMEAccepted 2011

What we aim at

Indirect approach a non-optimal matching algorithmh(xy) = 01+008sin(3x)cos(6y) 836 quads and 240 triangles

τ= 0888825 τ= 0855715

Indirect approach a full-quad approachh(xy) = 01+008sin(3x)cos(6y) only quads

τ= 0854955 τ= 0838941 τ= 0790898

Indirect approach the Blossom-Quad approach

We build G(V E c) an undirected weighted graph Here V is the setof nV vertices E is the set of nE undirected edges andc(E) =

sumc(eij) is an edge-based cost function ie the sum of all

weights associated to every edge eij isin E of the graph

Indirect approach the Blossom-Quad approach

A matching is a subset E prime sube E such that each node of V has at mostone incident edge in E prime

Indirect approach the Blossom-Quad approach

A matching is perfect if each node of V has exactly one incident edgein E prime A perfect matching is optimum if c(E prime) is minimum among allpossible perfect matchings

eij

ti

tj

Indirect approach the Blossom-Quad approach

In 1965 Edmonds invented the Blossom algorithm that solves theproblem of optimum perfect matching in polynomial time Astraightforward implementation of Edmondsrsquos algorithm requiresO(n2

V nE) operationsSince then the worst-case complexity of the Blossom algorithmhas been steadily improving Both Lawler and Gabow achieved arunning time of O(n3

V ) Galil Micali and Gabow improved it toO(nV nE log(nV )) The current best known result in terms of nVand nE is O(nV (nE + lognV ))There is also a long history of computer implementations of theBlossom algorithm starting with the Blossom I code ofEdmonds Johnson and Lockhart In this paper ourimplementation makes use of the Blossom IV code of Cook andRohe1 that has been considered for several years as the fastestavailable implementation of the Blossom algorithm Gmshredistributes this piece of code

1httpwww2isyegatecheduwcookblossom4

Indirect approach Blossom-Quadh(xy) = 01+008sin(3x)cos(6y) only quads

τ= 0888825 τ= 0839313

Existence of perfect matchings

There is no guarantee that even one single perfect matchingexists in a given graphConsider the meshes below It is obvious that no perfectmatching exists for the coarsest oneThe following result known as Tuttersquos theorem proves that noneof the two meshes contains a perfect matching

The Blossom-Quad algorithm

Initial Raw Blossom Vertex Topological Finaltriangulation application smoothing optimization mesh

Quad mesh generation applied to STL modelsh(~x) = 2πR(~x)

Np with R(~x) = 1

κ(~x) NP = 50

Stanford Bunny Aneurysm

Quad mesh generation applied to STL models

τ= 0842549 τ= 0856247

The overall remeshing procedure for both STL examples takesonly 20s (5s for the Blossom-Quad)The quad-dominant meshing algorithm of [Levy et al] takes 271sfor the remeshing of the Stanford bunny

Anisotropic quad mesh generation applied to aparametric model

Anisotropic mesh

Anisotropic metricBuild an anisotropic triangular meshReimannian metric is used to measure distancesHere principal directions of the curvature tensor are used

Indirect approach an obvious problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Cross Fields

ycross

x

y

xcrossθ

The Linfin norm is not invariant by rotation rarr quads should beorientedA cross field (in 2D) is a scalar field θ(u) that gives theorientations of a local system of axis at point u in the parameterplaneThe local value of the cross field θ(uv) is defined only up torotations by π2 we choose to propagate

α(uv) = a(uv)+ ib(uv) = e4iθ(uv)

through a harmonic map

Perpendicular bisectors in the Linfin-norm

Lequiv y +(yo minusxp) = x

x

y

x2 = (xpyp)

(00)

α lt π4

(0xp minusyp)

x3 = (minusxp2xp minusyp)

x1 = (minusxpminusyp)

Bisector of two points x1 = (minusxpminusyp) and x2 = (xpyp) using theLinfin-norm

Circumcenter circumradius and circumcircle

ycross

x3

xcross

Ti

xcθ

R(T θ)

x1

x2

Circumcenter xc of a triangle using the Linfin-norm and circumcircle(red dotted square)

Delaunay and Voronoiuml

Voronoi diagram (dark lines) and Delaunay triangulation both in theLinfin norm

A frontal-Delaunay mesher in the Linfin-norm

The frontal-delaunay technique is based on

Rebay S Efficient unstructured mesh generation by means ofdelaunay triangulation and bowyer-watson algorithm Journal ofComputational Physics 1993 106(1)125ndash138

A frontal-Delaunay mesher in the Linfin-norm

Active

Edge of the front

Resolved

x1

Cn

Cl

L

x3 = (minusxpyp)

x2 = (xpminusyp)

x4

xc

xm

xl

xn

xe

x

y

Illustration of the point insertion algorithm

Car Hood

(a) (b) (c)Conformal reparametrization of a car hood Figure (a) shows the

CAD decomposition of the hood into 18 Beacutezier surfaces and the initialconforming mesh Figure (b) shows the result of the conformal

reparametrization ie isolines of u and v on the whole hood Figure(c) shows the projection of the initial mesh on the parameter plane u

Car Hood18 J-F REMACLE ET AL

(F) (FB) (FLB)

(D) (DB) (DLB)

N η ηw τ() d4() dmax

(FB) 1726 077 037 86 71 6(FLB) 1744 086 039 87 81 5(DB) 1527 090 037 93 81 5

(DLB) 1543 091 043 94 83 5

Figure 15 Pictures of different meshes of the car hood as well as mesh statistics

fields on all surfaces and the conformal reparametrization of all non planar surfaces The meshstatistics are as follows τ = 97 d4 = 91 dmax = 6 η = 095 ηw = 01 The mesh generatedby our approach for some of the planar and cylindrical surfaces of this particular geometry wasa structured mesh This happened however automatically without user interaction or internalheuristics of the mesher This explains the exceptionnaly high value of τ and η in this specificproblem

82 Falcon aircraft

As a second example the Falcon aircraft of Figure 17 is considered A surface mesh has beengenerated using a standard surface mesher whose triangles were patched together to create thecompounds of surfaces represented with different colors in the figure Each compound surfacehas been reparametrized separately by means of a conformal map created using the techniquesdescribed in [6 10 11 12] The mesh size field is composed of a uniform bulk size field δb = 01augmented with line and point sources at critical zones of the aircraft as depicted on Figure 17

The images of the different surfaces in their respective parameter plane can be seen onFigure 18 The resulting mesh is presented on Figure 19 The mesh is composed of 53297

Copyright c 2010 John Wiley amp Sons Ltd Int J Numer Meth Engng 2010 001ndash6Prepared using nmeauthcls

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Parametrizations of the surfaces of the Falcon aircraft in the uvplane

Falcon

Falcon

Falcon

Falcon

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alGeometrical Validity of Curvilinear Finite Elements IJNME Inpreparation 2011

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Roadmap for Gmsh 30

Complete re-build of the GUIUse Qt (a first demo version should be available in 2011)More flexibility reconfigurable GUI (OnleLab project) trueplugins remote control through sockets

Meshing capabilities enhancedCurvilinear meshes (p = 2 and p = 3 in 2011)Hex dominant meshing (DomHex project)Boundary layers (already ok for surface meshes) pyramids (evenfor high order)

Python API has to be cleaned and documented

  • History
  • Strategy
  • Research
    • Reparametrization
    • Quad meshing
    • Curvilinear meshing
      • Perspectives
Page 20: An Overview of the GMSH project

ReparametrizationCAD data is not suitable for FE analysis

Geometric models contain a lot ofpatchesExample CAD data issued formCATIATM 852 patchesAre not suitable for FE analysis

1 small model edges are present inthe patches

2 that lead to triangles of poorquality

Reparametrize through existingpatches could be highly useful

1 291 surface patches remaining2 suitable CFD mesh build from

remeshed surface

Remeshingbased on cross-patch parametrizationMarcum 1999 Aftomosis 1999

ReparametrizationCAD data is not suitable for FE analysis

Geometric models contain a lot ofpatchesExample CAD data issued formCATIATM 852 patchesAre not suitable for FE analysis

1 small model edges are present inthe patches

2 that lead to triangles of poorquality

Reparametrize through existingpatches could be highly useful

1 291 surface patches remaining2 suitable CFD mesh build from

remeshed surface

Remeshingbased on cross-patch parametrizationMarcum 1999 Aftomosis 1999

ReparametrizationCAD data is not suitable for FE analysis

Geometric models contain a lot ofpatchesExample CAD data issued formCATIATM 852 patchesAre not suitable for FE analysis

1 small model edges are present inthe patches

2 that lead to triangles of poorquality

Reparametrize through existingpatches could be highly useful

1 291 surface patches remaining2 suitable CFD mesh build from

remeshed surface

Remeshingbased on cross-patch parametrizationMarcum 1999 Aftomosis 1999

Reparametrization

Computing Conformal mapsThe eigenvector ulowast (Fiedler vector) associated to the smallesteigenvalue λ ie LC ulowast = λulowast is the solution to the constrainedminimization problem

ulowast = argminuute=0utu=1

utLC u (1)

Laplacian and Conformal harmonic maps

Laplacian Conformal

Automatic remeshing

a) b) c)

Remeshing algorithmCompute G = 2NB = 0ηG=0

If needed cut mesh into different partitions of zero genusRemesh the lines at the interfaces between partitionCompute mapping for every partition and remesh the partition inthe parametric space (u(x) coordinates visible for one partition)

Automatic remeshing

Different mesh partitions of a hemi-pelvis in the parametric space(conformal map)

How to partition the mesh

Partitioning a human lung of aspect ratio η= 89

Multilevel Max-cut mesh partitionnerBased on multiscale Laplace map

E Marchandise et al High Quality Surface Remeshing UsingHarmonic Maps PARTII Surfaces with high genus and of large aspectratio IJNME online Jan 2011

High quality meshing for the Laplacian harmonic map

Plot of the quality histogram with high mean quality κ= 094

Remeshed

002

004

006

008

01

012

014

0 02 04 06 08 1

Fre

quen

cyAspect ratio

STL

0

κ= αinscribed radius

circumscribed radius = 4 sin a sin b sin csin a+ sin b+ sin c

(2)

High quality meshing for the Laplacian harmonic map

Time spent in the different steps of the automatic remeshing

The total time for remeshing the initial mesh of 25k triangles is 9s

CPU time lt 100s for mesh of 1e6 elements

High quality meshing

Comparisons with other techniques for surface remeshing

a) b) c)

Figure Remeshing of human lungs a) part of the initial STL triangulationb) remeshed geometry with Mimics (after 2 steps) and c) remeshed lungbased on the Harmonic mapping remeshing procedure

High quality meshing

Remeshed Harmonic map

00200400600801

01201401601802

0 02 04 06 08 1

Fre

quen

cy

Aspect ratio

STL MimicsRemeshed Mimics 1Remeshed Mimics 2

0

Figure Remeshing of human lungs with the presented algorithm ascompared with a commercial package such as Mimics

Efficient surface remeshing

Remeshing of the bunny mesh model of 70k triangles

Remeshing Number of Partition Parametrization Total remeshingpartitions time (s) time (s) time (s)

LSCM Levy 23 30 95 minus

Eck 88 - - 335ABF++ Zayer 2 - 13 -LinABF Zayer 2 - 2 -Present work laplacian part 2 167 14 25 metis part 10 7 14 14

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alBlossom-Quad a non-uniform quadrilateral mesh generator using aminimum cost perfect matching algorithm IJNME In press 2011

J-F Remacle et alA frontal Delaunay quad mesh generator using the Linfin norm IJNMEAccepted 2011

What we aim at

Indirect approach a non-optimal matching algorithmh(xy) = 01+008sin(3x)cos(6y) 836 quads and 240 triangles

τ= 0888825 τ= 0855715

Indirect approach a full-quad approachh(xy) = 01+008sin(3x)cos(6y) only quads

τ= 0854955 τ= 0838941 τ= 0790898

Indirect approach the Blossom-Quad approach

We build G(V E c) an undirected weighted graph Here V is the setof nV vertices E is the set of nE undirected edges andc(E) =

sumc(eij) is an edge-based cost function ie the sum of all

weights associated to every edge eij isin E of the graph

Indirect approach the Blossom-Quad approach

A matching is a subset E prime sube E such that each node of V has at mostone incident edge in E prime

Indirect approach the Blossom-Quad approach

A matching is perfect if each node of V has exactly one incident edgein E prime A perfect matching is optimum if c(E prime) is minimum among allpossible perfect matchings

eij

ti

tj

Indirect approach the Blossom-Quad approach

In 1965 Edmonds invented the Blossom algorithm that solves theproblem of optimum perfect matching in polynomial time Astraightforward implementation of Edmondsrsquos algorithm requiresO(n2

V nE) operationsSince then the worst-case complexity of the Blossom algorithmhas been steadily improving Both Lawler and Gabow achieved arunning time of O(n3

V ) Galil Micali and Gabow improved it toO(nV nE log(nV )) The current best known result in terms of nVand nE is O(nV (nE + lognV ))There is also a long history of computer implementations of theBlossom algorithm starting with the Blossom I code ofEdmonds Johnson and Lockhart In this paper ourimplementation makes use of the Blossom IV code of Cook andRohe1 that has been considered for several years as the fastestavailable implementation of the Blossom algorithm Gmshredistributes this piece of code

1httpwww2isyegatecheduwcookblossom4

Indirect approach Blossom-Quadh(xy) = 01+008sin(3x)cos(6y) only quads

τ= 0888825 τ= 0839313

Existence of perfect matchings

There is no guarantee that even one single perfect matchingexists in a given graphConsider the meshes below It is obvious that no perfectmatching exists for the coarsest oneThe following result known as Tuttersquos theorem proves that noneof the two meshes contains a perfect matching

The Blossom-Quad algorithm

Initial Raw Blossom Vertex Topological Finaltriangulation application smoothing optimization mesh

Quad mesh generation applied to STL modelsh(~x) = 2πR(~x)

Np with R(~x) = 1

κ(~x) NP = 50

Stanford Bunny Aneurysm

Quad mesh generation applied to STL models

τ= 0842549 τ= 0856247

The overall remeshing procedure for both STL examples takesonly 20s (5s for the Blossom-Quad)The quad-dominant meshing algorithm of [Levy et al] takes 271sfor the remeshing of the Stanford bunny

Anisotropic quad mesh generation applied to aparametric model

Anisotropic mesh

Anisotropic metricBuild an anisotropic triangular meshReimannian metric is used to measure distancesHere principal directions of the curvature tensor are used

Indirect approach an obvious problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Cross Fields

ycross

x

y

xcrossθ

The Linfin norm is not invariant by rotation rarr quads should beorientedA cross field (in 2D) is a scalar field θ(u) that gives theorientations of a local system of axis at point u in the parameterplaneThe local value of the cross field θ(uv) is defined only up torotations by π2 we choose to propagate

α(uv) = a(uv)+ ib(uv) = e4iθ(uv)

through a harmonic map

Perpendicular bisectors in the Linfin-norm

Lequiv y +(yo minusxp) = x

x

y

x2 = (xpyp)

(00)

α lt π4

(0xp minusyp)

x3 = (minusxp2xp minusyp)

x1 = (minusxpminusyp)

Bisector of two points x1 = (minusxpminusyp) and x2 = (xpyp) using theLinfin-norm

Circumcenter circumradius and circumcircle

ycross

x3

xcross

Ti

xcθ

R(T θ)

x1

x2

Circumcenter xc of a triangle using the Linfin-norm and circumcircle(red dotted square)

Delaunay and Voronoiuml

Voronoi diagram (dark lines) and Delaunay triangulation both in theLinfin norm

A frontal-Delaunay mesher in the Linfin-norm

The frontal-delaunay technique is based on

Rebay S Efficient unstructured mesh generation by means ofdelaunay triangulation and bowyer-watson algorithm Journal ofComputational Physics 1993 106(1)125ndash138

A frontal-Delaunay mesher in the Linfin-norm

Active

Edge of the front

Resolved

x1

Cn

Cl

L

x3 = (minusxpyp)

x2 = (xpminusyp)

x4

xc

xm

xl

xn

xe

x

y

Illustration of the point insertion algorithm

Car Hood

(a) (b) (c)Conformal reparametrization of a car hood Figure (a) shows the

CAD decomposition of the hood into 18 Beacutezier surfaces and the initialconforming mesh Figure (b) shows the result of the conformal

reparametrization ie isolines of u and v on the whole hood Figure(c) shows the projection of the initial mesh on the parameter plane u

Car Hood18 J-F REMACLE ET AL

(F) (FB) (FLB)

(D) (DB) (DLB)

N η ηw τ() d4() dmax

(FB) 1726 077 037 86 71 6(FLB) 1744 086 039 87 81 5(DB) 1527 090 037 93 81 5

(DLB) 1543 091 043 94 83 5

Figure 15 Pictures of different meshes of the car hood as well as mesh statistics

fields on all surfaces and the conformal reparametrization of all non planar surfaces The meshstatistics are as follows τ = 97 d4 = 91 dmax = 6 η = 095 ηw = 01 The mesh generatedby our approach for some of the planar and cylindrical surfaces of this particular geometry wasa structured mesh This happened however automatically without user interaction or internalheuristics of the mesher This explains the exceptionnaly high value of τ and η in this specificproblem

82 Falcon aircraft

As a second example the Falcon aircraft of Figure 17 is considered A surface mesh has beengenerated using a standard surface mesher whose triangles were patched together to create thecompounds of surfaces represented with different colors in the figure Each compound surfacehas been reparametrized separately by means of a conformal map created using the techniquesdescribed in [6 10 11 12] The mesh size field is composed of a uniform bulk size field δb = 01augmented with line and point sources at critical zones of the aircraft as depicted on Figure 17

The images of the different surfaces in their respective parameter plane can be seen onFigure 18 The resulting mesh is presented on Figure 19 The mesh is composed of 53297

Copyright c 2010 John Wiley amp Sons Ltd Int J Numer Meth Engng 2010 001ndash6Prepared using nmeauthcls

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Parametrizations of the surfaces of the Falcon aircraft in the uvplane

Falcon

Falcon

Falcon

Falcon

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alGeometrical Validity of Curvilinear Finite Elements IJNME Inpreparation 2011

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Roadmap for Gmsh 30

Complete re-build of the GUIUse Qt (a first demo version should be available in 2011)More flexibility reconfigurable GUI (OnleLab project) trueplugins remote control through sockets

Meshing capabilities enhancedCurvilinear meshes (p = 2 and p = 3 in 2011)Hex dominant meshing (DomHex project)Boundary layers (already ok for surface meshes) pyramids (evenfor high order)

Python API has to be cleaned and documented

  • History
  • Strategy
  • Research
    • Reparametrization
    • Quad meshing
    • Curvilinear meshing
      • Perspectives
Page 21: An Overview of the GMSH project

ReparametrizationCAD data is not suitable for FE analysis

Geometric models contain a lot ofpatchesExample CAD data issued formCATIATM 852 patchesAre not suitable for FE analysis

1 small model edges are present inthe patches

2 that lead to triangles of poorquality

Reparametrize through existingpatches could be highly useful

1 291 surface patches remaining2 suitable CFD mesh build from

remeshed surface

Remeshingbased on cross-patch parametrizationMarcum 1999 Aftomosis 1999

ReparametrizationCAD data is not suitable for FE analysis

Geometric models contain a lot ofpatchesExample CAD data issued formCATIATM 852 patchesAre not suitable for FE analysis

1 small model edges are present inthe patches

2 that lead to triangles of poorquality

Reparametrize through existingpatches could be highly useful

1 291 surface patches remaining2 suitable CFD mesh build from

remeshed surface

Remeshingbased on cross-patch parametrizationMarcum 1999 Aftomosis 1999

Reparametrization

Computing Conformal mapsThe eigenvector ulowast (Fiedler vector) associated to the smallesteigenvalue λ ie LC ulowast = λulowast is the solution to the constrainedminimization problem

ulowast = argminuute=0utu=1

utLC u (1)

Laplacian and Conformal harmonic maps

Laplacian Conformal

Automatic remeshing

a) b) c)

Remeshing algorithmCompute G = 2NB = 0ηG=0

If needed cut mesh into different partitions of zero genusRemesh the lines at the interfaces between partitionCompute mapping for every partition and remesh the partition inthe parametric space (u(x) coordinates visible for one partition)

Automatic remeshing

Different mesh partitions of a hemi-pelvis in the parametric space(conformal map)

How to partition the mesh

Partitioning a human lung of aspect ratio η= 89

Multilevel Max-cut mesh partitionnerBased on multiscale Laplace map

E Marchandise et al High Quality Surface Remeshing UsingHarmonic Maps PARTII Surfaces with high genus and of large aspectratio IJNME online Jan 2011

High quality meshing for the Laplacian harmonic map

Plot of the quality histogram with high mean quality κ= 094

Remeshed

002

004

006

008

01

012

014

0 02 04 06 08 1

Fre

quen

cyAspect ratio

STL

0

κ= αinscribed radius

circumscribed radius = 4 sin a sin b sin csin a+ sin b+ sin c

(2)

High quality meshing for the Laplacian harmonic map

Time spent in the different steps of the automatic remeshing

The total time for remeshing the initial mesh of 25k triangles is 9s

CPU time lt 100s for mesh of 1e6 elements

High quality meshing

Comparisons with other techniques for surface remeshing

a) b) c)

Figure Remeshing of human lungs a) part of the initial STL triangulationb) remeshed geometry with Mimics (after 2 steps) and c) remeshed lungbased on the Harmonic mapping remeshing procedure

High quality meshing

Remeshed Harmonic map

00200400600801

01201401601802

0 02 04 06 08 1

Fre

quen

cy

Aspect ratio

STL MimicsRemeshed Mimics 1Remeshed Mimics 2

0

Figure Remeshing of human lungs with the presented algorithm ascompared with a commercial package such as Mimics

Efficient surface remeshing

Remeshing of the bunny mesh model of 70k triangles

Remeshing Number of Partition Parametrization Total remeshingpartitions time (s) time (s) time (s)

LSCM Levy 23 30 95 minus

Eck 88 - - 335ABF++ Zayer 2 - 13 -LinABF Zayer 2 - 2 -Present work laplacian part 2 167 14 25 metis part 10 7 14 14

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alBlossom-Quad a non-uniform quadrilateral mesh generator using aminimum cost perfect matching algorithm IJNME In press 2011

J-F Remacle et alA frontal Delaunay quad mesh generator using the Linfin norm IJNMEAccepted 2011

What we aim at

Indirect approach a non-optimal matching algorithmh(xy) = 01+008sin(3x)cos(6y) 836 quads and 240 triangles

τ= 0888825 τ= 0855715

Indirect approach a full-quad approachh(xy) = 01+008sin(3x)cos(6y) only quads

τ= 0854955 τ= 0838941 τ= 0790898

Indirect approach the Blossom-Quad approach

We build G(V E c) an undirected weighted graph Here V is the setof nV vertices E is the set of nE undirected edges andc(E) =

sumc(eij) is an edge-based cost function ie the sum of all

weights associated to every edge eij isin E of the graph

Indirect approach the Blossom-Quad approach

A matching is a subset E prime sube E such that each node of V has at mostone incident edge in E prime

Indirect approach the Blossom-Quad approach

A matching is perfect if each node of V has exactly one incident edgein E prime A perfect matching is optimum if c(E prime) is minimum among allpossible perfect matchings

eij

ti

tj

Indirect approach the Blossom-Quad approach

In 1965 Edmonds invented the Blossom algorithm that solves theproblem of optimum perfect matching in polynomial time Astraightforward implementation of Edmondsrsquos algorithm requiresO(n2

V nE) operationsSince then the worst-case complexity of the Blossom algorithmhas been steadily improving Both Lawler and Gabow achieved arunning time of O(n3

V ) Galil Micali and Gabow improved it toO(nV nE log(nV )) The current best known result in terms of nVand nE is O(nV (nE + lognV ))There is also a long history of computer implementations of theBlossom algorithm starting with the Blossom I code ofEdmonds Johnson and Lockhart In this paper ourimplementation makes use of the Blossom IV code of Cook andRohe1 that has been considered for several years as the fastestavailable implementation of the Blossom algorithm Gmshredistributes this piece of code

1httpwww2isyegatecheduwcookblossom4

Indirect approach Blossom-Quadh(xy) = 01+008sin(3x)cos(6y) only quads

τ= 0888825 τ= 0839313

Existence of perfect matchings

There is no guarantee that even one single perfect matchingexists in a given graphConsider the meshes below It is obvious that no perfectmatching exists for the coarsest oneThe following result known as Tuttersquos theorem proves that noneof the two meshes contains a perfect matching

The Blossom-Quad algorithm

Initial Raw Blossom Vertex Topological Finaltriangulation application smoothing optimization mesh

Quad mesh generation applied to STL modelsh(~x) = 2πR(~x)

Np with R(~x) = 1

κ(~x) NP = 50

Stanford Bunny Aneurysm

Quad mesh generation applied to STL models

τ= 0842549 τ= 0856247

The overall remeshing procedure for both STL examples takesonly 20s (5s for the Blossom-Quad)The quad-dominant meshing algorithm of [Levy et al] takes 271sfor the remeshing of the Stanford bunny

Anisotropic quad mesh generation applied to aparametric model

Anisotropic mesh

Anisotropic metricBuild an anisotropic triangular meshReimannian metric is used to measure distancesHere principal directions of the curvature tensor are used

Indirect approach an obvious problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Cross Fields

ycross

x

y

xcrossθ

The Linfin norm is not invariant by rotation rarr quads should beorientedA cross field (in 2D) is a scalar field θ(u) that gives theorientations of a local system of axis at point u in the parameterplaneThe local value of the cross field θ(uv) is defined only up torotations by π2 we choose to propagate

α(uv) = a(uv)+ ib(uv) = e4iθ(uv)

through a harmonic map

Perpendicular bisectors in the Linfin-norm

Lequiv y +(yo minusxp) = x

x

y

x2 = (xpyp)

(00)

α lt π4

(0xp minusyp)

x3 = (minusxp2xp minusyp)

x1 = (minusxpminusyp)

Bisector of two points x1 = (minusxpminusyp) and x2 = (xpyp) using theLinfin-norm

Circumcenter circumradius and circumcircle

ycross

x3

xcross

Ti

xcθ

R(T θ)

x1

x2

Circumcenter xc of a triangle using the Linfin-norm and circumcircle(red dotted square)

Delaunay and Voronoiuml

Voronoi diagram (dark lines) and Delaunay triangulation both in theLinfin norm

A frontal-Delaunay mesher in the Linfin-norm

The frontal-delaunay technique is based on

Rebay S Efficient unstructured mesh generation by means ofdelaunay triangulation and bowyer-watson algorithm Journal ofComputational Physics 1993 106(1)125ndash138

A frontal-Delaunay mesher in the Linfin-norm

Active

Edge of the front

Resolved

x1

Cn

Cl

L

x3 = (minusxpyp)

x2 = (xpminusyp)

x4

xc

xm

xl

xn

xe

x

y

Illustration of the point insertion algorithm

Car Hood

(a) (b) (c)Conformal reparametrization of a car hood Figure (a) shows the

CAD decomposition of the hood into 18 Beacutezier surfaces and the initialconforming mesh Figure (b) shows the result of the conformal

reparametrization ie isolines of u and v on the whole hood Figure(c) shows the projection of the initial mesh on the parameter plane u

Car Hood18 J-F REMACLE ET AL

(F) (FB) (FLB)

(D) (DB) (DLB)

N η ηw τ() d4() dmax

(FB) 1726 077 037 86 71 6(FLB) 1744 086 039 87 81 5(DB) 1527 090 037 93 81 5

(DLB) 1543 091 043 94 83 5

Figure 15 Pictures of different meshes of the car hood as well as mesh statistics

fields on all surfaces and the conformal reparametrization of all non planar surfaces The meshstatistics are as follows τ = 97 d4 = 91 dmax = 6 η = 095 ηw = 01 The mesh generatedby our approach for some of the planar and cylindrical surfaces of this particular geometry wasa structured mesh This happened however automatically without user interaction or internalheuristics of the mesher This explains the exceptionnaly high value of τ and η in this specificproblem

82 Falcon aircraft

As a second example the Falcon aircraft of Figure 17 is considered A surface mesh has beengenerated using a standard surface mesher whose triangles were patched together to create thecompounds of surfaces represented with different colors in the figure Each compound surfacehas been reparametrized separately by means of a conformal map created using the techniquesdescribed in [6 10 11 12] The mesh size field is composed of a uniform bulk size field δb = 01augmented with line and point sources at critical zones of the aircraft as depicted on Figure 17

The images of the different surfaces in their respective parameter plane can be seen onFigure 18 The resulting mesh is presented on Figure 19 The mesh is composed of 53297

Copyright c 2010 John Wiley amp Sons Ltd Int J Numer Meth Engng 2010 001ndash6Prepared using nmeauthcls

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Parametrizations of the surfaces of the Falcon aircraft in the uvplane

Falcon

Falcon

Falcon

Falcon

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alGeometrical Validity of Curvilinear Finite Elements IJNME Inpreparation 2011

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Roadmap for Gmsh 30

Complete re-build of the GUIUse Qt (a first demo version should be available in 2011)More flexibility reconfigurable GUI (OnleLab project) trueplugins remote control through sockets

Meshing capabilities enhancedCurvilinear meshes (p = 2 and p = 3 in 2011)Hex dominant meshing (DomHex project)Boundary layers (already ok for surface meshes) pyramids (evenfor high order)

Python API has to be cleaned and documented

  • History
  • Strategy
  • Research
    • Reparametrization
    • Quad meshing
    • Curvilinear meshing
      • Perspectives
Page 22: An Overview of the GMSH project

ReparametrizationCAD data is not suitable for FE analysis

Geometric models contain a lot ofpatchesExample CAD data issued formCATIATM 852 patchesAre not suitable for FE analysis

1 small model edges are present inthe patches

2 that lead to triangles of poorquality

Reparametrize through existingpatches could be highly useful

1 291 surface patches remaining2 suitable CFD mesh build from

remeshed surface

Remeshingbased on cross-patch parametrizationMarcum 1999 Aftomosis 1999

Reparametrization

Computing Conformal mapsThe eigenvector ulowast (Fiedler vector) associated to the smallesteigenvalue λ ie LC ulowast = λulowast is the solution to the constrainedminimization problem

ulowast = argminuute=0utu=1

utLC u (1)

Laplacian and Conformal harmonic maps

Laplacian Conformal

Automatic remeshing

a) b) c)

Remeshing algorithmCompute G = 2NB = 0ηG=0

If needed cut mesh into different partitions of zero genusRemesh the lines at the interfaces between partitionCompute mapping for every partition and remesh the partition inthe parametric space (u(x) coordinates visible for one partition)

Automatic remeshing

Different mesh partitions of a hemi-pelvis in the parametric space(conformal map)

How to partition the mesh

Partitioning a human lung of aspect ratio η= 89

Multilevel Max-cut mesh partitionnerBased on multiscale Laplace map

E Marchandise et al High Quality Surface Remeshing UsingHarmonic Maps PARTII Surfaces with high genus and of large aspectratio IJNME online Jan 2011

High quality meshing for the Laplacian harmonic map

Plot of the quality histogram with high mean quality κ= 094

Remeshed

002

004

006

008

01

012

014

0 02 04 06 08 1

Fre

quen

cyAspect ratio

STL

0

κ= αinscribed radius

circumscribed radius = 4 sin a sin b sin csin a+ sin b+ sin c

(2)

High quality meshing for the Laplacian harmonic map

Time spent in the different steps of the automatic remeshing

The total time for remeshing the initial mesh of 25k triangles is 9s

CPU time lt 100s for mesh of 1e6 elements

High quality meshing

Comparisons with other techniques for surface remeshing

a) b) c)

Figure Remeshing of human lungs a) part of the initial STL triangulationb) remeshed geometry with Mimics (after 2 steps) and c) remeshed lungbased on the Harmonic mapping remeshing procedure

High quality meshing

Remeshed Harmonic map

00200400600801

01201401601802

0 02 04 06 08 1

Fre

quen

cy

Aspect ratio

STL MimicsRemeshed Mimics 1Remeshed Mimics 2

0

Figure Remeshing of human lungs with the presented algorithm ascompared with a commercial package such as Mimics

Efficient surface remeshing

Remeshing of the bunny mesh model of 70k triangles

Remeshing Number of Partition Parametrization Total remeshingpartitions time (s) time (s) time (s)

LSCM Levy 23 30 95 minus

Eck 88 - - 335ABF++ Zayer 2 - 13 -LinABF Zayer 2 - 2 -Present work laplacian part 2 167 14 25 metis part 10 7 14 14

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alBlossom-Quad a non-uniform quadrilateral mesh generator using aminimum cost perfect matching algorithm IJNME In press 2011

J-F Remacle et alA frontal Delaunay quad mesh generator using the Linfin norm IJNMEAccepted 2011

What we aim at

Indirect approach a non-optimal matching algorithmh(xy) = 01+008sin(3x)cos(6y) 836 quads and 240 triangles

τ= 0888825 τ= 0855715

Indirect approach a full-quad approachh(xy) = 01+008sin(3x)cos(6y) only quads

τ= 0854955 τ= 0838941 τ= 0790898

Indirect approach the Blossom-Quad approach

We build G(V E c) an undirected weighted graph Here V is the setof nV vertices E is the set of nE undirected edges andc(E) =

sumc(eij) is an edge-based cost function ie the sum of all

weights associated to every edge eij isin E of the graph

Indirect approach the Blossom-Quad approach

A matching is a subset E prime sube E such that each node of V has at mostone incident edge in E prime

Indirect approach the Blossom-Quad approach

A matching is perfect if each node of V has exactly one incident edgein E prime A perfect matching is optimum if c(E prime) is minimum among allpossible perfect matchings

eij

ti

tj

Indirect approach the Blossom-Quad approach

In 1965 Edmonds invented the Blossom algorithm that solves theproblem of optimum perfect matching in polynomial time Astraightforward implementation of Edmondsrsquos algorithm requiresO(n2

V nE) operationsSince then the worst-case complexity of the Blossom algorithmhas been steadily improving Both Lawler and Gabow achieved arunning time of O(n3

V ) Galil Micali and Gabow improved it toO(nV nE log(nV )) The current best known result in terms of nVand nE is O(nV (nE + lognV ))There is also a long history of computer implementations of theBlossom algorithm starting with the Blossom I code ofEdmonds Johnson and Lockhart In this paper ourimplementation makes use of the Blossom IV code of Cook andRohe1 that has been considered for several years as the fastestavailable implementation of the Blossom algorithm Gmshredistributes this piece of code

1httpwww2isyegatecheduwcookblossom4

Indirect approach Blossom-Quadh(xy) = 01+008sin(3x)cos(6y) only quads

τ= 0888825 τ= 0839313

Existence of perfect matchings

There is no guarantee that even one single perfect matchingexists in a given graphConsider the meshes below It is obvious that no perfectmatching exists for the coarsest oneThe following result known as Tuttersquos theorem proves that noneof the two meshes contains a perfect matching

The Blossom-Quad algorithm

Initial Raw Blossom Vertex Topological Finaltriangulation application smoothing optimization mesh

Quad mesh generation applied to STL modelsh(~x) = 2πR(~x)

Np with R(~x) = 1

κ(~x) NP = 50

Stanford Bunny Aneurysm

Quad mesh generation applied to STL models

τ= 0842549 τ= 0856247

The overall remeshing procedure for both STL examples takesonly 20s (5s for the Blossom-Quad)The quad-dominant meshing algorithm of [Levy et al] takes 271sfor the remeshing of the Stanford bunny

Anisotropic quad mesh generation applied to aparametric model

Anisotropic mesh

Anisotropic metricBuild an anisotropic triangular meshReimannian metric is used to measure distancesHere principal directions of the curvature tensor are used

Indirect approach an obvious problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Cross Fields

ycross

x

y

xcrossθ

The Linfin norm is not invariant by rotation rarr quads should beorientedA cross field (in 2D) is a scalar field θ(u) that gives theorientations of a local system of axis at point u in the parameterplaneThe local value of the cross field θ(uv) is defined only up torotations by π2 we choose to propagate

α(uv) = a(uv)+ ib(uv) = e4iθ(uv)

through a harmonic map

Perpendicular bisectors in the Linfin-norm

Lequiv y +(yo minusxp) = x

x

y

x2 = (xpyp)

(00)

α lt π4

(0xp minusyp)

x3 = (minusxp2xp minusyp)

x1 = (minusxpminusyp)

Bisector of two points x1 = (minusxpminusyp) and x2 = (xpyp) using theLinfin-norm

Circumcenter circumradius and circumcircle

ycross

x3

xcross

Ti

xcθ

R(T θ)

x1

x2

Circumcenter xc of a triangle using the Linfin-norm and circumcircle(red dotted square)

Delaunay and Voronoiuml

Voronoi diagram (dark lines) and Delaunay triangulation both in theLinfin norm

A frontal-Delaunay mesher in the Linfin-norm

The frontal-delaunay technique is based on

Rebay S Efficient unstructured mesh generation by means ofdelaunay triangulation and bowyer-watson algorithm Journal ofComputational Physics 1993 106(1)125ndash138

A frontal-Delaunay mesher in the Linfin-norm

Active

Edge of the front

Resolved

x1

Cn

Cl

L

x3 = (minusxpyp)

x2 = (xpminusyp)

x4

xc

xm

xl

xn

xe

x

y

Illustration of the point insertion algorithm

Car Hood

(a) (b) (c)Conformal reparametrization of a car hood Figure (a) shows the

CAD decomposition of the hood into 18 Beacutezier surfaces and the initialconforming mesh Figure (b) shows the result of the conformal

reparametrization ie isolines of u and v on the whole hood Figure(c) shows the projection of the initial mesh on the parameter plane u

Car Hood18 J-F REMACLE ET AL

(F) (FB) (FLB)

(D) (DB) (DLB)

N η ηw τ() d4() dmax

(FB) 1726 077 037 86 71 6(FLB) 1744 086 039 87 81 5(DB) 1527 090 037 93 81 5

(DLB) 1543 091 043 94 83 5

Figure 15 Pictures of different meshes of the car hood as well as mesh statistics

fields on all surfaces and the conformal reparametrization of all non planar surfaces The meshstatistics are as follows τ = 97 d4 = 91 dmax = 6 η = 095 ηw = 01 The mesh generatedby our approach for some of the planar and cylindrical surfaces of this particular geometry wasa structured mesh This happened however automatically without user interaction or internalheuristics of the mesher This explains the exceptionnaly high value of τ and η in this specificproblem

82 Falcon aircraft

As a second example the Falcon aircraft of Figure 17 is considered A surface mesh has beengenerated using a standard surface mesher whose triangles were patched together to create thecompounds of surfaces represented with different colors in the figure Each compound surfacehas been reparametrized separately by means of a conformal map created using the techniquesdescribed in [6 10 11 12] The mesh size field is composed of a uniform bulk size field δb = 01augmented with line and point sources at critical zones of the aircraft as depicted on Figure 17

The images of the different surfaces in their respective parameter plane can be seen onFigure 18 The resulting mesh is presented on Figure 19 The mesh is composed of 53297

Copyright c 2010 John Wiley amp Sons Ltd Int J Numer Meth Engng 2010 001ndash6Prepared using nmeauthcls

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Parametrizations of the surfaces of the Falcon aircraft in the uvplane

Falcon

Falcon

Falcon

Falcon

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alGeometrical Validity of Curvilinear Finite Elements IJNME Inpreparation 2011

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Roadmap for Gmsh 30

Complete re-build of the GUIUse Qt (a first demo version should be available in 2011)More flexibility reconfigurable GUI (OnleLab project) trueplugins remote control through sockets

Meshing capabilities enhancedCurvilinear meshes (p = 2 and p = 3 in 2011)Hex dominant meshing (DomHex project)Boundary layers (already ok for surface meshes) pyramids (evenfor high order)

Python API has to be cleaned and documented

  • History
  • Strategy
  • Research
    • Reparametrization
    • Quad meshing
    • Curvilinear meshing
      • Perspectives
Page 23: An Overview of the GMSH project

Reparametrization

Computing Conformal mapsThe eigenvector ulowast (Fiedler vector) associated to the smallesteigenvalue λ ie LC ulowast = λulowast is the solution to the constrainedminimization problem

ulowast = argminuute=0utu=1

utLC u (1)

Laplacian and Conformal harmonic maps

Laplacian Conformal

Automatic remeshing

a) b) c)

Remeshing algorithmCompute G = 2NB = 0ηG=0

If needed cut mesh into different partitions of zero genusRemesh the lines at the interfaces between partitionCompute mapping for every partition and remesh the partition inthe parametric space (u(x) coordinates visible for one partition)

Automatic remeshing

Different mesh partitions of a hemi-pelvis in the parametric space(conformal map)

How to partition the mesh

Partitioning a human lung of aspect ratio η= 89

Multilevel Max-cut mesh partitionnerBased on multiscale Laplace map

E Marchandise et al High Quality Surface Remeshing UsingHarmonic Maps PARTII Surfaces with high genus and of large aspectratio IJNME online Jan 2011

High quality meshing for the Laplacian harmonic map

Plot of the quality histogram with high mean quality κ= 094

Remeshed

002

004

006

008

01

012

014

0 02 04 06 08 1

Fre

quen

cyAspect ratio

STL

0

κ= αinscribed radius

circumscribed radius = 4 sin a sin b sin csin a+ sin b+ sin c

(2)

High quality meshing for the Laplacian harmonic map

Time spent in the different steps of the automatic remeshing

The total time for remeshing the initial mesh of 25k triangles is 9s

CPU time lt 100s for mesh of 1e6 elements

High quality meshing

Comparisons with other techniques for surface remeshing

a) b) c)

Figure Remeshing of human lungs a) part of the initial STL triangulationb) remeshed geometry with Mimics (after 2 steps) and c) remeshed lungbased on the Harmonic mapping remeshing procedure

High quality meshing

Remeshed Harmonic map

00200400600801

01201401601802

0 02 04 06 08 1

Fre

quen

cy

Aspect ratio

STL MimicsRemeshed Mimics 1Remeshed Mimics 2

0

Figure Remeshing of human lungs with the presented algorithm ascompared with a commercial package such as Mimics

Efficient surface remeshing

Remeshing of the bunny mesh model of 70k triangles

Remeshing Number of Partition Parametrization Total remeshingpartitions time (s) time (s) time (s)

LSCM Levy 23 30 95 minus

Eck 88 - - 335ABF++ Zayer 2 - 13 -LinABF Zayer 2 - 2 -Present work laplacian part 2 167 14 25 metis part 10 7 14 14

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alBlossom-Quad a non-uniform quadrilateral mesh generator using aminimum cost perfect matching algorithm IJNME In press 2011

J-F Remacle et alA frontal Delaunay quad mesh generator using the Linfin norm IJNMEAccepted 2011

What we aim at

Indirect approach a non-optimal matching algorithmh(xy) = 01+008sin(3x)cos(6y) 836 quads and 240 triangles

τ= 0888825 τ= 0855715

Indirect approach a full-quad approachh(xy) = 01+008sin(3x)cos(6y) only quads

τ= 0854955 τ= 0838941 τ= 0790898

Indirect approach the Blossom-Quad approach

We build G(V E c) an undirected weighted graph Here V is the setof nV vertices E is the set of nE undirected edges andc(E) =

sumc(eij) is an edge-based cost function ie the sum of all

weights associated to every edge eij isin E of the graph

Indirect approach the Blossom-Quad approach

A matching is a subset E prime sube E such that each node of V has at mostone incident edge in E prime

Indirect approach the Blossom-Quad approach

A matching is perfect if each node of V has exactly one incident edgein E prime A perfect matching is optimum if c(E prime) is minimum among allpossible perfect matchings

eij

ti

tj

Indirect approach the Blossom-Quad approach

In 1965 Edmonds invented the Blossom algorithm that solves theproblem of optimum perfect matching in polynomial time Astraightforward implementation of Edmondsrsquos algorithm requiresO(n2

V nE) operationsSince then the worst-case complexity of the Blossom algorithmhas been steadily improving Both Lawler and Gabow achieved arunning time of O(n3

V ) Galil Micali and Gabow improved it toO(nV nE log(nV )) The current best known result in terms of nVand nE is O(nV (nE + lognV ))There is also a long history of computer implementations of theBlossom algorithm starting with the Blossom I code ofEdmonds Johnson and Lockhart In this paper ourimplementation makes use of the Blossom IV code of Cook andRohe1 that has been considered for several years as the fastestavailable implementation of the Blossom algorithm Gmshredistributes this piece of code

1httpwww2isyegatecheduwcookblossom4

Indirect approach Blossom-Quadh(xy) = 01+008sin(3x)cos(6y) only quads

τ= 0888825 τ= 0839313

Existence of perfect matchings

There is no guarantee that even one single perfect matchingexists in a given graphConsider the meshes below It is obvious that no perfectmatching exists for the coarsest oneThe following result known as Tuttersquos theorem proves that noneof the two meshes contains a perfect matching

The Blossom-Quad algorithm

Initial Raw Blossom Vertex Topological Finaltriangulation application smoothing optimization mesh

Quad mesh generation applied to STL modelsh(~x) = 2πR(~x)

Np with R(~x) = 1

κ(~x) NP = 50

Stanford Bunny Aneurysm

Quad mesh generation applied to STL models

τ= 0842549 τ= 0856247

The overall remeshing procedure for both STL examples takesonly 20s (5s for the Blossom-Quad)The quad-dominant meshing algorithm of [Levy et al] takes 271sfor the remeshing of the Stanford bunny

Anisotropic quad mesh generation applied to aparametric model

Anisotropic mesh

Anisotropic metricBuild an anisotropic triangular meshReimannian metric is used to measure distancesHere principal directions of the curvature tensor are used

Indirect approach an obvious problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Cross Fields

ycross

x

y

xcrossθ

The Linfin norm is not invariant by rotation rarr quads should beorientedA cross field (in 2D) is a scalar field θ(u) that gives theorientations of a local system of axis at point u in the parameterplaneThe local value of the cross field θ(uv) is defined only up torotations by π2 we choose to propagate

α(uv) = a(uv)+ ib(uv) = e4iθ(uv)

through a harmonic map

Perpendicular bisectors in the Linfin-norm

Lequiv y +(yo minusxp) = x

x

y

x2 = (xpyp)

(00)

α lt π4

(0xp minusyp)

x3 = (minusxp2xp minusyp)

x1 = (minusxpminusyp)

Bisector of two points x1 = (minusxpminusyp) and x2 = (xpyp) using theLinfin-norm

Circumcenter circumradius and circumcircle

ycross

x3

xcross

Ti

xcθ

R(T θ)

x1

x2

Circumcenter xc of a triangle using the Linfin-norm and circumcircle(red dotted square)

Delaunay and Voronoiuml

Voronoi diagram (dark lines) and Delaunay triangulation both in theLinfin norm

A frontal-Delaunay mesher in the Linfin-norm

The frontal-delaunay technique is based on

Rebay S Efficient unstructured mesh generation by means ofdelaunay triangulation and bowyer-watson algorithm Journal ofComputational Physics 1993 106(1)125ndash138

A frontal-Delaunay mesher in the Linfin-norm

Active

Edge of the front

Resolved

x1

Cn

Cl

L

x3 = (minusxpyp)

x2 = (xpminusyp)

x4

xc

xm

xl

xn

xe

x

y

Illustration of the point insertion algorithm

Car Hood

(a) (b) (c)Conformal reparametrization of a car hood Figure (a) shows the

CAD decomposition of the hood into 18 Beacutezier surfaces and the initialconforming mesh Figure (b) shows the result of the conformal

reparametrization ie isolines of u and v on the whole hood Figure(c) shows the projection of the initial mesh on the parameter plane u

Car Hood18 J-F REMACLE ET AL

(F) (FB) (FLB)

(D) (DB) (DLB)

N η ηw τ() d4() dmax

(FB) 1726 077 037 86 71 6(FLB) 1744 086 039 87 81 5(DB) 1527 090 037 93 81 5

(DLB) 1543 091 043 94 83 5

Figure 15 Pictures of different meshes of the car hood as well as mesh statistics

fields on all surfaces and the conformal reparametrization of all non planar surfaces The meshstatistics are as follows τ = 97 d4 = 91 dmax = 6 η = 095 ηw = 01 The mesh generatedby our approach for some of the planar and cylindrical surfaces of this particular geometry wasa structured mesh This happened however automatically without user interaction or internalheuristics of the mesher This explains the exceptionnaly high value of τ and η in this specificproblem

82 Falcon aircraft

As a second example the Falcon aircraft of Figure 17 is considered A surface mesh has beengenerated using a standard surface mesher whose triangles were patched together to create thecompounds of surfaces represented with different colors in the figure Each compound surfacehas been reparametrized separately by means of a conformal map created using the techniquesdescribed in [6 10 11 12] The mesh size field is composed of a uniform bulk size field δb = 01augmented with line and point sources at critical zones of the aircraft as depicted on Figure 17

The images of the different surfaces in their respective parameter plane can be seen onFigure 18 The resulting mesh is presented on Figure 19 The mesh is composed of 53297

Copyright c 2010 John Wiley amp Sons Ltd Int J Numer Meth Engng 2010 001ndash6Prepared using nmeauthcls

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Parametrizations of the surfaces of the Falcon aircraft in the uvplane

Falcon

Falcon

Falcon

Falcon

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alGeometrical Validity of Curvilinear Finite Elements IJNME Inpreparation 2011

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Roadmap for Gmsh 30

Complete re-build of the GUIUse Qt (a first demo version should be available in 2011)More flexibility reconfigurable GUI (OnleLab project) trueplugins remote control through sockets

Meshing capabilities enhancedCurvilinear meshes (p = 2 and p = 3 in 2011)Hex dominant meshing (DomHex project)Boundary layers (already ok for surface meshes) pyramids (evenfor high order)

Python API has to be cleaned and documented

  • History
  • Strategy
  • Research
    • Reparametrization
    • Quad meshing
    • Curvilinear meshing
      • Perspectives
Page 24: An Overview of the GMSH project

Laplacian and Conformal harmonic maps

Laplacian Conformal

Automatic remeshing

a) b) c)

Remeshing algorithmCompute G = 2NB = 0ηG=0

If needed cut mesh into different partitions of zero genusRemesh the lines at the interfaces between partitionCompute mapping for every partition and remesh the partition inthe parametric space (u(x) coordinates visible for one partition)

Automatic remeshing

Different mesh partitions of a hemi-pelvis in the parametric space(conformal map)

How to partition the mesh

Partitioning a human lung of aspect ratio η= 89

Multilevel Max-cut mesh partitionnerBased on multiscale Laplace map

E Marchandise et al High Quality Surface Remeshing UsingHarmonic Maps PARTII Surfaces with high genus and of large aspectratio IJNME online Jan 2011

High quality meshing for the Laplacian harmonic map

Plot of the quality histogram with high mean quality κ= 094

Remeshed

002

004

006

008

01

012

014

0 02 04 06 08 1

Fre

quen

cyAspect ratio

STL

0

κ= αinscribed radius

circumscribed radius = 4 sin a sin b sin csin a+ sin b+ sin c

(2)

High quality meshing for the Laplacian harmonic map

Time spent in the different steps of the automatic remeshing

The total time for remeshing the initial mesh of 25k triangles is 9s

CPU time lt 100s for mesh of 1e6 elements

High quality meshing

Comparisons with other techniques for surface remeshing

a) b) c)

Figure Remeshing of human lungs a) part of the initial STL triangulationb) remeshed geometry with Mimics (after 2 steps) and c) remeshed lungbased on the Harmonic mapping remeshing procedure

High quality meshing

Remeshed Harmonic map

00200400600801

01201401601802

0 02 04 06 08 1

Fre

quen

cy

Aspect ratio

STL MimicsRemeshed Mimics 1Remeshed Mimics 2

0

Figure Remeshing of human lungs with the presented algorithm ascompared with a commercial package such as Mimics

Efficient surface remeshing

Remeshing of the bunny mesh model of 70k triangles

Remeshing Number of Partition Parametrization Total remeshingpartitions time (s) time (s) time (s)

LSCM Levy 23 30 95 minus

Eck 88 - - 335ABF++ Zayer 2 - 13 -LinABF Zayer 2 - 2 -Present work laplacian part 2 167 14 25 metis part 10 7 14 14

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alBlossom-Quad a non-uniform quadrilateral mesh generator using aminimum cost perfect matching algorithm IJNME In press 2011

J-F Remacle et alA frontal Delaunay quad mesh generator using the Linfin norm IJNMEAccepted 2011

What we aim at

Indirect approach a non-optimal matching algorithmh(xy) = 01+008sin(3x)cos(6y) 836 quads and 240 triangles

τ= 0888825 τ= 0855715

Indirect approach a full-quad approachh(xy) = 01+008sin(3x)cos(6y) only quads

τ= 0854955 τ= 0838941 τ= 0790898

Indirect approach the Blossom-Quad approach

We build G(V E c) an undirected weighted graph Here V is the setof nV vertices E is the set of nE undirected edges andc(E) =

sumc(eij) is an edge-based cost function ie the sum of all

weights associated to every edge eij isin E of the graph

Indirect approach the Blossom-Quad approach

A matching is a subset E prime sube E such that each node of V has at mostone incident edge in E prime

Indirect approach the Blossom-Quad approach

A matching is perfect if each node of V has exactly one incident edgein E prime A perfect matching is optimum if c(E prime) is minimum among allpossible perfect matchings

eij

ti

tj

Indirect approach the Blossom-Quad approach

In 1965 Edmonds invented the Blossom algorithm that solves theproblem of optimum perfect matching in polynomial time Astraightforward implementation of Edmondsrsquos algorithm requiresO(n2

V nE) operationsSince then the worst-case complexity of the Blossom algorithmhas been steadily improving Both Lawler and Gabow achieved arunning time of O(n3

V ) Galil Micali and Gabow improved it toO(nV nE log(nV )) The current best known result in terms of nVand nE is O(nV (nE + lognV ))There is also a long history of computer implementations of theBlossom algorithm starting with the Blossom I code ofEdmonds Johnson and Lockhart In this paper ourimplementation makes use of the Blossom IV code of Cook andRohe1 that has been considered for several years as the fastestavailable implementation of the Blossom algorithm Gmshredistributes this piece of code

1httpwww2isyegatecheduwcookblossom4

Indirect approach Blossom-Quadh(xy) = 01+008sin(3x)cos(6y) only quads

τ= 0888825 τ= 0839313

Existence of perfect matchings

There is no guarantee that even one single perfect matchingexists in a given graphConsider the meshes below It is obvious that no perfectmatching exists for the coarsest oneThe following result known as Tuttersquos theorem proves that noneof the two meshes contains a perfect matching

The Blossom-Quad algorithm

Initial Raw Blossom Vertex Topological Finaltriangulation application smoothing optimization mesh

Quad mesh generation applied to STL modelsh(~x) = 2πR(~x)

Np with R(~x) = 1

κ(~x) NP = 50

Stanford Bunny Aneurysm

Quad mesh generation applied to STL models

τ= 0842549 τ= 0856247

The overall remeshing procedure for both STL examples takesonly 20s (5s for the Blossom-Quad)The quad-dominant meshing algorithm of [Levy et al] takes 271sfor the remeshing of the Stanford bunny

Anisotropic quad mesh generation applied to aparametric model

Anisotropic mesh

Anisotropic metricBuild an anisotropic triangular meshReimannian metric is used to measure distancesHere principal directions of the curvature tensor are used

Indirect approach an obvious problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Cross Fields

ycross

x

y

xcrossθ

The Linfin norm is not invariant by rotation rarr quads should beorientedA cross field (in 2D) is a scalar field θ(u) that gives theorientations of a local system of axis at point u in the parameterplaneThe local value of the cross field θ(uv) is defined only up torotations by π2 we choose to propagate

α(uv) = a(uv)+ ib(uv) = e4iθ(uv)

through a harmonic map

Perpendicular bisectors in the Linfin-norm

Lequiv y +(yo minusxp) = x

x

y

x2 = (xpyp)

(00)

α lt π4

(0xp minusyp)

x3 = (minusxp2xp minusyp)

x1 = (minusxpminusyp)

Bisector of two points x1 = (minusxpminusyp) and x2 = (xpyp) using theLinfin-norm

Circumcenter circumradius and circumcircle

ycross

x3

xcross

Ti

xcθ

R(T θ)

x1

x2

Circumcenter xc of a triangle using the Linfin-norm and circumcircle(red dotted square)

Delaunay and Voronoiuml

Voronoi diagram (dark lines) and Delaunay triangulation both in theLinfin norm

A frontal-Delaunay mesher in the Linfin-norm

The frontal-delaunay technique is based on

Rebay S Efficient unstructured mesh generation by means ofdelaunay triangulation and bowyer-watson algorithm Journal ofComputational Physics 1993 106(1)125ndash138

A frontal-Delaunay mesher in the Linfin-norm

Active

Edge of the front

Resolved

x1

Cn

Cl

L

x3 = (minusxpyp)

x2 = (xpminusyp)

x4

xc

xm

xl

xn

xe

x

y

Illustration of the point insertion algorithm

Car Hood

(a) (b) (c)Conformal reparametrization of a car hood Figure (a) shows the

CAD decomposition of the hood into 18 Beacutezier surfaces and the initialconforming mesh Figure (b) shows the result of the conformal

reparametrization ie isolines of u and v on the whole hood Figure(c) shows the projection of the initial mesh on the parameter plane u

Car Hood18 J-F REMACLE ET AL

(F) (FB) (FLB)

(D) (DB) (DLB)

N η ηw τ() d4() dmax

(FB) 1726 077 037 86 71 6(FLB) 1744 086 039 87 81 5(DB) 1527 090 037 93 81 5

(DLB) 1543 091 043 94 83 5

Figure 15 Pictures of different meshes of the car hood as well as mesh statistics

fields on all surfaces and the conformal reparametrization of all non planar surfaces The meshstatistics are as follows τ = 97 d4 = 91 dmax = 6 η = 095 ηw = 01 The mesh generatedby our approach for some of the planar and cylindrical surfaces of this particular geometry wasa structured mesh This happened however automatically without user interaction or internalheuristics of the mesher This explains the exceptionnaly high value of τ and η in this specificproblem

82 Falcon aircraft

As a second example the Falcon aircraft of Figure 17 is considered A surface mesh has beengenerated using a standard surface mesher whose triangles were patched together to create thecompounds of surfaces represented with different colors in the figure Each compound surfacehas been reparametrized separately by means of a conformal map created using the techniquesdescribed in [6 10 11 12] The mesh size field is composed of a uniform bulk size field δb = 01augmented with line and point sources at critical zones of the aircraft as depicted on Figure 17

The images of the different surfaces in their respective parameter plane can be seen onFigure 18 The resulting mesh is presented on Figure 19 The mesh is composed of 53297

Copyright c 2010 John Wiley amp Sons Ltd Int J Numer Meth Engng 2010 001ndash6Prepared using nmeauthcls

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Parametrizations of the surfaces of the Falcon aircraft in the uvplane

Falcon

Falcon

Falcon

Falcon

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alGeometrical Validity of Curvilinear Finite Elements IJNME Inpreparation 2011

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Roadmap for Gmsh 30

Complete re-build of the GUIUse Qt (a first demo version should be available in 2011)More flexibility reconfigurable GUI (OnleLab project) trueplugins remote control through sockets

Meshing capabilities enhancedCurvilinear meshes (p = 2 and p = 3 in 2011)Hex dominant meshing (DomHex project)Boundary layers (already ok for surface meshes) pyramids (evenfor high order)

Python API has to be cleaned and documented

  • History
  • Strategy
  • Research
    • Reparametrization
    • Quad meshing
    • Curvilinear meshing
      • Perspectives
Page 25: An Overview of the GMSH project

Automatic remeshing

a) b) c)

Remeshing algorithmCompute G = 2NB = 0ηG=0

If needed cut mesh into different partitions of zero genusRemesh the lines at the interfaces between partitionCompute mapping for every partition and remesh the partition inthe parametric space (u(x) coordinates visible for one partition)

Automatic remeshing

Different mesh partitions of a hemi-pelvis in the parametric space(conformal map)

How to partition the mesh

Partitioning a human lung of aspect ratio η= 89

Multilevel Max-cut mesh partitionnerBased on multiscale Laplace map

E Marchandise et al High Quality Surface Remeshing UsingHarmonic Maps PARTII Surfaces with high genus and of large aspectratio IJNME online Jan 2011

High quality meshing for the Laplacian harmonic map

Plot of the quality histogram with high mean quality κ= 094

Remeshed

002

004

006

008

01

012

014

0 02 04 06 08 1

Fre

quen

cyAspect ratio

STL

0

κ= αinscribed radius

circumscribed radius = 4 sin a sin b sin csin a+ sin b+ sin c

(2)

High quality meshing for the Laplacian harmonic map

Time spent in the different steps of the automatic remeshing

The total time for remeshing the initial mesh of 25k triangles is 9s

CPU time lt 100s for mesh of 1e6 elements

High quality meshing

Comparisons with other techniques for surface remeshing

a) b) c)

Figure Remeshing of human lungs a) part of the initial STL triangulationb) remeshed geometry with Mimics (after 2 steps) and c) remeshed lungbased on the Harmonic mapping remeshing procedure

High quality meshing

Remeshed Harmonic map

00200400600801

01201401601802

0 02 04 06 08 1

Fre

quen

cy

Aspect ratio

STL MimicsRemeshed Mimics 1Remeshed Mimics 2

0

Figure Remeshing of human lungs with the presented algorithm ascompared with a commercial package such as Mimics

Efficient surface remeshing

Remeshing of the bunny mesh model of 70k triangles

Remeshing Number of Partition Parametrization Total remeshingpartitions time (s) time (s) time (s)

LSCM Levy 23 30 95 minus

Eck 88 - - 335ABF++ Zayer 2 - 13 -LinABF Zayer 2 - 2 -Present work laplacian part 2 167 14 25 metis part 10 7 14 14

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alBlossom-Quad a non-uniform quadrilateral mesh generator using aminimum cost perfect matching algorithm IJNME In press 2011

J-F Remacle et alA frontal Delaunay quad mesh generator using the Linfin norm IJNMEAccepted 2011

What we aim at

Indirect approach a non-optimal matching algorithmh(xy) = 01+008sin(3x)cos(6y) 836 quads and 240 triangles

τ= 0888825 τ= 0855715

Indirect approach a full-quad approachh(xy) = 01+008sin(3x)cos(6y) only quads

τ= 0854955 τ= 0838941 τ= 0790898

Indirect approach the Blossom-Quad approach

We build G(V E c) an undirected weighted graph Here V is the setof nV vertices E is the set of nE undirected edges andc(E) =

sumc(eij) is an edge-based cost function ie the sum of all

weights associated to every edge eij isin E of the graph

Indirect approach the Blossom-Quad approach

A matching is a subset E prime sube E such that each node of V has at mostone incident edge in E prime

Indirect approach the Blossom-Quad approach

A matching is perfect if each node of V has exactly one incident edgein E prime A perfect matching is optimum if c(E prime) is minimum among allpossible perfect matchings

eij

ti

tj

Indirect approach the Blossom-Quad approach

In 1965 Edmonds invented the Blossom algorithm that solves theproblem of optimum perfect matching in polynomial time Astraightforward implementation of Edmondsrsquos algorithm requiresO(n2

V nE) operationsSince then the worst-case complexity of the Blossom algorithmhas been steadily improving Both Lawler and Gabow achieved arunning time of O(n3

V ) Galil Micali and Gabow improved it toO(nV nE log(nV )) The current best known result in terms of nVand nE is O(nV (nE + lognV ))There is also a long history of computer implementations of theBlossom algorithm starting with the Blossom I code ofEdmonds Johnson and Lockhart In this paper ourimplementation makes use of the Blossom IV code of Cook andRohe1 that has been considered for several years as the fastestavailable implementation of the Blossom algorithm Gmshredistributes this piece of code

1httpwww2isyegatecheduwcookblossom4

Indirect approach Blossom-Quadh(xy) = 01+008sin(3x)cos(6y) only quads

τ= 0888825 τ= 0839313

Existence of perfect matchings

There is no guarantee that even one single perfect matchingexists in a given graphConsider the meshes below It is obvious that no perfectmatching exists for the coarsest oneThe following result known as Tuttersquos theorem proves that noneof the two meshes contains a perfect matching

The Blossom-Quad algorithm

Initial Raw Blossom Vertex Topological Finaltriangulation application smoothing optimization mesh

Quad mesh generation applied to STL modelsh(~x) = 2πR(~x)

Np with R(~x) = 1

κ(~x) NP = 50

Stanford Bunny Aneurysm

Quad mesh generation applied to STL models

τ= 0842549 τ= 0856247

The overall remeshing procedure for both STL examples takesonly 20s (5s for the Blossom-Quad)The quad-dominant meshing algorithm of [Levy et al] takes 271sfor the remeshing of the Stanford bunny

Anisotropic quad mesh generation applied to aparametric model

Anisotropic mesh

Anisotropic metricBuild an anisotropic triangular meshReimannian metric is used to measure distancesHere principal directions of the curvature tensor are used

Indirect approach an obvious problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Cross Fields

ycross

x

y

xcrossθ

The Linfin norm is not invariant by rotation rarr quads should beorientedA cross field (in 2D) is a scalar field θ(u) that gives theorientations of a local system of axis at point u in the parameterplaneThe local value of the cross field θ(uv) is defined only up torotations by π2 we choose to propagate

α(uv) = a(uv)+ ib(uv) = e4iθ(uv)

through a harmonic map

Perpendicular bisectors in the Linfin-norm

Lequiv y +(yo minusxp) = x

x

y

x2 = (xpyp)

(00)

α lt π4

(0xp minusyp)

x3 = (minusxp2xp minusyp)

x1 = (minusxpminusyp)

Bisector of two points x1 = (minusxpminusyp) and x2 = (xpyp) using theLinfin-norm

Circumcenter circumradius and circumcircle

ycross

x3

xcross

Ti

xcθ

R(T θ)

x1

x2

Circumcenter xc of a triangle using the Linfin-norm and circumcircle(red dotted square)

Delaunay and Voronoiuml

Voronoi diagram (dark lines) and Delaunay triangulation both in theLinfin norm

A frontal-Delaunay mesher in the Linfin-norm

The frontal-delaunay technique is based on

Rebay S Efficient unstructured mesh generation by means ofdelaunay triangulation and bowyer-watson algorithm Journal ofComputational Physics 1993 106(1)125ndash138

A frontal-Delaunay mesher in the Linfin-norm

Active

Edge of the front

Resolved

x1

Cn

Cl

L

x3 = (minusxpyp)

x2 = (xpminusyp)

x4

xc

xm

xl

xn

xe

x

y

Illustration of the point insertion algorithm

Car Hood

(a) (b) (c)Conformal reparametrization of a car hood Figure (a) shows the

CAD decomposition of the hood into 18 Beacutezier surfaces and the initialconforming mesh Figure (b) shows the result of the conformal

reparametrization ie isolines of u and v on the whole hood Figure(c) shows the projection of the initial mesh on the parameter plane u

Car Hood18 J-F REMACLE ET AL

(F) (FB) (FLB)

(D) (DB) (DLB)

N η ηw τ() d4() dmax

(FB) 1726 077 037 86 71 6(FLB) 1744 086 039 87 81 5(DB) 1527 090 037 93 81 5

(DLB) 1543 091 043 94 83 5

Figure 15 Pictures of different meshes of the car hood as well as mesh statistics

fields on all surfaces and the conformal reparametrization of all non planar surfaces The meshstatistics are as follows τ = 97 d4 = 91 dmax = 6 η = 095 ηw = 01 The mesh generatedby our approach for some of the planar and cylindrical surfaces of this particular geometry wasa structured mesh This happened however automatically without user interaction or internalheuristics of the mesher This explains the exceptionnaly high value of τ and η in this specificproblem

82 Falcon aircraft

As a second example the Falcon aircraft of Figure 17 is considered A surface mesh has beengenerated using a standard surface mesher whose triangles were patched together to create thecompounds of surfaces represented with different colors in the figure Each compound surfacehas been reparametrized separately by means of a conformal map created using the techniquesdescribed in [6 10 11 12] The mesh size field is composed of a uniform bulk size field δb = 01augmented with line and point sources at critical zones of the aircraft as depicted on Figure 17

The images of the different surfaces in their respective parameter plane can be seen onFigure 18 The resulting mesh is presented on Figure 19 The mesh is composed of 53297

Copyright c 2010 John Wiley amp Sons Ltd Int J Numer Meth Engng 2010 001ndash6Prepared using nmeauthcls

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Parametrizations of the surfaces of the Falcon aircraft in the uvplane

Falcon

Falcon

Falcon

Falcon

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alGeometrical Validity of Curvilinear Finite Elements IJNME Inpreparation 2011

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Roadmap for Gmsh 30

Complete re-build of the GUIUse Qt (a first demo version should be available in 2011)More flexibility reconfigurable GUI (OnleLab project) trueplugins remote control through sockets

Meshing capabilities enhancedCurvilinear meshes (p = 2 and p = 3 in 2011)Hex dominant meshing (DomHex project)Boundary layers (already ok for surface meshes) pyramids (evenfor high order)

Python API has to be cleaned and documented

  • History
  • Strategy
  • Research
    • Reparametrization
    • Quad meshing
    • Curvilinear meshing
      • Perspectives
Page 26: An Overview of the GMSH project

Automatic remeshing

Different mesh partitions of a hemi-pelvis in the parametric space(conformal map)

How to partition the mesh

Partitioning a human lung of aspect ratio η= 89

Multilevel Max-cut mesh partitionnerBased on multiscale Laplace map

E Marchandise et al High Quality Surface Remeshing UsingHarmonic Maps PARTII Surfaces with high genus and of large aspectratio IJNME online Jan 2011

High quality meshing for the Laplacian harmonic map

Plot of the quality histogram with high mean quality κ= 094

Remeshed

002

004

006

008

01

012

014

0 02 04 06 08 1

Fre

quen

cyAspect ratio

STL

0

κ= αinscribed radius

circumscribed radius = 4 sin a sin b sin csin a+ sin b+ sin c

(2)

High quality meshing for the Laplacian harmonic map

Time spent in the different steps of the automatic remeshing

The total time for remeshing the initial mesh of 25k triangles is 9s

CPU time lt 100s for mesh of 1e6 elements

High quality meshing

Comparisons with other techniques for surface remeshing

a) b) c)

Figure Remeshing of human lungs a) part of the initial STL triangulationb) remeshed geometry with Mimics (after 2 steps) and c) remeshed lungbased on the Harmonic mapping remeshing procedure

High quality meshing

Remeshed Harmonic map

00200400600801

01201401601802

0 02 04 06 08 1

Fre

quen

cy

Aspect ratio

STL MimicsRemeshed Mimics 1Remeshed Mimics 2

0

Figure Remeshing of human lungs with the presented algorithm ascompared with a commercial package such as Mimics

Efficient surface remeshing

Remeshing of the bunny mesh model of 70k triangles

Remeshing Number of Partition Parametrization Total remeshingpartitions time (s) time (s) time (s)

LSCM Levy 23 30 95 minus

Eck 88 - - 335ABF++ Zayer 2 - 13 -LinABF Zayer 2 - 2 -Present work laplacian part 2 167 14 25 metis part 10 7 14 14

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alBlossom-Quad a non-uniform quadrilateral mesh generator using aminimum cost perfect matching algorithm IJNME In press 2011

J-F Remacle et alA frontal Delaunay quad mesh generator using the Linfin norm IJNMEAccepted 2011

What we aim at

Indirect approach a non-optimal matching algorithmh(xy) = 01+008sin(3x)cos(6y) 836 quads and 240 triangles

τ= 0888825 τ= 0855715

Indirect approach a full-quad approachh(xy) = 01+008sin(3x)cos(6y) only quads

τ= 0854955 τ= 0838941 τ= 0790898

Indirect approach the Blossom-Quad approach

We build G(V E c) an undirected weighted graph Here V is the setof nV vertices E is the set of nE undirected edges andc(E) =

sumc(eij) is an edge-based cost function ie the sum of all

weights associated to every edge eij isin E of the graph

Indirect approach the Blossom-Quad approach

A matching is a subset E prime sube E such that each node of V has at mostone incident edge in E prime

Indirect approach the Blossom-Quad approach

A matching is perfect if each node of V has exactly one incident edgein E prime A perfect matching is optimum if c(E prime) is minimum among allpossible perfect matchings

eij

ti

tj

Indirect approach the Blossom-Quad approach

In 1965 Edmonds invented the Blossom algorithm that solves theproblem of optimum perfect matching in polynomial time Astraightforward implementation of Edmondsrsquos algorithm requiresO(n2

V nE) operationsSince then the worst-case complexity of the Blossom algorithmhas been steadily improving Both Lawler and Gabow achieved arunning time of O(n3

V ) Galil Micali and Gabow improved it toO(nV nE log(nV )) The current best known result in terms of nVand nE is O(nV (nE + lognV ))There is also a long history of computer implementations of theBlossom algorithm starting with the Blossom I code ofEdmonds Johnson and Lockhart In this paper ourimplementation makes use of the Blossom IV code of Cook andRohe1 that has been considered for several years as the fastestavailable implementation of the Blossom algorithm Gmshredistributes this piece of code

1httpwww2isyegatecheduwcookblossom4

Indirect approach Blossom-Quadh(xy) = 01+008sin(3x)cos(6y) only quads

τ= 0888825 τ= 0839313

Existence of perfect matchings

There is no guarantee that even one single perfect matchingexists in a given graphConsider the meshes below It is obvious that no perfectmatching exists for the coarsest oneThe following result known as Tuttersquos theorem proves that noneof the two meshes contains a perfect matching

The Blossom-Quad algorithm

Initial Raw Blossom Vertex Topological Finaltriangulation application smoothing optimization mesh

Quad mesh generation applied to STL modelsh(~x) = 2πR(~x)

Np with R(~x) = 1

κ(~x) NP = 50

Stanford Bunny Aneurysm

Quad mesh generation applied to STL models

τ= 0842549 τ= 0856247

The overall remeshing procedure for both STL examples takesonly 20s (5s for the Blossom-Quad)The quad-dominant meshing algorithm of [Levy et al] takes 271sfor the remeshing of the Stanford bunny

Anisotropic quad mesh generation applied to aparametric model

Anisotropic mesh

Anisotropic metricBuild an anisotropic triangular meshReimannian metric is used to measure distancesHere principal directions of the curvature tensor are used

Indirect approach an obvious problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Cross Fields

ycross

x

y

xcrossθ

The Linfin norm is not invariant by rotation rarr quads should beorientedA cross field (in 2D) is a scalar field θ(u) that gives theorientations of a local system of axis at point u in the parameterplaneThe local value of the cross field θ(uv) is defined only up torotations by π2 we choose to propagate

α(uv) = a(uv)+ ib(uv) = e4iθ(uv)

through a harmonic map

Perpendicular bisectors in the Linfin-norm

Lequiv y +(yo minusxp) = x

x

y

x2 = (xpyp)

(00)

α lt π4

(0xp minusyp)

x3 = (minusxp2xp minusyp)

x1 = (minusxpminusyp)

Bisector of two points x1 = (minusxpminusyp) and x2 = (xpyp) using theLinfin-norm

Circumcenter circumradius and circumcircle

ycross

x3

xcross

Ti

xcθ

R(T θ)

x1

x2

Circumcenter xc of a triangle using the Linfin-norm and circumcircle(red dotted square)

Delaunay and Voronoiuml

Voronoi diagram (dark lines) and Delaunay triangulation both in theLinfin norm

A frontal-Delaunay mesher in the Linfin-norm

The frontal-delaunay technique is based on

Rebay S Efficient unstructured mesh generation by means ofdelaunay triangulation and bowyer-watson algorithm Journal ofComputational Physics 1993 106(1)125ndash138

A frontal-Delaunay mesher in the Linfin-norm

Active

Edge of the front

Resolved

x1

Cn

Cl

L

x3 = (minusxpyp)

x2 = (xpminusyp)

x4

xc

xm

xl

xn

xe

x

y

Illustration of the point insertion algorithm

Car Hood

(a) (b) (c)Conformal reparametrization of a car hood Figure (a) shows the

CAD decomposition of the hood into 18 Beacutezier surfaces and the initialconforming mesh Figure (b) shows the result of the conformal

reparametrization ie isolines of u and v on the whole hood Figure(c) shows the projection of the initial mesh on the parameter plane u

Car Hood18 J-F REMACLE ET AL

(F) (FB) (FLB)

(D) (DB) (DLB)

N η ηw τ() d4() dmax

(FB) 1726 077 037 86 71 6(FLB) 1744 086 039 87 81 5(DB) 1527 090 037 93 81 5

(DLB) 1543 091 043 94 83 5

Figure 15 Pictures of different meshes of the car hood as well as mesh statistics

fields on all surfaces and the conformal reparametrization of all non planar surfaces The meshstatistics are as follows τ = 97 d4 = 91 dmax = 6 η = 095 ηw = 01 The mesh generatedby our approach for some of the planar and cylindrical surfaces of this particular geometry wasa structured mesh This happened however automatically without user interaction or internalheuristics of the mesher This explains the exceptionnaly high value of τ and η in this specificproblem

82 Falcon aircraft

As a second example the Falcon aircraft of Figure 17 is considered A surface mesh has beengenerated using a standard surface mesher whose triangles were patched together to create thecompounds of surfaces represented with different colors in the figure Each compound surfacehas been reparametrized separately by means of a conformal map created using the techniquesdescribed in [6 10 11 12] The mesh size field is composed of a uniform bulk size field δb = 01augmented with line and point sources at critical zones of the aircraft as depicted on Figure 17

The images of the different surfaces in their respective parameter plane can be seen onFigure 18 The resulting mesh is presented on Figure 19 The mesh is composed of 53297

Copyright c 2010 John Wiley amp Sons Ltd Int J Numer Meth Engng 2010 001ndash6Prepared using nmeauthcls

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Parametrizations of the surfaces of the Falcon aircraft in the uvplane

Falcon

Falcon

Falcon

Falcon

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alGeometrical Validity of Curvilinear Finite Elements IJNME Inpreparation 2011

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Roadmap for Gmsh 30

Complete re-build of the GUIUse Qt (a first demo version should be available in 2011)More flexibility reconfigurable GUI (OnleLab project) trueplugins remote control through sockets

Meshing capabilities enhancedCurvilinear meshes (p = 2 and p = 3 in 2011)Hex dominant meshing (DomHex project)Boundary layers (already ok for surface meshes) pyramids (evenfor high order)

Python API has to be cleaned and documented

  • History
  • Strategy
  • Research
    • Reparametrization
    • Quad meshing
    • Curvilinear meshing
      • Perspectives
Page 27: An Overview of the GMSH project

How to partition the mesh

Partitioning a human lung of aspect ratio η= 89

Multilevel Max-cut mesh partitionnerBased on multiscale Laplace map

E Marchandise et al High Quality Surface Remeshing UsingHarmonic Maps PARTII Surfaces with high genus and of large aspectratio IJNME online Jan 2011

High quality meshing for the Laplacian harmonic map

Plot of the quality histogram with high mean quality κ= 094

Remeshed

002

004

006

008

01

012

014

0 02 04 06 08 1

Fre

quen

cyAspect ratio

STL

0

κ= αinscribed radius

circumscribed radius = 4 sin a sin b sin csin a+ sin b+ sin c

(2)

High quality meshing for the Laplacian harmonic map

Time spent in the different steps of the automatic remeshing

The total time for remeshing the initial mesh of 25k triangles is 9s

CPU time lt 100s for mesh of 1e6 elements

High quality meshing

Comparisons with other techniques for surface remeshing

a) b) c)

Figure Remeshing of human lungs a) part of the initial STL triangulationb) remeshed geometry with Mimics (after 2 steps) and c) remeshed lungbased on the Harmonic mapping remeshing procedure

High quality meshing

Remeshed Harmonic map

00200400600801

01201401601802

0 02 04 06 08 1

Fre

quen

cy

Aspect ratio

STL MimicsRemeshed Mimics 1Remeshed Mimics 2

0

Figure Remeshing of human lungs with the presented algorithm ascompared with a commercial package such as Mimics

Efficient surface remeshing

Remeshing of the bunny mesh model of 70k triangles

Remeshing Number of Partition Parametrization Total remeshingpartitions time (s) time (s) time (s)

LSCM Levy 23 30 95 minus

Eck 88 - - 335ABF++ Zayer 2 - 13 -LinABF Zayer 2 - 2 -Present work laplacian part 2 167 14 25 metis part 10 7 14 14

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alBlossom-Quad a non-uniform quadrilateral mesh generator using aminimum cost perfect matching algorithm IJNME In press 2011

J-F Remacle et alA frontal Delaunay quad mesh generator using the Linfin norm IJNMEAccepted 2011

What we aim at

Indirect approach a non-optimal matching algorithmh(xy) = 01+008sin(3x)cos(6y) 836 quads and 240 triangles

τ= 0888825 τ= 0855715

Indirect approach a full-quad approachh(xy) = 01+008sin(3x)cos(6y) only quads

τ= 0854955 τ= 0838941 τ= 0790898

Indirect approach the Blossom-Quad approach

We build G(V E c) an undirected weighted graph Here V is the setof nV vertices E is the set of nE undirected edges andc(E) =

sumc(eij) is an edge-based cost function ie the sum of all

weights associated to every edge eij isin E of the graph

Indirect approach the Blossom-Quad approach

A matching is a subset E prime sube E such that each node of V has at mostone incident edge in E prime

Indirect approach the Blossom-Quad approach

A matching is perfect if each node of V has exactly one incident edgein E prime A perfect matching is optimum if c(E prime) is minimum among allpossible perfect matchings

eij

ti

tj

Indirect approach the Blossom-Quad approach

In 1965 Edmonds invented the Blossom algorithm that solves theproblem of optimum perfect matching in polynomial time Astraightforward implementation of Edmondsrsquos algorithm requiresO(n2

V nE) operationsSince then the worst-case complexity of the Blossom algorithmhas been steadily improving Both Lawler and Gabow achieved arunning time of O(n3

V ) Galil Micali and Gabow improved it toO(nV nE log(nV )) The current best known result in terms of nVand nE is O(nV (nE + lognV ))There is also a long history of computer implementations of theBlossom algorithm starting with the Blossom I code ofEdmonds Johnson and Lockhart In this paper ourimplementation makes use of the Blossom IV code of Cook andRohe1 that has been considered for several years as the fastestavailable implementation of the Blossom algorithm Gmshredistributes this piece of code

1httpwww2isyegatecheduwcookblossom4

Indirect approach Blossom-Quadh(xy) = 01+008sin(3x)cos(6y) only quads

τ= 0888825 τ= 0839313

Existence of perfect matchings

There is no guarantee that even one single perfect matchingexists in a given graphConsider the meshes below It is obvious that no perfectmatching exists for the coarsest oneThe following result known as Tuttersquos theorem proves that noneof the two meshes contains a perfect matching

The Blossom-Quad algorithm

Initial Raw Blossom Vertex Topological Finaltriangulation application smoothing optimization mesh

Quad mesh generation applied to STL modelsh(~x) = 2πR(~x)

Np with R(~x) = 1

κ(~x) NP = 50

Stanford Bunny Aneurysm

Quad mesh generation applied to STL models

τ= 0842549 τ= 0856247

The overall remeshing procedure for both STL examples takesonly 20s (5s for the Blossom-Quad)The quad-dominant meshing algorithm of [Levy et al] takes 271sfor the remeshing of the Stanford bunny

Anisotropic quad mesh generation applied to aparametric model

Anisotropic mesh

Anisotropic metricBuild an anisotropic triangular meshReimannian metric is used to measure distancesHere principal directions of the curvature tensor are used

Indirect approach an obvious problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Cross Fields

ycross

x

y

xcrossθ

The Linfin norm is not invariant by rotation rarr quads should beorientedA cross field (in 2D) is a scalar field θ(u) that gives theorientations of a local system of axis at point u in the parameterplaneThe local value of the cross field θ(uv) is defined only up torotations by π2 we choose to propagate

α(uv) = a(uv)+ ib(uv) = e4iθ(uv)

through a harmonic map

Perpendicular bisectors in the Linfin-norm

Lequiv y +(yo minusxp) = x

x

y

x2 = (xpyp)

(00)

α lt π4

(0xp minusyp)

x3 = (minusxp2xp minusyp)

x1 = (minusxpminusyp)

Bisector of two points x1 = (minusxpminusyp) and x2 = (xpyp) using theLinfin-norm

Circumcenter circumradius and circumcircle

ycross

x3

xcross

Ti

xcθ

R(T θ)

x1

x2

Circumcenter xc of a triangle using the Linfin-norm and circumcircle(red dotted square)

Delaunay and Voronoiuml

Voronoi diagram (dark lines) and Delaunay triangulation both in theLinfin norm

A frontal-Delaunay mesher in the Linfin-norm

The frontal-delaunay technique is based on

Rebay S Efficient unstructured mesh generation by means ofdelaunay triangulation and bowyer-watson algorithm Journal ofComputational Physics 1993 106(1)125ndash138

A frontal-Delaunay mesher in the Linfin-norm

Active

Edge of the front

Resolved

x1

Cn

Cl

L

x3 = (minusxpyp)

x2 = (xpminusyp)

x4

xc

xm

xl

xn

xe

x

y

Illustration of the point insertion algorithm

Car Hood

(a) (b) (c)Conformal reparametrization of a car hood Figure (a) shows the

CAD decomposition of the hood into 18 Beacutezier surfaces and the initialconforming mesh Figure (b) shows the result of the conformal

reparametrization ie isolines of u and v on the whole hood Figure(c) shows the projection of the initial mesh on the parameter plane u

Car Hood18 J-F REMACLE ET AL

(F) (FB) (FLB)

(D) (DB) (DLB)

N η ηw τ() d4() dmax

(FB) 1726 077 037 86 71 6(FLB) 1744 086 039 87 81 5(DB) 1527 090 037 93 81 5

(DLB) 1543 091 043 94 83 5

Figure 15 Pictures of different meshes of the car hood as well as mesh statistics

fields on all surfaces and the conformal reparametrization of all non planar surfaces The meshstatistics are as follows τ = 97 d4 = 91 dmax = 6 η = 095 ηw = 01 The mesh generatedby our approach for some of the planar and cylindrical surfaces of this particular geometry wasa structured mesh This happened however automatically without user interaction or internalheuristics of the mesher This explains the exceptionnaly high value of τ and η in this specificproblem

82 Falcon aircraft

As a second example the Falcon aircraft of Figure 17 is considered A surface mesh has beengenerated using a standard surface mesher whose triangles were patched together to create thecompounds of surfaces represented with different colors in the figure Each compound surfacehas been reparametrized separately by means of a conformal map created using the techniquesdescribed in [6 10 11 12] The mesh size field is composed of a uniform bulk size field δb = 01augmented with line and point sources at critical zones of the aircraft as depicted on Figure 17

The images of the different surfaces in their respective parameter plane can be seen onFigure 18 The resulting mesh is presented on Figure 19 The mesh is composed of 53297

Copyright c 2010 John Wiley amp Sons Ltd Int J Numer Meth Engng 2010 001ndash6Prepared using nmeauthcls

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Parametrizations of the surfaces of the Falcon aircraft in the uvplane

Falcon

Falcon

Falcon

Falcon

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alGeometrical Validity of Curvilinear Finite Elements IJNME Inpreparation 2011

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Roadmap for Gmsh 30

Complete re-build of the GUIUse Qt (a first demo version should be available in 2011)More flexibility reconfigurable GUI (OnleLab project) trueplugins remote control through sockets

Meshing capabilities enhancedCurvilinear meshes (p = 2 and p = 3 in 2011)Hex dominant meshing (DomHex project)Boundary layers (already ok for surface meshes) pyramids (evenfor high order)

Python API has to be cleaned and documented

  • History
  • Strategy
  • Research
    • Reparametrization
    • Quad meshing
    • Curvilinear meshing
      • Perspectives
Page 28: An Overview of the GMSH project

High quality meshing for the Laplacian harmonic map

Plot of the quality histogram with high mean quality κ= 094

Remeshed

002

004

006

008

01

012

014

0 02 04 06 08 1

Fre

quen

cyAspect ratio

STL

0

κ= αinscribed radius

circumscribed radius = 4 sin a sin b sin csin a+ sin b+ sin c

(2)

High quality meshing for the Laplacian harmonic map

Time spent in the different steps of the automatic remeshing

The total time for remeshing the initial mesh of 25k triangles is 9s

CPU time lt 100s for mesh of 1e6 elements

High quality meshing

Comparisons with other techniques for surface remeshing

a) b) c)

Figure Remeshing of human lungs a) part of the initial STL triangulationb) remeshed geometry with Mimics (after 2 steps) and c) remeshed lungbased on the Harmonic mapping remeshing procedure

High quality meshing

Remeshed Harmonic map

00200400600801

01201401601802

0 02 04 06 08 1

Fre

quen

cy

Aspect ratio

STL MimicsRemeshed Mimics 1Remeshed Mimics 2

0

Figure Remeshing of human lungs with the presented algorithm ascompared with a commercial package such as Mimics

Efficient surface remeshing

Remeshing of the bunny mesh model of 70k triangles

Remeshing Number of Partition Parametrization Total remeshingpartitions time (s) time (s) time (s)

LSCM Levy 23 30 95 minus

Eck 88 - - 335ABF++ Zayer 2 - 13 -LinABF Zayer 2 - 2 -Present work laplacian part 2 167 14 25 metis part 10 7 14 14

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alBlossom-Quad a non-uniform quadrilateral mesh generator using aminimum cost perfect matching algorithm IJNME In press 2011

J-F Remacle et alA frontal Delaunay quad mesh generator using the Linfin norm IJNMEAccepted 2011

What we aim at

Indirect approach a non-optimal matching algorithmh(xy) = 01+008sin(3x)cos(6y) 836 quads and 240 triangles

τ= 0888825 τ= 0855715

Indirect approach a full-quad approachh(xy) = 01+008sin(3x)cos(6y) only quads

τ= 0854955 τ= 0838941 τ= 0790898

Indirect approach the Blossom-Quad approach

We build G(V E c) an undirected weighted graph Here V is the setof nV vertices E is the set of nE undirected edges andc(E) =

sumc(eij) is an edge-based cost function ie the sum of all

weights associated to every edge eij isin E of the graph

Indirect approach the Blossom-Quad approach

A matching is a subset E prime sube E such that each node of V has at mostone incident edge in E prime

Indirect approach the Blossom-Quad approach

A matching is perfect if each node of V has exactly one incident edgein E prime A perfect matching is optimum if c(E prime) is minimum among allpossible perfect matchings

eij

ti

tj

Indirect approach the Blossom-Quad approach

In 1965 Edmonds invented the Blossom algorithm that solves theproblem of optimum perfect matching in polynomial time Astraightforward implementation of Edmondsrsquos algorithm requiresO(n2

V nE) operationsSince then the worst-case complexity of the Blossom algorithmhas been steadily improving Both Lawler and Gabow achieved arunning time of O(n3

V ) Galil Micali and Gabow improved it toO(nV nE log(nV )) The current best known result in terms of nVand nE is O(nV (nE + lognV ))There is also a long history of computer implementations of theBlossom algorithm starting with the Blossom I code ofEdmonds Johnson and Lockhart In this paper ourimplementation makes use of the Blossom IV code of Cook andRohe1 that has been considered for several years as the fastestavailable implementation of the Blossom algorithm Gmshredistributes this piece of code

1httpwww2isyegatecheduwcookblossom4

Indirect approach Blossom-Quadh(xy) = 01+008sin(3x)cos(6y) only quads

τ= 0888825 τ= 0839313

Existence of perfect matchings

There is no guarantee that even one single perfect matchingexists in a given graphConsider the meshes below It is obvious that no perfectmatching exists for the coarsest oneThe following result known as Tuttersquos theorem proves that noneof the two meshes contains a perfect matching

The Blossom-Quad algorithm

Initial Raw Blossom Vertex Topological Finaltriangulation application smoothing optimization mesh

Quad mesh generation applied to STL modelsh(~x) = 2πR(~x)

Np with R(~x) = 1

κ(~x) NP = 50

Stanford Bunny Aneurysm

Quad mesh generation applied to STL models

τ= 0842549 τ= 0856247

The overall remeshing procedure for both STL examples takesonly 20s (5s for the Blossom-Quad)The quad-dominant meshing algorithm of [Levy et al] takes 271sfor the remeshing of the Stanford bunny

Anisotropic quad mesh generation applied to aparametric model

Anisotropic mesh

Anisotropic metricBuild an anisotropic triangular meshReimannian metric is used to measure distancesHere principal directions of the curvature tensor are used

Indirect approach an obvious problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Cross Fields

ycross

x

y

xcrossθ

The Linfin norm is not invariant by rotation rarr quads should beorientedA cross field (in 2D) is a scalar field θ(u) that gives theorientations of a local system of axis at point u in the parameterplaneThe local value of the cross field θ(uv) is defined only up torotations by π2 we choose to propagate

α(uv) = a(uv)+ ib(uv) = e4iθ(uv)

through a harmonic map

Perpendicular bisectors in the Linfin-norm

Lequiv y +(yo minusxp) = x

x

y

x2 = (xpyp)

(00)

α lt π4

(0xp minusyp)

x3 = (minusxp2xp minusyp)

x1 = (minusxpminusyp)

Bisector of two points x1 = (minusxpminusyp) and x2 = (xpyp) using theLinfin-norm

Circumcenter circumradius and circumcircle

ycross

x3

xcross

Ti

xcθ

R(T θ)

x1

x2

Circumcenter xc of a triangle using the Linfin-norm and circumcircle(red dotted square)

Delaunay and Voronoiuml

Voronoi diagram (dark lines) and Delaunay triangulation both in theLinfin norm

A frontal-Delaunay mesher in the Linfin-norm

The frontal-delaunay technique is based on

Rebay S Efficient unstructured mesh generation by means ofdelaunay triangulation and bowyer-watson algorithm Journal ofComputational Physics 1993 106(1)125ndash138

A frontal-Delaunay mesher in the Linfin-norm

Active

Edge of the front

Resolved

x1

Cn

Cl

L

x3 = (minusxpyp)

x2 = (xpminusyp)

x4

xc

xm

xl

xn

xe

x

y

Illustration of the point insertion algorithm

Car Hood

(a) (b) (c)Conformal reparametrization of a car hood Figure (a) shows the

CAD decomposition of the hood into 18 Beacutezier surfaces and the initialconforming mesh Figure (b) shows the result of the conformal

reparametrization ie isolines of u and v on the whole hood Figure(c) shows the projection of the initial mesh on the parameter plane u

Car Hood18 J-F REMACLE ET AL

(F) (FB) (FLB)

(D) (DB) (DLB)

N η ηw τ() d4() dmax

(FB) 1726 077 037 86 71 6(FLB) 1744 086 039 87 81 5(DB) 1527 090 037 93 81 5

(DLB) 1543 091 043 94 83 5

Figure 15 Pictures of different meshes of the car hood as well as mesh statistics

fields on all surfaces and the conformal reparametrization of all non planar surfaces The meshstatistics are as follows τ = 97 d4 = 91 dmax = 6 η = 095 ηw = 01 The mesh generatedby our approach for some of the planar and cylindrical surfaces of this particular geometry wasa structured mesh This happened however automatically without user interaction or internalheuristics of the mesher This explains the exceptionnaly high value of τ and η in this specificproblem

82 Falcon aircraft

As a second example the Falcon aircraft of Figure 17 is considered A surface mesh has beengenerated using a standard surface mesher whose triangles were patched together to create thecompounds of surfaces represented with different colors in the figure Each compound surfacehas been reparametrized separately by means of a conformal map created using the techniquesdescribed in [6 10 11 12] The mesh size field is composed of a uniform bulk size field δb = 01augmented with line and point sources at critical zones of the aircraft as depicted on Figure 17

The images of the different surfaces in their respective parameter plane can be seen onFigure 18 The resulting mesh is presented on Figure 19 The mesh is composed of 53297

Copyright c 2010 John Wiley amp Sons Ltd Int J Numer Meth Engng 2010 001ndash6Prepared using nmeauthcls

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Parametrizations of the surfaces of the Falcon aircraft in the uvplane

Falcon

Falcon

Falcon

Falcon

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alGeometrical Validity of Curvilinear Finite Elements IJNME Inpreparation 2011

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Roadmap for Gmsh 30

Complete re-build of the GUIUse Qt (a first demo version should be available in 2011)More flexibility reconfigurable GUI (OnleLab project) trueplugins remote control through sockets

Meshing capabilities enhancedCurvilinear meshes (p = 2 and p = 3 in 2011)Hex dominant meshing (DomHex project)Boundary layers (already ok for surface meshes) pyramids (evenfor high order)

Python API has to be cleaned and documented

  • History
  • Strategy
  • Research
    • Reparametrization
    • Quad meshing
    • Curvilinear meshing
      • Perspectives
Page 29: An Overview of the GMSH project

High quality meshing for the Laplacian harmonic map

Time spent in the different steps of the automatic remeshing

The total time for remeshing the initial mesh of 25k triangles is 9s

CPU time lt 100s for mesh of 1e6 elements

High quality meshing

Comparisons with other techniques for surface remeshing

a) b) c)

Figure Remeshing of human lungs a) part of the initial STL triangulationb) remeshed geometry with Mimics (after 2 steps) and c) remeshed lungbased on the Harmonic mapping remeshing procedure

High quality meshing

Remeshed Harmonic map

00200400600801

01201401601802

0 02 04 06 08 1

Fre

quen

cy

Aspect ratio

STL MimicsRemeshed Mimics 1Remeshed Mimics 2

0

Figure Remeshing of human lungs with the presented algorithm ascompared with a commercial package such as Mimics

Efficient surface remeshing

Remeshing of the bunny mesh model of 70k triangles

Remeshing Number of Partition Parametrization Total remeshingpartitions time (s) time (s) time (s)

LSCM Levy 23 30 95 minus

Eck 88 - - 335ABF++ Zayer 2 - 13 -LinABF Zayer 2 - 2 -Present work laplacian part 2 167 14 25 metis part 10 7 14 14

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alBlossom-Quad a non-uniform quadrilateral mesh generator using aminimum cost perfect matching algorithm IJNME In press 2011

J-F Remacle et alA frontal Delaunay quad mesh generator using the Linfin norm IJNMEAccepted 2011

What we aim at

Indirect approach a non-optimal matching algorithmh(xy) = 01+008sin(3x)cos(6y) 836 quads and 240 triangles

τ= 0888825 τ= 0855715

Indirect approach a full-quad approachh(xy) = 01+008sin(3x)cos(6y) only quads

τ= 0854955 τ= 0838941 τ= 0790898

Indirect approach the Blossom-Quad approach

We build G(V E c) an undirected weighted graph Here V is the setof nV vertices E is the set of nE undirected edges andc(E) =

sumc(eij) is an edge-based cost function ie the sum of all

weights associated to every edge eij isin E of the graph

Indirect approach the Blossom-Quad approach

A matching is a subset E prime sube E such that each node of V has at mostone incident edge in E prime

Indirect approach the Blossom-Quad approach

A matching is perfect if each node of V has exactly one incident edgein E prime A perfect matching is optimum if c(E prime) is minimum among allpossible perfect matchings

eij

ti

tj

Indirect approach the Blossom-Quad approach

In 1965 Edmonds invented the Blossom algorithm that solves theproblem of optimum perfect matching in polynomial time Astraightforward implementation of Edmondsrsquos algorithm requiresO(n2

V nE) operationsSince then the worst-case complexity of the Blossom algorithmhas been steadily improving Both Lawler and Gabow achieved arunning time of O(n3

V ) Galil Micali and Gabow improved it toO(nV nE log(nV )) The current best known result in terms of nVand nE is O(nV (nE + lognV ))There is also a long history of computer implementations of theBlossom algorithm starting with the Blossom I code ofEdmonds Johnson and Lockhart In this paper ourimplementation makes use of the Blossom IV code of Cook andRohe1 that has been considered for several years as the fastestavailable implementation of the Blossom algorithm Gmshredistributes this piece of code

1httpwww2isyegatecheduwcookblossom4

Indirect approach Blossom-Quadh(xy) = 01+008sin(3x)cos(6y) only quads

τ= 0888825 τ= 0839313

Existence of perfect matchings

There is no guarantee that even one single perfect matchingexists in a given graphConsider the meshes below It is obvious that no perfectmatching exists for the coarsest oneThe following result known as Tuttersquos theorem proves that noneof the two meshes contains a perfect matching

The Blossom-Quad algorithm

Initial Raw Blossom Vertex Topological Finaltriangulation application smoothing optimization mesh

Quad mesh generation applied to STL modelsh(~x) = 2πR(~x)

Np with R(~x) = 1

κ(~x) NP = 50

Stanford Bunny Aneurysm

Quad mesh generation applied to STL models

τ= 0842549 τ= 0856247

The overall remeshing procedure for both STL examples takesonly 20s (5s for the Blossom-Quad)The quad-dominant meshing algorithm of [Levy et al] takes 271sfor the remeshing of the Stanford bunny

Anisotropic quad mesh generation applied to aparametric model

Anisotropic mesh

Anisotropic metricBuild an anisotropic triangular meshReimannian metric is used to measure distancesHere principal directions of the curvature tensor are used

Indirect approach an obvious problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Cross Fields

ycross

x

y

xcrossθ

The Linfin norm is not invariant by rotation rarr quads should beorientedA cross field (in 2D) is a scalar field θ(u) that gives theorientations of a local system of axis at point u in the parameterplaneThe local value of the cross field θ(uv) is defined only up torotations by π2 we choose to propagate

α(uv) = a(uv)+ ib(uv) = e4iθ(uv)

through a harmonic map

Perpendicular bisectors in the Linfin-norm

Lequiv y +(yo minusxp) = x

x

y

x2 = (xpyp)

(00)

α lt π4

(0xp minusyp)

x3 = (minusxp2xp minusyp)

x1 = (minusxpminusyp)

Bisector of two points x1 = (minusxpminusyp) and x2 = (xpyp) using theLinfin-norm

Circumcenter circumradius and circumcircle

ycross

x3

xcross

Ti

xcθ

R(T θ)

x1

x2

Circumcenter xc of a triangle using the Linfin-norm and circumcircle(red dotted square)

Delaunay and Voronoiuml

Voronoi diagram (dark lines) and Delaunay triangulation both in theLinfin norm

A frontal-Delaunay mesher in the Linfin-norm

The frontal-delaunay technique is based on

Rebay S Efficient unstructured mesh generation by means ofdelaunay triangulation and bowyer-watson algorithm Journal ofComputational Physics 1993 106(1)125ndash138

A frontal-Delaunay mesher in the Linfin-norm

Active

Edge of the front

Resolved

x1

Cn

Cl

L

x3 = (minusxpyp)

x2 = (xpminusyp)

x4

xc

xm

xl

xn

xe

x

y

Illustration of the point insertion algorithm

Car Hood

(a) (b) (c)Conformal reparametrization of a car hood Figure (a) shows the

CAD decomposition of the hood into 18 Beacutezier surfaces and the initialconforming mesh Figure (b) shows the result of the conformal

reparametrization ie isolines of u and v on the whole hood Figure(c) shows the projection of the initial mesh on the parameter plane u

Car Hood18 J-F REMACLE ET AL

(F) (FB) (FLB)

(D) (DB) (DLB)

N η ηw τ() d4() dmax

(FB) 1726 077 037 86 71 6(FLB) 1744 086 039 87 81 5(DB) 1527 090 037 93 81 5

(DLB) 1543 091 043 94 83 5

Figure 15 Pictures of different meshes of the car hood as well as mesh statistics

fields on all surfaces and the conformal reparametrization of all non planar surfaces The meshstatistics are as follows τ = 97 d4 = 91 dmax = 6 η = 095 ηw = 01 The mesh generatedby our approach for some of the planar and cylindrical surfaces of this particular geometry wasa structured mesh This happened however automatically without user interaction or internalheuristics of the mesher This explains the exceptionnaly high value of τ and η in this specificproblem

82 Falcon aircraft

As a second example the Falcon aircraft of Figure 17 is considered A surface mesh has beengenerated using a standard surface mesher whose triangles were patched together to create thecompounds of surfaces represented with different colors in the figure Each compound surfacehas been reparametrized separately by means of a conformal map created using the techniquesdescribed in [6 10 11 12] The mesh size field is composed of a uniform bulk size field δb = 01augmented with line and point sources at critical zones of the aircraft as depicted on Figure 17

The images of the different surfaces in their respective parameter plane can be seen onFigure 18 The resulting mesh is presented on Figure 19 The mesh is composed of 53297

Copyright c 2010 John Wiley amp Sons Ltd Int J Numer Meth Engng 2010 001ndash6Prepared using nmeauthcls

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Parametrizations of the surfaces of the Falcon aircraft in the uvplane

Falcon

Falcon

Falcon

Falcon

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alGeometrical Validity of Curvilinear Finite Elements IJNME Inpreparation 2011

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Roadmap for Gmsh 30

Complete re-build of the GUIUse Qt (a first demo version should be available in 2011)More flexibility reconfigurable GUI (OnleLab project) trueplugins remote control through sockets

Meshing capabilities enhancedCurvilinear meshes (p = 2 and p = 3 in 2011)Hex dominant meshing (DomHex project)Boundary layers (already ok for surface meshes) pyramids (evenfor high order)

Python API has to be cleaned and documented

  • History
  • Strategy
  • Research
    • Reparametrization
    • Quad meshing
    • Curvilinear meshing
      • Perspectives
Page 30: An Overview of the GMSH project

High quality meshing

Comparisons with other techniques for surface remeshing

a) b) c)

Figure Remeshing of human lungs a) part of the initial STL triangulationb) remeshed geometry with Mimics (after 2 steps) and c) remeshed lungbased on the Harmonic mapping remeshing procedure

High quality meshing

Remeshed Harmonic map

00200400600801

01201401601802

0 02 04 06 08 1

Fre

quen

cy

Aspect ratio

STL MimicsRemeshed Mimics 1Remeshed Mimics 2

0

Figure Remeshing of human lungs with the presented algorithm ascompared with a commercial package such as Mimics

Efficient surface remeshing

Remeshing of the bunny mesh model of 70k triangles

Remeshing Number of Partition Parametrization Total remeshingpartitions time (s) time (s) time (s)

LSCM Levy 23 30 95 minus

Eck 88 - - 335ABF++ Zayer 2 - 13 -LinABF Zayer 2 - 2 -Present work laplacian part 2 167 14 25 metis part 10 7 14 14

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alBlossom-Quad a non-uniform quadrilateral mesh generator using aminimum cost perfect matching algorithm IJNME In press 2011

J-F Remacle et alA frontal Delaunay quad mesh generator using the Linfin norm IJNMEAccepted 2011

What we aim at

Indirect approach a non-optimal matching algorithmh(xy) = 01+008sin(3x)cos(6y) 836 quads and 240 triangles

τ= 0888825 τ= 0855715

Indirect approach a full-quad approachh(xy) = 01+008sin(3x)cos(6y) only quads

τ= 0854955 τ= 0838941 τ= 0790898

Indirect approach the Blossom-Quad approach

We build G(V E c) an undirected weighted graph Here V is the setof nV vertices E is the set of nE undirected edges andc(E) =

sumc(eij) is an edge-based cost function ie the sum of all

weights associated to every edge eij isin E of the graph

Indirect approach the Blossom-Quad approach

A matching is a subset E prime sube E such that each node of V has at mostone incident edge in E prime

Indirect approach the Blossom-Quad approach

A matching is perfect if each node of V has exactly one incident edgein E prime A perfect matching is optimum if c(E prime) is minimum among allpossible perfect matchings

eij

ti

tj

Indirect approach the Blossom-Quad approach

In 1965 Edmonds invented the Blossom algorithm that solves theproblem of optimum perfect matching in polynomial time Astraightforward implementation of Edmondsrsquos algorithm requiresO(n2

V nE) operationsSince then the worst-case complexity of the Blossom algorithmhas been steadily improving Both Lawler and Gabow achieved arunning time of O(n3

V ) Galil Micali and Gabow improved it toO(nV nE log(nV )) The current best known result in terms of nVand nE is O(nV (nE + lognV ))There is also a long history of computer implementations of theBlossom algorithm starting with the Blossom I code ofEdmonds Johnson and Lockhart In this paper ourimplementation makes use of the Blossom IV code of Cook andRohe1 that has been considered for several years as the fastestavailable implementation of the Blossom algorithm Gmshredistributes this piece of code

1httpwww2isyegatecheduwcookblossom4

Indirect approach Blossom-Quadh(xy) = 01+008sin(3x)cos(6y) only quads

τ= 0888825 τ= 0839313

Existence of perfect matchings

There is no guarantee that even one single perfect matchingexists in a given graphConsider the meshes below It is obvious that no perfectmatching exists for the coarsest oneThe following result known as Tuttersquos theorem proves that noneof the two meshes contains a perfect matching

The Blossom-Quad algorithm

Initial Raw Blossom Vertex Topological Finaltriangulation application smoothing optimization mesh

Quad mesh generation applied to STL modelsh(~x) = 2πR(~x)

Np with R(~x) = 1

κ(~x) NP = 50

Stanford Bunny Aneurysm

Quad mesh generation applied to STL models

τ= 0842549 τ= 0856247

The overall remeshing procedure for both STL examples takesonly 20s (5s for the Blossom-Quad)The quad-dominant meshing algorithm of [Levy et al] takes 271sfor the remeshing of the Stanford bunny

Anisotropic quad mesh generation applied to aparametric model

Anisotropic mesh

Anisotropic metricBuild an anisotropic triangular meshReimannian metric is used to measure distancesHere principal directions of the curvature tensor are used

Indirect approach an obvious problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Cross Fields

ycross

x

y

xcrossθ

The Linfin norm is not invariant by rotation rarr quads should beorientedA cross field (in 2D) is a scalar field θ(u) that gives theorientations of a local system of axis at point u in the parameterplaneThe local value of the cross field θ(uv) is defined only up torotations by π2 we choose to propagate

α(uv) = a(uv)+ ib(uv) = e4iθ(uv)

through a harmonic map

Perpendicular bisectors in the Linfin-norm

Lequiv y +(yo minusxp) = x

x

y

x2 = (xpyp)

(00)

α lt π4

(0xp minusyp)

x3 = (minusxp2xp minusyp)

x1 = (minusxpminusyp)

Bisector of two points x1 = (minusxpminusyp) and x2 = (xpyp) using theLinfin-norm

Circumcenter circumradius and circumcircle

ycross

x3

xcross

Ti

xcθ

R(T θ)

x1

x2

Circumcenter xc of a triangle using the Linfin-norm and circumcircle(red dotted square)

Delaunay and Voronoiuml

Voronoi diagram (dark lines) and Delaunay triangulation both in theLinfin norm

A frontal-Delaunay mesher in the Linfin-norm

The frontal-delaunay technique is based on

Rebay S Efficient unstructured mesh generation by means ofdelaunay triangulation and bowyer-watson algorithm Journal ofComputational Physics 1993 106(1)125ndash138

A frontal-Delaunay mesher in the Linfin-norm

Active

Edge of the front

Resolved

x1

Cn

Cl

L

x3 = (minusxpyp)

x2 = (xpminusyp)

x4

xc

xm

xl

xn

xe

x

y

Illustration of the point insertion algorithm

Car Hood

(a) (b) (c)Conformal reparametrization of a car hood Figure (a) shows the

CAD decomposition of the hood into 18 Beacutezier surfaces and the initialconforming mesh Figure (b) shows the result of the conformal

reparametrization ie isolines of u and v on the whole hood Figure(c) shows the projection of the initial mesh on the parameter plane u

Car Hood18 J-F REMACLE ET AL

(F) (FB) (FLB)

(D) (DB) (DLB)

N η ηw τ() d4() dmax

(FB) 1726 077 037 86 71 6(FLB) 1744 086 039 87 81 5(DB) 1527 090 037 93 81 5

(DLB) 1543 091 043 94 83 5

Figure 15 Pictures of different meshes of the car hood as well as mesh statistics

fields on all surfaces and the conformal reparametrization of all non planar surfaces The meshstatistics are as follows τ = 97 d4 = 91 dmax = 6 η = 095 ηw = 01 The mesh generatedby our approach for some of the planar and cylindrical surfaces of this particular geometry wasa structured mesh This happened however automatically without user interaction or internalheuristics of the mesher This explains the exceptionnaly high value of τ and η in this specificproblem

82 Falcon aircraft

As a second example the Falcon aircraft of Figure 17 is considered A surface mesh has beengenerated using a standard surface mesher whose triangles were patched together to create thecompounds of surfaces represented with different colors in the figure Each compound surfacehas been reparametrized separately by means of a conformal map created using the techniquesdescribed in [6 10 11 12] The mesh size field is composed of a uniform bulk size field δb = 01augmented with line and point sources at critical zones of the aircraft as depicted on Figure 17

The images of the different surfaces in their respective parameter plane can be seen onFigure 18 The resulting mesh is presented on Figure 19 The mesh is composed of 53297

Copyright c 2010 John Wiley amp Sons Ltd Int J Numer Meth Engng 2010 001ndash6Prepared using nmeauthcls

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Parametrizations of the surfaces of the Falcon aircraft in the uvplane

Falcon

Falcon

Falcon

Falcon

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alGeometrical Validity of Curvilinear Finite Elements IJNME Inpreparation 2011

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Roadmap for Gmsh 30

Complete re-build of the GUIUse Qt (a first demo version should be available in 2011)More flexibility reconfigurable GUI (OnleLab project) trueplugins remote control through sockets

Meshing capabilities enhancedCurvilinear meshes (p = 2 and p = 3 in 2011)Hex dominant meshing (DomHex project)Boundary layers (already ok for surface meshes) pyramids (evenfor high order)

Python API has to be cleaned and documented

  • History
  • Strategy
  • Research
    • Reparametrization
    • Quad meshing
    • Curvilinear meshing
      • Perspectives
Page 31: An Overview of the GMSH project

High quality meshing

Remeshed Harmonic map

00200400600801

01201401601802

0 02 04 06 08 1

Fre

quen

cy

Aspect ratio

STL MimicsRemeshed Mimics 1Remeshed Mimics 2

0

Figure Remeshing of human lungs with the presented algorithm ascompared with a commercial package such as Mimics

Efficient surface remeshing

Remeshing of the bunny mesh model of 70k triangles

Remeshing Number of Partition Parametrization Total remeshingpartitions time (s) time (s) time (s)

LSCM Levy 23 30 95 minus

Eck 88 - - 335ABF++ Zayer 2 - 13 -LinABF Zayer 2 - 2 -Present work laplacian part 2 167 14 25 metis part 10 7 14 14

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alBlossom-Quad a non-uniform quadrilateral mesh generator using aminimum cost perfect matching algorithm IJNME In press 2011

J-F Remacle et alA frontal Delaunay quad mesh generator using the Linfin norm IJNMEAccepted 2011

What we aim at

Indirect approach a non-optimal matching algorithmh(xy) = 01+008sin(3x)cos(6y) 836 quads and 240 triangles

τ= 0888825 τ= 0855715

Indirect approach a full-quad approachh(xy) = 01+008sin(3x)cos(6y) only quads

τ= 0854955 τ= 0838941 τ= 0790898

Indirect approach the Blossom-Quad approach

We build G(V E c) an undirected weighted graph Here V is the setof nV vertices E is the set of nE undirected edges andc(E) =

sumc(eij) is an edge-based cost function ie the sum of all

weights associated to every edge eij isin E of the graph

Indirect approach the Blossom-Quad approach

A matching is a subset E prime sube E such that each node of V has at mostone incident edge in E prime

Indirect approach the Blossom-Quad approach

A matching is perfect if each node of V has exactly one incident edgein E prime A perfect matching is optimum if c(E prime) is minimum among allpossible perfect matchings

eij

ti

tj

Indirect approach the Blossom-Quad approach

In 1965 Edmonds invented the Blossom algorithm that solves theproblem of optimum perfect matching in polynomial time Astraightforward implementation of Edmondsrsquos algorithm requiresO(n2

V nE) operationsSince then the worst-case complexity of the Blossom algorithmhas been steadily improving Both Lawler and Gabow achieved arunning time of O(n3

V ) Galil Micali and Gabow improved it toO(nV nE log(nV )) The current best known result in terms of nVand nE is O(nV (nE + lognV ))There is also a long history of computer implementations of theBlossom algorithm starting with the Blossom I code ofEdmonds Johnson and Lockhart In this paper ourimplementation makes use of the Blossom IV code of Cook andRohe1 that has been considered for several years as the fastestavailable implementation of the Blossom algorithm Gmshredistributes this piece of code

1httpwww2isyegatecheduwcookblossom4

Indirect approach Blossom-Quadh(xy) = 01+008sin(3x)cos(6y) only quads

τ= 0888825 τ= 0839313

Existence of perfect matchings

There is no guarantee that even one single perfect matchingexists in a given graphConsider the meshes below It is obvious that no perfectmatching exists for the coarsest oneThe following result known as Tuttersquos theorem proves that noneof the two meshes contains a perfect matching

The Blossom-Quad algorithm

Initial Raw Blossom Vertex Topological Finaltriangulation application smoothing optimization mesh

Quad mesh generation applied to STL modelsh(~x) = 2πR(~x)

Np with R(~x) = 1

κ(~x) NP = 50

Stanford Bunny Aneurysm

Quad mesh generation applied to STL models

τ= 0842549 τ= 0856247

The overall remeshing procedure for both STL examples takesonly 20s (5s for the Blossom-Quad)The quad-dominant meshing algorithm of [Levy et al] takes 271sfor the remeshing of the Stanford bunny

Anisotropic quad mesh generation applied to aparametric model

Anisotropic mesh

Anisotropic metricBuild an anisotropic triangular meshReimannian metric is used to measure distancesHere principal directions of the curvature tensor are used

Indirect approach an obvious problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Cross Fields

ycross

x

y

xcrossθ

The Linfin norm is not invariant by rotation rarr quads should beorientedA cross field (in 2D) is a scalar field θ(u) that gives theorientations of a local system of axis at point u in the parameterplaneThe local value of the cross field θ(uv) is defined only up torotations by π2 we choose to propagate

α(uv) = a(uv)+ ib(uv) = e4iθ(uv)

through a harmonic map

Perpendicular bisectors in the Linfin-norm

Lequiv y +(yo minusxp) = x

x

y

x2 = (xpyp)

(00)

α lt π4

(0xp minusyp)

x3 = (minusxp2xp minusyp)

x1 = (minusxpminusyp)

Bisector of two points x1 = (minusxpminusyp) and x2 = (xpyp) using theLinfin-norm

Circumcenter circumradius and circumcircle

ycross

x3

xcross

Ti

xcθ

R(T θ)

x1

x2

Circumcenter xc of a triangle using the Linfin-norm and circumcircle(red dotted square)

Delaunay and Voronoiuml

Voronoi diagram (dark lines) and Delaunay triangulation both in theLinfin norm

A frontal-Delaunay mesher in the Linfin-norm

The frontal-delaunay technique is based on

Rebay S Efficient unstructured mesh generation by means ofdelaunay triangulation and bowyer-watson algorithm Journal ofComputational Physics 1993 106(1)125ndash138

A frontal-Delaunay mesher in the Linfin-norm

Active

Edge of the front

Resolved

x1

Cn

Cl

L

x3 = (minusxpyp)

x2 = (xpminusyp)

x4

xc

xm

xl

xn

xe

x

y

Illustration of the point insertion algorithm

Car Hood

(a) (b) (c)Conformal reparametrization of a car hood Figure (a) shows the

CAD decomposition of the hood into 18 Beacutezier surfaces and the initialconforming mesh Figure (b) shows the result of the conformal

reparametrization ie isolines of u and v on the whole hood Figure(c) shows the projection of the initial mesh on the parameter plane u

Car Hood18 J-F REMACLE ET AL

(F) (FB) (FLB)

(D) (DB) (DLB)

N η ηw τ() d4() dmax

(FB) 1726 077 037 86 71 6(FLB) 1744 086 039 87 81 5(DB) 1527 090 037 93 81 5

(DLB) 1543 091 043 94 83 5

Figure 15 Pictures of different meshes of the car hood as well as mesh statistics

fields on all surfaces and the conformal reparametrization of all non planar surfaces The meshstatistics are as follows τ = 97 d4 = 91 dmax = 6 η = 095 ηw = 01 The mesh generatedby our approach for some of the planar and cylindrical surfaces of this particular geometry wasa structured mesh This happened however automatically without user interaction or internalheuristics of the mesher This explains the exceptionnaly high value of τ and η in this specificproblem

82 Falcon aircraft

As a second example the Falcon aircraft of Figure 17 is considered A surface mesh has beengenerated using a standard surface mesher whose triangles were patched together to create thecompounds of surfaces represented with different colors in the figure Each compound surfacehas been reparametrized separately by means of a conformal map created using the techniquesdescribed in [6 10 11 12] The mesh size field is composed of a uniform bulk size field δb = 01augmented with line and point sources at critical zones of the aircraft as depicted on Figure 17

The images of the different surfaces in their respective parameter plane can be seen onFigure 18 The resulting mesh is presented on Figure 19 The mesh is composed of 53297

Copyright c 2010 John Wiley amp Sons Ltd Int J Numer Meth Engng 2010 001ndash6Prepared using nmeauthcls

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Parametrizations of the surfaces of the Falcon aircraft in the uvplane

Falcon

Falcon

Falcon

Falcon

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alGeometrical Validity of Curvilinear Finite Elements IJNME Inpreparation 2011

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Roadmap for Gmsh 30

Complete re-build of the GUIUse Qt (a first demo version should be available in 2011)More flexibility reconfigurable GUI (OnleLab project) trueplugins remote control through sockets

Meshing capabilities enhancedCurvilinear meshes (p = 2 and p = 3 in 2011)Hex dominant meshing (DomHex project)Boundary layers (already ok for surface meshes) pyramids (evenfor high order)

Python API has to be cleaned and documented

  • History
  • Strategy
  • Research
    • Reparametrization
    • Quad meshing
    • Curvilinear meshing
      • Perspectives
Page 32: An Overview of the GMSH project

Efficient surface remeshing

Remeshing of the bunny mesh model of 70k triangles

Remeshing Number of Partition Parametrization Total remeshingpartitions time (s) time (s) time (s)

LSCM Levy 23 30 95 minus

Eck 88 - - 335ABF++ Zayer 2 - 13 -LinABF Zayer 2 - 2 -Present work laplacian part 2 167 14 25 metis part 10 7 14 14

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alBlossom-Quad a non-uniform quadrilateral mesh generator using aminimum cost perfect matching algorithm IJNME In press 2011

J-F Remacle et alA frontal Delaunay quad mesh generator using the Linfin norm IJNMEAccepted 2011

What we aim at

Indirect approach a non-optimal matching algorithmh(xy) = 01+008sin(3x)cos(6y) 836 quads and 240 triangles

τ= 0888825 τ= 0855715

Indirect approach a full-quad approachh(xy) = 01+008sin(3x)cos(6y) only quads

τ= 0854955 τ= 0838941 τ= 0790898

Indirect approach the Blossom-Quad approach

We build G(V E c) an undirected weighted graph Here V is the setof nV vertices E is the set of nE undirected edges andc(E) =

sumc(eij) is an edge-based cost function ie the sum of all

weights associated to every edge eij isin E of the graph

Indirect approach the Blossom-Quad approach

A matching is a subset E prime sube E such that each node of V has at mostone incident edge in E prime

Indirect approach the Blossom-Quad approach

A matching is perfect if each node of V has exactly one incident edgein E prime A perfect matching is optimum if c(E prime) is minimum among allpossible perfect matchings

eij

ti

tj

Indirect approach the Blossom-Quad approach

In 1965 Edmonds invented the Blossom algorithm that solves theproblem of optimum perfect matching in polynomial time Astraightforward implementation of Edmondsrsquos algorithm requiresO(n2

V nE) operationsSince then the worst-case complexity of the Blossom algorithmhas been steadily improving Both Lawler and Gabow achieved arunning time of O(n3

V ) Galil Micali and Gabow improved it toO(nV nE log(nV )) The current best known result in terms of nVand nE is O(nV (nE + lognV ))There is also a long history of computer implementations of theBlossom algorithm starting with the Blossom I code ofEdmonds Johnson and Lockhart In this paper ourimplementation makes use of the Blossom IV code of Cook andRohe1 that has been considered for several years as the fastestavailable implementation of the Blossom algorithm Gmshredistributes this piece of code

1httpwww2isyegatecheduwcookblossom4

Indirect approach Blossom-Quadh(xy) = 01+008sin(3x)cos(6y) only quads

τ= 0888825 τ= 0839313

Existence of perfect matchings

There is no guarantee that even one single perfect matchingexists in a given graphConsider the meshes below It is obvious that no perfectmatching exists for the coarsest oneThe following result known as Tuttersquos theorem proves that noneof the two meshes contains a perfect matching

The Blossom-Quad algorithm

Initial Raw Blossom Vertex Topological Finaltriangulation application smoothing optimization mesh

Quad mesh generation applied to STL modelsh(~x) = 2πR(~x)

Np with R(~x) = 1

κ(~x) NP = 50

Stanford Bunny Aneurysm

Quad mesh generation applied to STL models

τ= 0842549 τ= 0856247

The overall remeshing procedure for both STL examples takesonly 20s (5s for the Blossom-Quad)The quad-dominant meshing algorithm of [Levy et al] takes 271sfor the remeshing of the Stanford bunny

Anisotropic quad mesh generation applied to aparametric model

Anisotropic mesh

Anisotropic metricBuild an anisotropic triangular meshReimannian metric is used to measure distancesHere principal directions of the curvature tensor are used

Indirect approach an obvious problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Cross Fields

ycross

x

y

xcrossθ

The Linfin norm is not invariant by rotation rarr quads should beorientedA cross field (in 2D) is a scalar field θ(u) that gives theorientations of a local system of axis at point u in the parameterplaneThe local value of the cross field θ(uv) is defined only up torotations by π2 we choose to propagate

α(uv) = a(uv)+ ib(uv) = e4iθ(uv)

through a harmonic map

Perpendicular bisectors in the Linfin-norm

Lequiv y +(yo minusxp) = x

x

y

x2 = (xpyp)

(00)

α lt π4

(0xp minusyp)

x3 = (minusxp2xp minusyp)

x1 = (minusxpminusyp)

Bisector of two points x1 = (minusxpminusyp) and x2 = (xpyp) using theLinfin-norm

Circumcenter circumradius and circumcircle

ycross

x3

xcross

Ti

xcθ

R(T θ)

x1

x2

Circumcenter xc of a triangle using the Linfin-norm and circumcircle(red dotted square)

Delaunay and Voronoiuml

Voronoi diagram (dark lines) and Delaunay triangulation both in theLinfin norm

A frontal-Delaunay mesher in the Linfin-norm

The frontal-delaunay technique is based on

Rebay S Efficient unstructured mesh generation by means ofdelaunay triangulation and bowyer-watson algorithm Journal ofComputational Physics 1993 106(1)125ndash138

A frontal-Delaunay mesher in the Linfin-norm

Active

Edge of the front

Resolved

x1

Cn

Cl

L

x3 = (minusxpyp)

x2 = (xpminusyp)

x4

xc

xm

xl

xn

xe

x

y

Illustration of the point insertion algorithm

Car Hood

(a) (b) (c)Conformal reparametrization of a car hood Figure (a) shows the

CAD decomposition of the hood into 18 Beacutezier surfaces and the initialconforming mesh Figure (b) shows the result of the conformal

reparametrization ie isolines of u and v on the whole hood Figure(c) shows the projection of the initial mesh on the parameter plane u

Car Hood18 J-F REMACLE ET AL

(F) (FB) (FLB)

(D) (DB) (DLB)

N η ηw τ() d4() dmax

(FB) 1726 077 037 86 71 6(FLB) 1744 086 039 87 81 5(DB) 1527 090 037 93 81 5

(DLB) 1543 091 043 94 83 5

Figure 15 Pictures of different meshes of the car hood as well as mesh statistics

fields on all surfaces and the conformal reparametrization of all non planar surfaces The meshstatistics are as follows τ = 97 d4 = 91 dmax = 6 η = 095 ηw = 01 The mesh generatedby our approach for some of the planar and cylindrical surfaces of this particular geometry wasa structured mesh This happened however automatically without user interaction or internalheuristics of the mesher This explains the exceptionnaly high value of τ and η in this specificproblem

82 Falcon aircraft

As a second example the Falcon aircraft of Figure 17 is considered A surface mesh has beengenerated using a standard surface mesher whose triangles were patched together to create thecompounds of surfaces represented with different colors in the figure Each compound surfacehas been reparametrized separately by means of a conformal map created using the techniquesdescribed in [6 10 11 12] The mesh size field is composed of a uniform bulk size field δb = 01augmented with line and point sources at critical zones of the aircraft as depicted on Figure 17

The images of the different surfaces in their respective parameter plane can be seen onFigure 18 The resulting mesh is presented on Figure 19 The mesh is composed of 53297

Copyright c 2010 John Wiley amp Sons Ltd Int J Numer Meth Engng 2010 001ndash6Prepared using nmeauthcls

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Parametrizations of the surfaces of the Falcon aircraft in the uvplane

Falcon

Falcon

Falcon

Falcon

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alGeometrical Validity of Curvilinear Finite Elements IJNME Inpreparation 2011

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Roadmap for Gmsh 30

Complete re-build of the GUIUse Qt (a first demo version should be available in 2011)More flexibility reconfigurable GUI (OnleLab project) trueplugins remote control through sockets

Meshing capabilities enhancedCurvilinear meshes (p = 2 and p = 3 in 2011)Hex dominant meshing (DomHex project)Boundary layers (already ok for surface meshes) pyramids (evenfor high order)

Python API has to be cleaned and documented

  • History
  • Strategy
  • Research
    • Reparametrization
    • Quad meshing
    • Curvilinear meshing
      • Perspectives
Page 33: An Overview of the GMSH project

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alBlossom-Quad a non-uniform quadrilateral mesh generator using aminimum cost perfect matching algorithm IJNME In press 2011

J-F Remacle et alA frontal Delaunay quad mesh generator using the Linfin norm IJNMEAccepted 2011

What we aim at

Indirect approach a non-optimal matching algorithmh(xy) = 01+008sin(3x)cos(6y) 836 quads and 240 triangles

τ= 0888825 τ= 0855715

Indirect approach a full-quad approachh(xy) = 01+008sin(3x)cos(6y) only quads

τ= 0854955 τ= 0838941 τ= 0790898

Indirect approach the Blossom-Quad approach

We build G(V E c) an undirected weighted graph Here V is the setof nV vertices E is the set of nE undirected edges andc(E) =

sumc(eij) is an edge-based cost function ie the sum of all

weights associated to every edge eij isin E of the graph

Indirect approach the Blossom-Quad approach

A matching is a subset E prime sube E such that each node of V has at mostone incident edge in E prime

Indirect approach the Blossom-Quad approach

A matching is perfect if each node of V has exactly one incident edgein E prime A perfect matching is optimum if c(E prime) is minimum among allpossible perfect matchings

eij

ti

tj

Indirect approach the Blossom-Quad approach

In 1965 Edmonds invented the Blossom algorithm that solves theproblem of optimum perfect matching in polynomial time Astraightforward implementation of Edmondsrsquos algorithm requiresO(n2

V nE) operationsSince then the worst-case complexity of the Blossom algorithmhas been steadily improving Both Lawler and Gabow achieved arunning time of O(n3

V ) Galil Micali and Gabow improved it toO(nV nE log(nV )) The current best known result in terms of nVand nE is O(nV (nE + lognV ))There is also a long history of computer implementations of theBlossom algorithm starting with the Blossom I code ofEdmonds Johnson and Lockhart In this paper ourimplementation makes use of the Blossom IV code of Cook andRohe1 that has been considered for several years as the fastestavailable implementation of the Blossom algorithm Gmshredistributes this piece of code

1httpwww2isyegatecheduwcookblossom4

Indirect approach Blossom-Quadh(xy) = 01+008sin(3x)cos(6y) only quads

τ= 0888825 τ= 0839313

Existence of perfect matchings

There is no guarantee that even one single perfect matchingexists in a given graphConsider the meshes below It is obvious that no perfectmatching exists for the coarsest oneThe following result known as Tuttersquos theorem proves that noneof the two meshes contains a perfect matching

The Blossom-Quad algorithm

Initial Raw Blossom Vertex Topological Finaltriangulation application smoothing optimization mesh

Quad mesh generation applied to STL modelsh(~x) = 2πR(~x)

Np with R(~x) = 1

κ(~x) NP = 50

Stanford Bunny Aneurysm

Quad mesh generation applied to STL models

τ= 0842549 τ= 0856247

The overall remeshing procedure for both STL examples takesonly 20s (5s for the Blossom-Quad)The quad-dominant meshing algorithm of [Levy et al] takes 271sfor the remeshing of the Stanford bunny

Anisotropic quad mesh generation applied to aparametric model

Anisotropic mesh

Anisotropic metricBuild an anisotropic triangular meshReimannian metric is used to measure distancesHere principal directions of the curvature tensor are used

Indirect approach an obvious problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Cross Fields

ycross

x

y

xcrossθ

The Linfin norm is not invariant by rotation rarr quads should beorientedA cross field (in 2D) is a scalar field θ(u) that gives theorientations of a local system of axis at point u in the parameterplaneThe local value of the cross field θ(uv) is defined only up torotations by π2 we choose to propagate

α(uv) = a(uv)+ ib(uv) = e4iθ(uv)

through a harmonic map

Perpendicular bisectors in the Linfin-norm

Lequiv y +(yo minusxp) = x

x

y

x2 = (xpyp)

(00)

α lt π4

(0xp minusyp)

x3 = (minusxp2xp minusyp)

x1 = (minusxpminusyp)

Bisector of two points x1 = (minusxpminusyp) and x2 = (xpyp) using theLinfin-norm

Circumcenter circumradius and circumcircle

ycross

x3

xcross

Ti

xcθ

R(T θ)

x1

x2

Circumcenter xc of a triangle using the Linfin-norm and circumcircle(red dotted square)

Delaunay and Voronoiuml

Voronoi diagram (dark lines) and Delaunay triangulation both in theLinfin norm

A frontal-Delaunay mesher in the Linfin-norm

The frontal-delaunay technique is based on

Rebay S Efficient unstructured mesh generation by means ofdelaunay triangulation and bowyer-watson algorithm Journal ofComputational Physics 1993 106(1)125ndash138

A frontal-Delaunay mesher in the Linfin-norm

Active

Edge of the front

Resolved

x1

Cn

Cl

L

x3 = (minusxpyp)

x2 = (xpminusyp)

x4

xc

xm

xl

xn

xe

x

y

Illustration of the point insertion algorithm

Car Hood

(a) (b) (c)Conformal reparametrization of a car hood Figure (a) shows the

CAD decomposition of the hood into 18 Beacutezier surfaces and the initialconforming mesh Figure (b) shows the result of the conformal

reparametrization ie isolines of u and v on the whole hood Figure(c) shows the projection of the initial mesh on the parameter plane u

Car Hood18 J-F REMACLE ET AL

(F) (FB) (FLB)

(D) (DB) (DLB)

N η ηw τ() d4() dmax

(FB) 1726 077 037 86 71 6(FLB) 1744 086 039 87 81 5(DB) 1527 090 037 93 81 5

(DLB) 1543 091 043 94 83 5

Figure 15 Pictures of different meshes of the car hood as well as mesh statistics

fields on all surfaces and the conformal reparametrization of all non planar surfaces The meshstatistics are as follows τ = 97 d4 = 91 dmax = 6 η = 095 ηw = 01 The mesh generatedby our approach for some of the planar and cylindrical surfaces of this particular geometry wasa structured mesh This happened however automatically without user interaction or internalheuristics of the mesher This explains the exceptionnaly high value of τ and η in this specificproblem

82 Falcon aircraft

As a second example the Falcon aircraft of Figure 17 is considered A surface mesh has beengenerated using a standard surface mesher whose triangles were patched together to create thecompounds of surfaces represented with different colors in the figure Each compound surfacehas been reparametrized separately by means of a conformal map created using the techniquesdescribed in [6 10 11 12] The mesh size field is composed of a uniform bulk size field δb = 01augmented with line and point sources at critical zones of the aircraft as depicted on Figure 17

The images of the different surfaces in their respective parameter plane can be seen onFigure 18 The resulting mesh is presented on Figure 19 The mesh is composed of 53297

Copyright c 2010 John Wiley amp Sons Ltd Int J Numer Meth Engng 2010 001ndash6Prepared using nmeauthcls

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Parametrizations of the surfaces of the Falcon aircraft in the uvplane

Falcon

Falcon

Falcon

Falcon

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alGeometrical Validity of Curvilinear Finite Elements IJNME Inpreparation 2011

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Roadmap for Gmsh 30

Complete re-build of the GUIUse Qt (a first demo version should be available in 2011)More flexibility reconfigurable GUI (OnleLab project) trueplugins remote control through sockets

Meshing capabilities enhancedCurvilinear meshes (p = 2 and p = 3 in 2011)Hex dominant meshing (DomHex project)Boundary layers (already ok for surface meshes) pyramids (evenfor high order)

Python API has to be cleaned and documented

  • History
  • Strategy
  • Research
    • Reparametrization
    • Quad meshing
    • Curvilinear meshing
      • Perspectives
Page 34: An Overview of the GMSH project

What we aim at

Indirect approach a non-optimal matching algorithmh(xy) = 01+008sin(3x)cos(6y) 836 quads and 240 triangles

τ= 0888825 τ= 0855715

Indirect approach a full-quad approachh(xy) = 01+008sin(3x)cos(6y) only quads

τ= 0854955 τ= 0838941 τ= 0790898

Indirect approach the Blossom-Quad approach

We build G(V E c) an undirected weighted graph Here V is the setof nV vertices E is the set of nE undirected edges andc(E) =

sumc(eij) is an edge-based cost function ie the sum of all

weights associated to every edge eij isin E of the graph

Indirect approach the Blossom-Quad approach

A matching is a subset E prime sube E such that each node of V has at mostone incident edge in E prime

Indirect approach the Blossom-Quad approach

A matching is perfect if each node of V has exactly one incident edgein E prime A perfect matching is optimum if c(E prime) is minimum among allpossible perfect matchings

eij

ti

tj

Indirect approach the Blossom-Quad approach

In 1965 Edmonds invented the Blossom algorithm that solves theproblem of optimum perfect matching in polynomial time Astraightforward implementation of Edmondsrsquos algorithm requiresO(n2

V nE) operationsSince then the worst-case complexity of the Blossom algorithmhas been steadily improving Both Lawler and Gabow achieved arunning time of O(n3

V ) Galil Micali and Gabow improved it toO(nV nE log(nV )) The current best known result in terms of nVand nE is O(nV (nE + lognV ))There is also a long history of computer implementations of theBlossom algorithm starting with the Blossom I code ofEdmonds Johnson and Lockhart In this paper ourimplementation makes use of the Blossom IV code of Cook andRohe1 that has been considered for several years as the fastestavailable implementation of the Blossom algorithm Gmshredistributes this piece of code

1httpwww2isyegatecheduwcookblossom4

Indirect approach Blossom-Quadh(xy) = 01+008sin(3x)cos(6y) only quads

τ= 0888825 τ= 0839313

Existence of perfect matchings

There is no guarantee that even one single perfect matchingexists in a given graphConsider the meshes below It is obvious that no perfectmatching exists for the coarsest oneThe following result known as Tuttersquos theorem proves that noneof the two meshes contains a perfect matching

The Blossom-Quad algorithm

Initial Raw Blossom Vertex Topological Finaltriangulation application smoothing optimization mesh

Quad mesh generation applied to STL modelsh(~x) = 2πR(~x)

Np with R(~x) = 1

κ(~x) NP = 50

Stanford Bunny Aneurysm

Quad mesh generation applied to STL models

τ= 0842549 τ= 0856247

The overall remeshing procedure for both STL examples takesonly 20s (5s for the Blossom-Quad)The quad-dominant meshing algorithm of [Levy et al] takes 271sfor the remeshing of the Stanford bunny

Anisotropic quad mesh generation applied to aparametric model

Anisotropic mesh

Anisotropic metricBuild an anisotropic triangular meshReimannian metric is used to measure distancesHere principal directions of the curvature tensor are used

Indirect approach an obvious problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Cross Fields

ycross

x

y

xcrossθ

The Linfin norm is not invariant by rotation rarr quads should beorientedA cross field (in 2D) is a scalar field θ(u) that gives theorientations of a local system of axis at point u in the parameterplaneThe local value of the cross field θ(uv) is defined only up torotations by π2 we choose to propagate

α(uv) = a(uv)+ ib(uv) = e4iθ(uv)

through a harmonic map

Perpendicular bisectors in the Linfin-norm

Lequiv y +(yo minusxp) = x

x

y

x2 = (xpyp)

(00)

α lt π4

(0xp minusyp)

x3 = (minusxp2xp minusyp)

x1 = (minusxpminusyp)

Bisector of two points x1 = (minusxpminusyp) and x2 = (xpyp) using theLinfin-norm

Circumcenter circumradius and circumcircle

ycross

x3

xcross

Ti

xcθ

R(T θ)

x1

x2

Circumcenter xc of a triangle using the Linfin-norm and circumcircle(red dotted square)

Delaunay and Voronoiuml

Voronoi diagram (dark lines) and Delaunay triangulation both in theLinfin norm

A frontal-Delaunay mesher in the Linfin-norm

The frontal-delaunay technique is based on

Rebay S Efficient unstructured mesh generation by means ofdelaunay triangulation and bowyer-watson algorithm Journal ofComputational Physics 1993 106(1)125ndash138

A frontal-Delaunay mesher in the Linfin-norm

Active

Edge of the front

Resolved

x1

Cn

Cl

L

x3 = (minusxpyp)

x2 = (xpminusyp)

x4

xc

xm

xl

xn

xe

x

y

Illustration of the point insertion algorithm

Car Hood

(a) (b) (c)Conformal reparametrization of a car hood Figure (a) shows the

CAD decomposition of the hood into 18 Beacutezier surfaces and the initialconforming mesh Figure (b) shows the result of the conformal

reparametrization ie isolines of u and v on the whole hood Figure(c) shows the projection of the initial mesh on the parameter plane u

Car Hood18 J-F REMACLE ET AL

(F) (FB) (FLB)

(D) (DB) (DLB)

N η ηw τ() d4() dmax

(FB) 1726 077 037 86 71 6(FLB) 1744 086 039 87 81 5(DB) 1527 090 037 93 81 5

(DLB) 1543 091 043 94 83 5

Figure 15 Pictures of different meshes of the car hood as well as mesh statistics

fields on all surfaces and the conformal reparametrization of all non planar surfaces The meshstatistics are as follows τ = 97 d4 = 91 dmax = 6 η = 095 ηw = 01 The mesh generatedby our approach for some of the planar and cylindrical surfaces of this particular geometry wasa structured mesh This happened however automatically without user interaction or internalheuristics of the mesher This explains the exceptionnaly high value of τ and η in this specificproblem

82 Falcon aircraft

As a second example the Falcon aircraft of Figure 17 is considered A surface mesh has beengenerated using a standard surface mesher whose triangles were patched together to create thecompounds of surfaces represented with different colors in the figure Each compound surfacehas been reparametrized separately by means of a conformal map created using the techniquesdescribed in [6 10 11 12] The mesh size field is composed of a uniform bulk size field δb = 01augmented with line and point sources at critical zones of the aircraft as depicted on Figure 17

The images of the different surfaces in their respective parameter plane can be seen onFigure 18 The resulting mesh is presented on Figure 19 The mesh is composed of 53297

Copyright c 2010 John Wiley amp Sons Ltd Int J Numer Meth Engng 2010 001ndash6Prepared using nmeauthcls

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Parametrizations of the surfaces of the Falcon aircraft in the uvplane

Falcon

Falcon

Falcon

Falcon

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alGeometrical Validity of Curvilinear Finite Elements IJNME Inpreparation 2011

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Roadmap for Gmsh 30

Complete re-build of the GUIUse Qt (a first demo version should be available in 2011)More flexibility reconfigurable GUI (OnleLab project) trueplugins remote control through sockets

Meshing capabilities enhancedCurvilinear meshes (p = 2 and p = 3 in 2011)Hex dominant meshing (DomHex project)Boundary layers (already ok for surface meshes) pyramids (evenfor high order)

Python API has to be cleaned and documented

  • History
  • Strategy
  • Research
    • Reparametrization
    • Quad meshing
    • Curvilinear meshing
      • Perspectives
Page 35: An Overview of the GMSH project

Indirect approach a non-optimal matching algorithmh(xy) = 01+008sin(3x)cos(6y) 836 quads and 240 triangles

τ= 0888825 τ= 0855715

Indirect approach a full-quad approachh(xy) = 01+008sin(3x)cos(6y) only quads

τ= 0854955 τ= 0838941 τ= 0790898

Indirect approach the Blossom-Quad approach

We build G(V E c) an undirected weighted graph Here V is the setof nV vertices E is the set of nE undirected edges andc(E) =

sumc(eij) is an edge-based cost function ie the sum of all

weights associated to every edge eij isin E of the graph

Indirect approach the Blossom-Quad approach

A matching is a subset E prime sube E such that each node of V has at mostone incident edge in E prime

Indirect approach the Blossom-Quad approach

A matching is perfect if each node of V has exactly one incident edgein E prime A perfect matching is optimum if c(E prime) is minimum among allpossible perfect matchings

eij

ti

tj

Indirect approach the Blossom-Quad approach

In 1965 Edmonds invented the Blossom algorithm that solves theproblem of optimum perfect matching in polynomial time Astraightforward implementation of Edmondsrsquos algorithm requiresO(n2

V nE) operationsSince then the worst-case complexity of the Blossom algorithmhas been steadily improving Both Lawler and Gabow achieved arunning time of O(n3

V ) Galil Micali and Gabow improved it toO(nV nE log(nV )) The current best known result in terms of nVand nE is O(nV (nE + lognV ))There is also a long history of computer implementations of theBlossom algorithm starting with the Blossom I code ofEdmonds Johnson and Lockhart In this paper ourimplementation makes use of the Blossom IV code of Cook andRohe1 that has been considered for several years as the fastestavailable implementation of the Blossom algorithm Gmshredistributes this piece of code

1httpwww2isyegatecheduwcookblossom4

Indirect approach Blossom-Quadh(xy) = 01+008sin(3x)cos(6y) only quads

τ= 0888825 τ= 0839313

Existence of perfect matchings

There is no guarantee that even one single perfect matchingexists in a given graphConsider the meshes below It is obvious that no perfectmatching exists for the coarsest oneThe following result known as Tuttersquos theorem proves that noneof the two meshes contains a perfect matching

The Blossom-Quad algorithm

Initial Raw Blossom Vertex Topological Finaltriangulation application smoothing optimization mesh

Quad mesh generation applied to STL modelsh(~x) = 2πR(~x)

Np with R(~x) = 1

κ(~x) NP = 50

Stanford Bunny Aneurysm

Quad mesh generation applied to STL models

τ= 0842549 τ= 0856247

The overall remeshing procedure for both STL examples takesonly 20s (5s for the Blossom-Quad)The quad-dominant meshing algorithm of [Levy et al] takes 271sfor the remeshing of the Stanford bunny

Anisotropic quad mesh generation applied to aparametric model

Anisotropic mesh

Anisotropic metricBuild an anisotropic triangular meshReimannian metric is used to measure distancesHere principal directions of the curvature tensor are used

Indirect approach an obvious problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Cross Fields

ycross

x

y

xcrossθ

The Linfin norm is not invariant by rotation rarr quads should beorientedA cross field (in 2D) is a scalar field θ(u) that gives theorientations of a local system of axis at point u in the parameterplaneThe local value of the cross field θ(uv) is defined only up torotations by π2 we choose to propagate

α(uv) = a(uv)+ ib(uv) = e4iθ(uv)

through a harmonic map

Perpendicular bisectors in the Linfin-norm

Lequiv y +(yo minusxp) = x

x

y

x2 = (xpyp)

(00)

α lt π4

(0xp minusyp)

x3 = (minusxp2xp minusyp)

x1 = (minusxpminusyp)

Bisector of two points x1 = (minusxpminusyp) and x2 = (xpyp) using theLinfin-norm

Circumcenter circumradius and circumcircle

ycross

x3

xcross

Ti

xcθ

R(T θ)

x1

x2

Circumcenter xc of a triangle using the Linfin-norm and circumcircle(red dotted square)

Delaunay and Voronoiuml

Voronoi diagram (dark lines) and Delaunay triangulation both in theLinfin norm

A frontal-Delaunay mesher in the Linfin-norm

The frontal-delaunay technique is based on

Rebay S Efficient unstructured mesh generation by means ofdelaunay triangulation and bowyer-watson algorithm Journal ofComputational Physics 1993 106(1)125ndash138

A frontal-Delaunay mesher in the Linfin-norm

Active

Edge of the front

Resolved

x1

Cn

Cl

L

x3 = (minusxpyp)

x2 = (xpminusyp)

x4

xc

xm

xl

xn

xe

x

y

Illustration of the point insertion algorithm

Car Hood

(a) (b) (c)Conformal reparametrization of a car hood Figure (a) shows the

CAD decomposition of the hood into 18 Beacutezier surfaces and the initialconforming mesh Figure (b) shows the result of the conformal

reparametrization ie isolines of u and v on the whole hood Figure(c) shows the projection of the initial mesh on the parameter plane u

Car Hood18 J-F REMACLE ET AL

(F) (FB) (FLB)

(D) (DB) (DLB)

N η ηw τ() d4() dmax

(FB) 1726 077 037 86 71 6(FLB) 1744 086 039 87 81 5(DB) 1527 090 037 93 81 5

(DLB) 1543 091 043 94 83 5

Figure 15 Pictures of different meshes of the car hood as well as mesh statistics

fields on all surfaces and the conformal reparametrization of all non planar surfaces The meshstatistics are as follows τ = 97 d4 = 91 dmax = 6 η = 095 ηw = 01 The mesh generatedby our approach for some of the planar and cylindrical surfaces of this particular geometry wasa structured mesh This happened however automatically without user interaction or internalheuristics of the mesher This explains the exceptionnaly high value of τ and η in this specificproblem

82 Falcon aircraft

As a second example the Falcon aircraft of Figure 17 is considered A surface mesh has beengenerated using a standard surface mesher whose triangles were patched together to create thecompounds of surfaces represented with different colors in the figure Each compound surfacehas been reparametrized separately by means of a conformal map created using the techniquesdescribed in [6 10 11 12] The mesh size field is composed of a uniform bulk size field δb = 01augmented with line and point sources at critical zones of the aircraft as depicted on Figure 17

The images of the different surfaces in their respective parameter plane can be seen onFigure 18 The resulting mesh is presented on Figure 19 The mesh is composed of 53297

Copyright c 2010 John Wiley amp Sons Ltd Int J Numer Meth Engng 2010 001ndash6Prepared using nmeauthcls

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Parametrizations of the surfaces of the Falcon aircraft in the uvplane

Falcon

Falcon

Falcon

Falcon

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alGeometrical Validity of Curvilinear Finite Elements IJNME Inpreparation 2011

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Roadmap for Gmsh 30

Complete re-build of the GUIUse Qt (a first demo version should be available in 2011)More flexibility reconfigurable GUI (OnleLab project) trueplugins remote control through sockets

Meshing capabilities enhancedCurvilinear meshes (p = 2 and p = 3 in 2011)Hex dominant meshing (DomHex project)Boundary layers (already ok for surface meshes) pyramids (evenfor high order)

Python API has to be cleaned and documented

  • History
  • Strategy
  • Research
    • Reparametrization
    • Quad meshing
    • Curvilinear meshing
      • Perspectives
Page 36: An Overview of the GMSH project

Indirect approach a full-quad approachh(xy) = 01+008sin(3x)cos(6y) only quads

τ= 0854955 τ= 0838941 τ= 0790898

Indirect approach the Blossom-Quad approach

We build G(V E c) an undirected weighted graph Here V is the setof nV vertices E is the set of nE undirected edges andc(E) =

sumc(eij) is an edge-based cost function ie the sum of all

weights associated to every edge eij isin E of the graph

Indirect approach the Blossom-Quad approach

A matching is a subset E prime sube E such that each node of V has at mostone incident edge in E prime

Indirect approach the Blossom-Quad approach

A matching is perfect if each node of V has exactly one incident edgein E prime A perfect matching is optimum if c(E prime) is minimum among allpossible perfect matchings

eij

ti

tj

Indirect approach the Blossom-Quad approach

In 1965 Edmonds invented the Blossom algorithm that solves theproblem of optimum perfect matching in polynomial time Astraightforward implementation of Edmondsrsquos algorithm requiresO(n2

V nE) operationsSince then the worst-case complexity of the Blossom algorithmhas been steadily improving Both Lawler and Gabow achieved arunning time of O(n3

V ) Galil Micali and Gabow improved it toO(nV nE log(nV )) The current best known result in terms of nVand nE is O(nV (nE + lognV ))There is also a long history of computer implementations of theBlossom algorithm starting with the Blossom I code ofEdmonds Johnson and Lockhart In this paper ourimplementation makes use of the Blossom IV code of Cook andRohe1 that has been considered for several years as the fastestavailable implementation of the Blossom algorithm Gmshredistributes this piece of code

1httpwww2isyegatecheduwcookblossom4

Indirect approach Blossom-Quadh(xy) = 01+008sin(3x)cos(6y) only quads

τ= 0888825 τ= 0839313

Existence of perfect matchings

There is no guarantee that even one single perfect matchingexists in a given graphConsider the meshes below It is obvious that no perfectmatching exists for the coarsest oneThe following result known as Tuttersquos theorem proves that noneof the two meshes contains a perfect matching

The Blossom-Quad algorithm

Initial Raw Blossom Vertex Topological Finaltriangulation application smoothing optimization mesh

Quad mesh generation applied to STL modelsh(~x) = 2πR(~x)

Np with R(~x) = 1

κ(~x) NP = 50

Stanford Bunny Aneurysm

Quad mesh generation applied to STL models

τ= 0842549 τ= 0856247

The overall remeshing procedure for both STL examples takesonly 20s (5s for the Blossom-Quad)The quad-dominant meshing algorithm of [Levy et al] takes 271sfor the remeshing of the Stanford bunny

Anisotropic quad mesh generation applied to aparametric model

Anisotropic mesh

Anisotropic metricBuild an anisotropic triangular meshReimannian metric is used to measure distancesHere principal directions of the curvature tensor are used

Indirect approach an obvious problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Cross Fields

ycross

x

y

xcrossθ

The Linfin norm is not invariant by rotation rarr quads should beorientedA cross field (in 2D) is a scalar field θ(u) that gives theorientations of a local system of axis at point u in the parameterplaneThe local value of the cross field θ(uv) is defined only up torotations by π2 we choose to propagate

α(uv) = a(uv)+ ib(uv) = e4iθ(uv)

through a harmonic map

Perpendicular bisectors in the Linfin-norm

Lequiv y +(yo minusxp) = x

x

y

x2 = (xpyp)

(00)

α lt π4

(0xp minusyp)

x3 = (minusxp2xp minusyp)

x1 = (minusxpminusyp)

Bisector of two points x1 = (minusxpminusyp) and x2 = (xpyp) using theLinfin-norm

Circumcenter circumradius and circumcircle

ycross

x3

xcross

Ti

xcθ

R(T θ)

x1

x2

Circumcenter xc of a triangle using the Linfin-norm and circumcircle(red dotted square)

Delaunay and Voronoiuml

Voronoi diagram (dark lines) and Delaunay triangulation both in theLinfin norm

A frontal-Delaunay mesher in the Linfin-norm

The frontal-delaunay technique is based on

Rebay S Efficient unstructured mesh generation by means ofdelaunay triangulation and bowyer-watson algorithm Journal ofComputational Physics 1993 106(1)125ndash138

A frontal-Delaunay mesher in the Linfin-norm

Active

Edge of the front

Resolved

x1

Cn

Cl

L

x3 = (minusxpyp)

x2 = (xpminusyp)

x4

xc

xm

xl

xn

xe

x

y

Illustration of the point insertion algorithm

Car Hood

(a) (b) (c)Conformal reparametrization of a car hood Figure (a) shows the

CAD decomposition of the hood into 18 Beacutezier surfaces and the initialconforming mesh Figure (b) shows the result of the conformal

reparametrization ie isolines of u and v on the whole hood Figure(c) shows the projection of the initial mesh on the parameter plane u

Car Hood18 J-F REMACLE ET AL

(F) (FB) (FLB)

(D) (DB) (DLB)

N η ηw τ() d4() dmax

(FB) 1726 077 037 86 71 6(FLB) 1744 086 039 87 81 5(DB) 1527 090 037 93 81 5

(DLB) 1543 091 043 94 83 5

Figure 15 Pictures of different meshes of the car hood as well as mesh statistics

fields on all surfaces and the conformal reparametrization of all non planar surfaces The meshstatistics are as follows τ = 97 d4 = 91 dmax = 6 η = 095 ηw = 01 The mesh generatedby our approach for some of the planar and cylindrical surfaces of this particular geometry wasa structured mesh This happened however automatically without user interaction or internalheuristics of the mesher This explains the exceptionnaly high value of τ and η in this specificproblem

82 Falcon aircraft

As a second example the Falcon aircraft of Figure 17 is considered A surface mesh has beengenerated using a standard surface mesher whose triangles were patched together to create thecompounds of surfaces represented with different colors in the figure Each compound surfacehas been reparametrized separately by means of a conformal map created using the techniquesdescribed in [6 10 11 12] The mesh size field is composed of a uniform bulk size field δb = 01augmented with line and point sources at critical zones of the aircraft as depicted on Figure 17

The images of the different surfaces in their respective parameter plane can be seen onFigure 18 The resulting mesh is presented on Figure 19 The mesh is composed of 53297

Copyright c 2010 John Wiley amp Sons Ltd Int J Numer Meth Engng 2010 001ndash6Prepared using nmeauthcls

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Parametrizations of the surfaces of the Falcon aircraft in the uvplane

Falcon

Falcon

Falcon

Falcon

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alGeometrical Validity of Curvilinear Finite Elements IJNME Inpreparation 2011

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Roadmap for Gmsh 30

Complete re-build of the GUIUse Qt (a first demo version should be available in 2011)More flexibility reconfigurable GUI (OnleLab project) trueplugins remote control through sockets

Meshing capabilities enhancedCurvilinear meshes (p = 2 and p = 3 in 2011)Hex dominant meshing (DomHex project)Boundary layers (already ok for surface meshes) pyramids (evenfor high order)

Python API has to be cleaned and documented

  • History
  • Strategy
  • Research
    • Reparametrization
    • Quad meshing
    • Curvilinear meshing
      • Perspectives
Page 37: An Overview of the GMSH project

Indirect approach the Blossom-Quad approach

We build G(V E c) an undirected weighted graph Here V is the setof nV vertices E is the set of nE undirected edges andc(E) =

sumc(eij) is an edge-based cost function ie the sum of all

weights associated to every edge eij isin E of the graph

Indirect approach the Blossom-Quad approach

A matching is a subset E prime sube E such that each node of V has at mostone incident edge in E prime

Indirect approach the Blossom-Quad approach

A matching is perfect if each node of V has exactly one incident edgein E prime A perfect matching is optimum if c(E prime) is minimum among allpossible perfect matchings

eij

ti

tj

Indirect approach the Blossom-Quad approach

In 1965 Edmonds invented the Blossom algorithm that solves theproblem of optimum perfect matching in polynomial time Astraightforward implementation of Edmondsrsquos algorithm requiresO(n2

V nE) operationsSince then the worst-case complexity of the Blossom algorithmhas been steadily improving Both Lawler and Gabow achieved arunning time of O(n3

V ) Galil Micali and Gabow improved it toO(nV nE log(nV )) The current best known result in terms of nVand nE is O(nV (nE + lognV ))There is also a long history of computer implementations of theBlossom algorithm starting with the Blossom I code ofEdmonds Johnson and Lockhart In this paper ourimplementation makes use of the Blossom IV code of Cook andRohe1 that has been considered for several years as the fastestavailable implementation of the Blossom algorithm Gmshredistributes this piece of code

1httpwww2isyegatecheduwcookblossom4

Indirect approach Blossom-Quadh(xy) = 01+008sin(3x)cos(6y) only quads

τ= 0888825 τ= 0839313

Existence of perfect matchings

There is no guarantee that even one single perfect matchingexists in a given graphConsider the meshes below It is obvious that no perfectmatching exists for the coarsest oneThe following result known as Tuttersquos theorem proves that noneof the two meshes contains a perfect matching

The Blossom-Quad algorithm

Initial Raw Blossom Vertex Topological Finaltriangulation application smoothing optimization mesh

Quad mesh generation applied to STL modelsh(~x) = 2πR(~x)

Np with R(~x) = 1

κ(~x) NP = 50

Stanford Bunny Aneurysm

Quad mesh generation applied to STL models

τ= 0842549 τ= 0856247

The overall remeshing procedure for both STL examples takesonly 20s (5s for the Blossom-Quad)The quad-dominant meshing algorithm of [Levy et al] takes 271sfor the remeshing of the Stanford bunny

Anisotropic quad mesh generation applied to aparametric model

Anisotropic mesh

Anisotropic metricBuild an anisotropic triangular meshReimannian metric is used to measure distancesHere principal directions of the curvature tensor are used

Indirect approach an obvious problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Cross Fields

ycross

x

y

xcrossθ

The Linfin norm is not invariant by rotation rarr quads should beorientedA cross field (in 2D) is a scalar field θ(u) that gives theorientations of a local system of axis at point u in the parameterplaneThe local value of the cross field θ(uv) is defined only up torotations by π2 we choose to propagate

α(uv) = a(uv)+ ib(uv) = e4iθ(uv)

through a harmonic map

Perpendicular bisectors in the Linfin-norm

Lequiv y +(yo minusxp) = x

x

y

x2 = (xpyp)

(00)

α lt π4

(0xp minusyp)

x3 = (minusxp2xp minusyp)

x1 = (minusxpminusyp)

Bisector of two points x1 = (minusxpminusyp) and x2 = (xpyp) using theLinfin-norm

Circumcenter circumradius and circumcircle

ycross

x3

xcross

Ti

xcθ

R(T θ)

x1

x2

Circumcenter xc of a triangle using the Linfin-norm and circumcircle(red dotted square)

Delaunay and Voronoiuml

Voronoi diagram (dark lines) and Delaunay triangulation both in theLinfin norm

A frontal-Delaunay mesher in the Linfin-norm

The frontal-delaunay technique is based on

Rebay S Efficient unstructured mesh generation by means ofdelaunay triangulation and bowyer-watson algorithm Journal ofComputational Physics 1993 106(1)125ndash138

A frontal-Delaunay mesher in the Linfin-norm

Active

Edge of the front

Resolved

x1

Cn

Cl

L

x3 = (minusxpyp)

x2 = (xpminusyp)

x4

xc

xm

xl

xn

xe

x

y

Illustration of the point insertion algorithm

Car Hood

(a) (b) (c)Conformal reparametrization of a car hood Figure (a) shows the

CAD decomposition of the hood into 18 Beacutezier surfaces and the initialconforming mesh Figure (b) shows the result of the conformal

reparametrization ie isolines of u and v on the whole hood Figure(c) shows the projection of the initial mesh on the parameter plane u

Car Hood18 J-F REMACLE ET AL

(F) (FB) (FLB)

(D) (DB) (DLB)

N η ηw τ() d4() dmax

(FB) 1726 077 037 86 71 6(FLB) 1744 086 039 87 81 5(DB) 1527 090 037 93 81 5

(DLB) 1543 091 043 94 83 5

Figure 15 Pictures of different meshes of the car hood as well as mesh statistics

fields on all surfaces and the conformal reparametrization of all non planar surfaces The meshstatistics are as follows τ = 97 d4 = 91 dmax = 6 η = 095 ηw = 01 The mesh generatedby our approach for some of the planar and cylindrical surfaces of this particular geometry wasa structured mesh This happened however automatically without user interaction or internalheuristics of the mesher This explains the exceptionnaly high value of τ and η in this specificproblem

82 Falcon aircraft

As a second example the Falcon aircraft of Figure 17 is considered A surface mesh has beengenerated using a standard surface mesher whose triangles were patched together to create thecompounds of surfaces represented with different colors in the figure Each compound surfacehas been reparametrized separately by means of a conformal map created using the techniquesdescribed in [6 10 11 12] The mesh size field is composed of a uniform bulk size field δb = 01augmented with line and point sources at critical zones of the aircraft as depicted on Figure 17

The images of the different surfaces in their respective parameter plane can be seen onFigure 18 The resulting mesh is presented on Figure 19 The mesh is composed of 53297

Copyright c 2010 John Wiley amp Sons Ltd Int J Numer Meth Engng 2010 001ndash6Prepared using nmeauthcls

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Parametrizations of the surfaces of the Falcon aircraft in the uvplane

Falcon

Falcon

Falcon

Falcon

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alGeometrical Validity of Curvilinear Finite Elements IJNME Inpreparation 2011

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Roadmap for Gmsh 30

Complete re-build of the GUIUse Qt (a first demo version should be available in 2011)More flexibility reconfigurable GUI (OnleLab project) trueplugins remote control through sockets

Meshing capabilities enhancedCurvilinear meshes (p = 2 and p = 3 in 2011)Hex dominant meshing (DomHex project)Boundary layers (already ok for surface meshes) pyramids (evenfor high order)

Python API has to be cleaned and documented

  • History
  • Strategy
  • Research
    • Reparametrization
    • Quad meshing
    • Curvilinear meshing
      • Perspectives
Page 38: An Overview of the GMSH project

Indirect approach the Blossom-Quad approach

A matching is a subset E prime sube E such that each node of V has at mostone incident edge in E prime

Indirect approach the Blossom-Quad approach

A matching is perfect if each node of V has exactly one incident edgein E prime A perfect matching is optimum if c(E prime) is minimum among allpossible perfect matchings

eij

ti

tj

Indirect approach the Blossom-Quad approach

In 1965 Edmonds invented the Blossom algorithm that solves theproblem of optimum perfect matching in polynomial time Astraightforward implementation of Edmondsrsquos algorithm requiresO(n2

V nE) operationsSince then the worst-case complexity of the Blossom algorithmhas been steadily improving Both Lawler and Gabow achieved arunning time of O(n3

V ) Galil Micali and Gabow improved it toO(nV nE log(nV )) The current best known result in terms of nVand nE is O(nV (nE + lognV ))There is also a long history of computer implementations of theBlossom algorithm starting with the Blossom I code ofEdmonds Johnson and Lockhart In this paper ourimplementation makes use of the Blossom IV code of Cook andRohe1 that has been considered for several years as the fastestavailable implementation of the Blossom algorithm Gmshredistributes this piece of code

1httpwww2isyegatecheduwcookblossom4

Indirect approach Blossom-Quadh(xy) = 01+008sin(3x)cos(6y) only quads

τ= 0888825 τ= 0839313

Existence of perfect matchings

There is no guarantee that even one single perfect matchingexists in a given graphConsider the meshes below It is obvious that no perfectmatching exists for the coarsest oneThe following result known as Tuttersquos theorem proves that noneof the two meshes contains a perfect matching

The Blossom-Quad algorithm

Initial Raw Blossom Vertex Topological Finaltriangulation application smoothing optimization mesh

Quad mesh generation applied to STL modelsh(~x) = 2πR(~x)

Np with R(~x) = 1

κ(~x) NP = 50

Stanford Bunny Aneurysm

Quad mesh generation applied to STL models

τ= 0842549 τ= 0856247

The overall remeshing procedure for both STL examples takesonly 20s (5s for the Blossom-Quad)The quad-dominant meshing algorithm of [Levy et al] takes 271sfor the remeshing of the Stanford bunny

Anisotropic quad mesh generation applied to aparametric model

Anisotropic mesh

Anisotropic metricBuild an anisotropic triangular meshReimannian metric is used to measure distancesHere principal directions of the curvature tensor are used

Indirect approach an obvious problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Cross Fields

ycross

x

y

xcrossθ

The Linfin norm is not invariant by rotation rarr quads should beorientedA cross field (in 2D) is a scalar field θ(u) that gives theorientations of a local system of axis at point u in the parameterplaneThe local value of the cross field θ(uv) is defined only up torotations by π2 we choose to propagate

α(uv) = a(uv)+ ib(uv) = e4iθ(uv)

through a harmonic map

Perpendicular bisectors in the Linfin-norm

Lequiv y +(yo minusxp) = x

x

y

x2 = (xpyp)

(00)

α lt π4

(0xp minusyp)

x3 = (minusxp2xp minusyp)

x1 = (minusxpminusyp)

Bisector of two points x1 = (minusxpminusyp) and x2 = (xpyp) using theLinfin-norm

Circumcenter circumradius and circumcircle

ycross

x3

xcross

Ti

xcθ

R(T θ)

x1

x2

Circumcenter xc of a triangle using the Linfin-norm and circumcircle(red dotted square)

Delaunay and Voronoiuml

Voronoi diagram (dark lines) and Delaunay triangulation both in theLinfin norm

A frontal-Delaunay mesher in the Linfin-norm

The frontal-delaunay technique is based on

Rebay S Efficient unstructured mesh generation by means ofdelaunay triangulation and bowyer-watson algorithm Journal ofComputational Physics 1993 106(1)125ndash138

A frontal-Delaunay mesher in the Linfin-norm

Active

Edge of the front

Resolved

x1

Cn

Cl

L

x3 = (minusxpyp)

x2 = (xpminusyp)

x4

xc

xm

xl

xn

xe

x

y

Illustration of the point insertion algorithm

Car Hood

(a) (b) (c)Conformal reparametrization of a car hood Figure (a) shows the

CAD decomposition of the hood into 18 Beacutezier surfaces and the initialconforming mesh Figure (b) shows the result of the conformal

reparametrization ie isolines of u and v on the whole hood Figure(c) shows the projection of the initial mesh on the parameter plane u

Car Hood18 J-F REMACLE ET AL

(F) (FB) (FLB)

(D) (DB) (DLB)

N η ηw τ() d4() dmax

(FB) 1726 077 037 86 71 6(FLB) 1744 086 039 87 81 5(DB) 1527 090 037 93 81 5

(DLB) 1543 091 043 94 83 5

Figure 15 Pictures of different meshes of the car hood as well as mesh statistics

fields on all surfaces and the conformal reparametrization of all non planar surfaces The meshstatistics are as follows τ = 97 d4 = 91 dmax = 6 η = 095 ηw = 01 The mesh generatedby our approach for some of the planar and cylindrical surfaces of this particular geometry wasa structured mesh This happened however automatically without user interaction or internalheuristics of the mesher This explains the exceptionnaly high value of τ and η in this specificproblem

82 Falcon aircraft

As a second example the Falcon aircraft of Figure 17 is considered A surface mesh has beengenerated using a standard surface mesher whose triangles were patched together to create thecompounds of surfaces represented with different colors in the figure Each compound surfacehas been reparametrized separately by means of a conformal map created using the techniquesdescribed in [6 10 11 12] The mesh size field is composed of a uniform bulk size field δb = 01augmented with line and point sources at critical zones of the aircraft as depicted on Figure 17

The images of the different surfaces in their respective parameter plane can be seen onFigure 18 The resulting mesh is presented on Figure 19 The mesh is composed of 53297

Copyright c 2010 John Wiley amp Sons Ltd Int J Numer Meth Engng 2010 001ndash6Prepared using nmeauthcls

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Parametrizations of the surfaces of the Falcon aircraft in the uvplane

Falcon

Falcon

Falcon

Falcon

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alGeometrical Validity of Curvilinear Finite Elements IJNME Inpreparation 2011

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Roadmap for Gmsh 30

Complete re-build of the GUIUse Qt (a first demo version should be available in 2011)More flexibility reconfigurable GUI (OnleLab project) trueplugins remote control through sockets

Meshing capabilities enhancedCurvilinear meshes (p = 2 and p = 3 in 2011)Hex dominant meshing (DomHex project)Boundary layers (already ok for surface meshes) pyramids (evenfor high order)

Python API has to be cleaned and documented

  • History
  • Strategy
  • Research
    • Reparametrization
    • Quad meshing
    • Curvilinear meshing
      • Perspectives
Page 39: An Overview of the GMSH project

Indirect approach the Blossom-Quad approach

A matching is perfect if each node of V has exactly one incident edgein E prime A perfect matching is optimum if c(E prime) is minimum among allpossible perfect matchings

eij

ti

tj

Indirect approach the Blossom-Quad approach

In 1965 Edmonds invented the Blossom algorithm that solves theproblem of optimum perfect matching in polynomial time Astraightforward implementation of Edmondsrsquos algorithm requiresO(n2

V nE) operationsSince then the worst-case complexity of the Blossom algorithmhas been steadily improving Both Lawler and Gabow achieved arunning time of O(n3

V ) Galil Micali and Gabow improved it toO(nV nE log(nV )) The current best known result in terms of nVand nE is O(nV (nE + lognV ))There is also a long history of computer implementations of theBlossom algorithm starting with the Blossom I code ofEdmonds Johnson and Lockhart In this paper ourimplementation makes use of the Blossom IV code of Cook andRohe1 that has been considered for several years as the fastestavailable implementation of the Blossom algorithm Gmshredistributes this piece of code

1httpwww2isyegatecheduwcookblossom4

Indirect approach Blossom-Quadh(xy) = 01+008sin(3x)cos(6y) only quads

τ= 0888825 τ= 0839313

Existence of perfect matchings

There is no guarantee that even one single perfect matchingexists in a given graphConsider the meshes below It is obvious that no perfectmatching exists for the coarsest oneThe following result known as Tuttersquos theorem proves that noneof the two meshes contains a perfect matching

The Blossom-Quad algorithm

Initial Raw Blossom Vertex Topological Finaltriangulation application smoothing optimization mesh

Quad mesh generation applied to STL modelsh(~x) = 2πR(~x)

Np with R(~x) = 1

κ(~x) NP = 50

Stanford Bunny Aneurysm

Quad mesh generation applied to STL models

τ= 0842549 τ= 0856247

The overall remeshing procedure for both STL examples takesonly 20s (5s for the Blossom-Quad)The quad-dominant meshing algorithm of [Levy et al] takes 271sfor the remeshing of the Stanford bunny

Anisotropic quad mesh generation applied to aparametric model

Anisotropic mesh

Anisotropic metricBuild an anisotropic triangular meshReimannian metric is used to measure distancesHere principal directions of the curvature tensor are used

Indirect approach an obvious problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Cross Fields

ycross

x

y

xcrossθ

The Linfin norm is not invariant by rotation rarr quads should beorientedA cross field (in 2D) is a scalar field θ(u) that gives theorientations of a local system of axis at point u in the parameterplaneThe local value of the cross field θ(uv) is defined only up torotations by π2 we choose to propagate

α(uv) = a(uv)+ ib(uv) = e4iθ(uv)

through a harmonic map

Perpendicular bisectors in the Linfin-norm

Lequiv y +(yo minusxp) = x

x

y

x2 = (xpyp)

(00)

α lt π4

(0xp minusyp)

x3 = (minusxp2xp minusyp)

x1 = (minusxpminusyp)

Bisector of two points x1 = (minusxpminusyp) and x2 = (xpyp) using theLinfin-norm

Circumcenter circumradius and circumcircle

ycross

x3

xcross

Ti

xcθ

R(T θ)

x1

x2

Circumcenter xc of a triangle using the Linfin-norm and circumcircle(red dotted square)

Delaunay and Voronoiuml

Voronoi diagram (dark lines) and Delaunay triangulation both in theLinfin norm

A frontal-Delaunay mesher in the Linfin-norm

The frontal-delaunay technique is based on

Rebay S Efficient unstructured mesh generation by means ofdelaunay triangulation and bowyer-watson algorithm Journal ofComputational Physics 1993 106(1)125ndash138

A frontal-Delaunay mesher in the Linfin-norm

Active

Edge of the front

Resolved

x1

Cn

Cl

L

x3 = (minusxpyp)

x2 = (xpminusyp)

x4

xc

xm

xl

xn

xe

x

y

Illustration of the point insertion algorithm

Car Hood

(a) (b) (c)Conformal reparametrization of a car hood Figure (a) shows the

CAD decomposition of the hood into 18 Beacutezier surfaces and the initialconforming mesh Figure (b) shows the result of the conformal

reparametrization ie isolines of u and v on the whole hood Figure(c) shows the projection of the initial mesh on the parameter plane u

Car Hood18 J-F REMACLE ET AL

(F) (FB) (FLB)

(D) (DB) (DLB)

N η ηw τ() d4() dmax

(FB) 1726 077 037 86 71 6(FLB) 1744 086 039 87 81 5(DB) 1527 090 037 93 81 5

(DLB) 1543 091 043 94 83 5

Figure 15 Pictures of different meshes of the car hood as well as mesh statistics

fields on all surfaces and the conformal reparametrization of all non planar surfaces The meshstatistics are as follows τ = 97 d4 = 91 dmax = 6 η = 095 ηw = 01 The mesh generatedby our approach for some of the planar and cylindrical surfaces of this particular geometry wasa structured mesh This happened however automatically without user interaction or internalheuristics of the mesher This explains the exceptionnaly high value of τ and η in this specificproblem

82 Falcon aircraft

As a second example the Falcon aircraft of Figure 17 is considered A surface mesh has beengenerated using a standard surface mesher whose triangles were patched together to create thecompounds of surfaces represented with different colors in the figure Each compound surfacehas been reparametrized separately by means of a conformal map created using the techniquesdescribed in [6 10 11 12] The mesh size field is composed of a uniform bulk size field δb = 01augmented with line and point sources at critical zones of the aircraft as depicted on Figure 17

The images of the different surfaces in their respective parameter plane can be seen onFigure 18 The resulting mesh is presented on Figure 19 The mesh is composed of 53297

Copyright c 2010 John Wiley amp Sons Ltd Int J Numer Meth Engng 2010 001ndash6Prepared using nmeauthcls

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Parametrizations of the surfaces of the Falcon aircraft in the uvplane

Falcon

Falcon

Falcon

Falcon

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alGeometrical Validity of Curvilinear Finite Elements IJNME Inpreparation 2011

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Roadmap for Gmsh 30

Complete re-build of the GUIUse Qt (a first demo version should be available in 2011)More flexibility reconfigurable GUI (OnleLab project) trueplugins remote control through sockets

Meshing capabilities enhancedCurvilinear meshes (p = 2 and p = 3 in 2011)Hex dominant meshing (DomHex project)Boundary layers (already ok for surface meshes) pyramids (evenfor high order)

Python API has to be cleaned and documented

  • History
  • Strategy
  • Research
    • Reparametrization
    • Quad meshing
    • Curvilinear meshing
      • Perspectives
Page 40: An Overview of the GMSH project

Indirect approach the Blossom-Quad approach

In 1965 Edmonds invented the Blossom algorithm that solves theproblem of optimum perfect matching in polynomial time Astraightforward implementation of Edmondsrsquos algorithm requiresO(n2

V nE) operationsSince then the worst-case complexity of the Blossom algorithmhas been steadily improving Both Lawler and Gabow achieved arunning time of O(n3

V ) Galil Micali and Gabow improved it toO(nV nE log(nV )) The current best known result in terms of nVand nE is O(nV (nE + lognV ))There is also a long history of computer implementations of theBlossom algorithm starting with the Blossom I code ofEdmonds Johnson and Lockhart In this paper ourimplementation makes use of the Blossom IV code of Cook andRohe1 that has been considered for several years as the fastestavailable implementation of the Blossom algorithm Gmshredistributes this piece of code

1httpwww2isyegatecheduwcookblossom4

Indirect approach Blossom-Quadh(xy) = 01+008sin(3x)cos(6y) only quads

τ= 0888825 τ= 0839313

Existence of perfect matchings

There is no guarantee that even one single perfect matchingexists in a given graphConsider the meshes below It is obvious that no perfectmatching exists for the coarsest oneThe following result known as Tuttersquos theorem proves that noneof the two meshes contains a perfect matching

The Blossom-Quad algorithm

Initial Raw Blossom Vertex Topological Finaltriangulation application smoothing optimization mesh

Quad mesh generation applied to STL modelsh(~x) = 2πR(~x)

Np with R(~x) = 1

κ(~x) NP = 50

Stanford Bunny Aneurysm

Quad mesh generation applied to STL models

τ= 0842549 τ= 0856247

The overall remeshing procedure for both STL examples takesonly 20s (5s for the Blossom-Quad)The quad-dominant meshing algorithm of [Levy et al] takes 271sfor the remeshing of the Stanford bunny

Anisotropic quad mesh generation applied to aparametric model

Anisotropic mesh

Anisotropic metricBuild an anisotropic triangular meshReimannian metric is used to measure distancesHere principal directions of the curvature tensor are used

Indirect approach an obvious problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Cross Fields

ycross

x

y

xcrossθ

The Linfin norm is not invariant by rotation rarr quads should beorientedA cross field (in 2D) is a scalar field θ(u) that gives theorientations of a local system of axis at point u in the parameterplaneThe local value of the cross field θ(uv) is defined only up torotations by π2 we choose to propagate

α(uv) = a(uv)+ ib(uv) = e4iθ(uv)

through a harmonic map

Perpendicular bisectors in the Linfin-norm

Lequiv y +(yo minusxp) = x

x

y

x2 = (xpyp)

(00)

α lt π4

(0xp minusyp)

x3 = (minusxp2xp minusyp)

x1 = (minusxpminusyp)

Bisector of two points x1 = (minusxpminusyp) and x2 = (xpyp) using theLinfin-norm

Circumcenter circumradius and circumcircle

ycross

x3

xcross

Ti

xcθ

R(T θ)

x1

x2

Circumcenter xc of a triangle using the Linfin-norm and circumcircle(red dotted square)

Delaunay and Voronoiuml

Voronoi diagram (dark lines) and Delaunay triangulation both in theLinfin norm

A frontal-Delaunay mesher in the Linfin-norm

The frontal-delaunay technique is based on

Rebay S Efficient unstructured mesh generation by means ofdelaunay triangulation and bowyer-watson algorithm Journal ofComputational Physics 1993 106(1)125ndash138

A frontal-Delaunay mesher in the Linfin-norm

Active

Edge of the front

Resolved

x1

Cn

Cl

L

x3 = (minusxpyp)

x2 = (xpminusyp)

x4

xc

xm

xl

xn

xe

x

y

Illustration of the point insertion algorithm

Car Hood

(a) (b) (c)Conformal reparametrization of a car hood Figure (a) shows the

CAD decomposition of the hood into 18 Beacutezier surfaces and the initialconforming mesh Figure (b) shows the result of the conformal

reparametrization ie isolines of u and v on the whole hood Figure(c) shows the projection of the initial mesh on the parameter plane u

Car Hood18 J-F REMACLE ET AL

(F) (FB) (FLB)

(D) (DB) (DLB)

N η ηw τ() d4() dmax

(FB) 1726 077 037 86 71 6(FLB) 1744 086 039 87 81 5(DB) 1527 090 037 93 81 5

(DLB) 1543 091 043 94 83 5

Figure 15 Pictures of different meshes of the car hood as well as mesh statistics

fields on all surfaces and the conformal reparametrization of all non planar surfaces The meshstatistics are as follows τ = 97 d4 = 91 dmax = 6 η = 095 ηw = 01 The mesh generatedby our approach for some of the planar and cylindrical surfaces of this particular geometry wasa structured mesh This happened however automatically without user interaction or internalheuristics of the mesher This explains the exceptionnaly high value of τ and η in this specificproblem

82 Falcon aircraft

As a second example the Falcon aircraft of Figure 17 is considered A surface mesh has beengenerated using a standard surface mesher whose triangles were patched together to create thecompounds of surfaces represented with different colors in the figure Each compound surfacehas been reparametrized separately by means of a conformal map created using the techniquesdescribed in [6 10 11 12] The mesh size field is composed of a uniform bulk size field δb = 01augmented with line and point sources at critical zones of the aircraft as depicted on Figure 17

The images of the different surfaces in their respective parameter plane can be seen onFigure 18 The resulting mesh is presented on Figure 19 The mesh is composed of 53297

Copyright c 2010 John Wiley amp Sons Ltd Int J Numer Meth Engng 2010 001ndash6Prepared using nmeauthcls

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Parametrizations of the surfaces of the Falcon aircraft in the uvplane

Falcon

Falcon

Falcon

Falcon

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alGeometrical Validity of Curvilinear Finite Elements IJNME Inpreparation 2011

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Roadmap for Gmsh 30

Complete re-build of the GUIUse Qt (a first demo version should be available in 2011)More flexibility reconfigurable GUI (OnleLab project) trueplugins remote control through sockets

Meshing capabilities enhancedCurvilinear meshes (p = 2 and p = 3 in 2011)Hex dominant meshing (DomHex project)Boundary layers (already ok for surface meshes) pyramids (evenfor high order)

Python API has to be cleaned and documented

  • History
  • Strategy
  • Research
    • Reparametrization
    • Quad meshing
    • Curvilinear meshing
      • Perspectives
Page 41: An Overview of the GMSH project

Indirect approach Blossom-Quadh(xy) = 01+008sin(3x)cos(6y) only quads

τ= 0888825 τ= 0839313

Existence of perfect matchings

There is no guarantee that even one single perfect matchingexists in a given graphConsider the meshes below It is obvious that no perfectmatching exists for the coarsest oneThe following result known as Tuttersquos theorem proves that noneof the two meshes contains a perfect matching

The Blossom-Quad algorithm

Initial Raw Blossom Vertex Topological Finaltriangulation application smoothing optimization mesh

Quad mesh generation applied to STL modelsh(~x) = 2πR(~x)

Np with R(~x) = 1

κ(~x) NP = 50

Stanford Bunny Aneurysm

Quad mesh generation applied to STL models

τ= 0842549 τ= 0856247

The overall remeshing procedure for both STL examples takesonly 20s (5s for the Blossom-Quad)The quad-dominant meshing algorithm of [Levy et al] takes 271sfor the remeshing of the Stanford bunny

Anisotropic quad mesh generation applied to aparametric model

Anisotropic mesh

Anisotropic metricBuild an anisotropic triangular meshReimannian metric is used to measure distancesHere principal directions of the curvature tensor are used

Indirect approach an obvious problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Cross Fields

ycross

x

y

xcrossθ

The Linfin norm is not invariant by rotation rarr quads should beorientedA cross field (in 2D) is a scalar field θ(u) that gives theorientations of a local system of axis at point u in the parameterplaneThe local value of the cross field θ(uv) is defined only up torotations by π2 we choose to propagate

α(uv) = a(uv)+ ib(uv) = e4iθ(uv)

through a harmonic map

Perpendicular bisectors in the Linfin-norm

Lequiv y +(yo minusxp) = x

x

y

x2 = (xpyp)

(00)

α lt π4

(0xp minusyp)

x3 = (minusxp2xp minusyp)

x1 = (minusxpminusyp)

Bisector of two points x1 = (minusxpminusyp) and x2 = (xpyp) using theLinfin-norm

Circumcenter circumradius and circumcircle

ycross

x3

xcross

Ti

xcθ

R(T θ)

x1

x2

Circumcenter xc of a triangle using the Linfin-norm and circumcircle(red dotted square)

Delaunay and Voronoiuml

Voronoi diagram (dark lines) and Delaunay triangulation both in theLinfin norm

A frontal-Delaunay mesher in the Linfin-norm

The frontal-delaunay technique is based on

Rebay S Efficient unstructured mesh generation by means ofdelaunay triangulation and bowyer-watson algorithm Journal ofComputational Physics 1993 106(1)125ndash138

A frontal-Delaunay mesher in the Linfin-norm

Active

Edge of the front

Resolved

x1

Cn

Cl

L

x3 = (minusxpyp)

x2 = (xpminusyp)

x4

xc

xm

xl

xn

xe

x

y

Illustration of the point insertion algorithm

Car Hood

(a) (b) (c)Conformal reparametrization of a car hood Figure (a) shows the

CAD decomposition of the hood into 18 Beacutezier surfaces and the initialconforming mesh Figure (b) shows the result of the conformal

reparametrization ie isolines of u and v on the whole hood Figure(c) shows the projection of the initial mesh on the parameter plane u

Car Hood18 J-F REMACLE ET AL

(F) (FB) (FLB)

(D) (DB) (DLB)

N η ηw τ() d4() dmax

(FB) 1726 077 037 86 71 6(FLB) 1744 086 039 87 81 5(DB) 1527 090 037 93 81 5

(DLB) 1543 091 043 94 83 5

Figure 15 Pictures of different meshes of the car hood as well as mesh statistics

fields on all surfaces and the conformal reparametrization of all non planar surfaces The meshstatistics are as follows τ = 97 d4 = 91 dmax = 6 η = 095 ηw = 01 The mesh generatedby our approach for some of the planar and cylindrical surfaces of this particular geometry wasa structured mesh This happened however automatically without user interaction or internalheuristics of the mesher This explains the exceptionnaly high value of τ and η in this specificproblem

82 Falcon aircraft

As a second example the Falcon aircraft of Figure 17 is considered A surface mesh has beengenerated using a standard surface mesher whose triangles were patched together to create thecompounds of surfaces represented with different colors in the figure Each compound surfacehas been reparametrized separately by means of a conformal map created using the techniquesdescribed in [6 10 11 12] The mesh size field is composed of a uniform bulk size field δb = 01augmented with line and point sources at critical zones of the aircraft as depicted on Figure 17

The images of the different surfaces in their respective parameter plane can be seen onFigure 18 The resulting mesh is presented on Figure 19 The mesh is composed of 53297

Copyright c 2010 John Wiley amp Sons Ltd Int J Numer Meth Engng 2010 001ndash6Prepared using nmeauthcls

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Parametrizations of the surfaces of the Falcon aircraft in the uvplane

Falcon

Falcon

Falcon

Falcon

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alGeometrical Validity of Curvilinear Finite Elements IJNME Inpreparation 2011

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Roadmap for Gmsh 30

Complete re-build of the GUIUse Qt (a first demo version should be available in 2011)More flexibility reconfigurable GUI (OnleLab project) trueplugins remote control through sockets

Meshing capabilities enhancedCurvilinear meshes (p = 2 and p = 3 in 2011)Hex dominant meshing (DomHex project)Boundary layers (already ok for surface meshes) pyramids (evenfor high order)

Python API has to be cleaned and documented

  • History
  • Strategy
  • Research
    • Reparametrization
    • Quad meshing
    • Curvilinear meshing
      • Perspectives
Page 42: An Overview of the GMSH project

Existence of perfect matchings

There is no guarantee that even one single perfect matchingexists in a given graphConsider the meshes below It is obvious that no perfectmatching exists for the coarsest oneThe following result known as Tuttersquos theorem proves that noneof the two meshes contains a perfect matching

The Blossom-Quad algorithm

Initial Raw Blossom Vertex Topological Finaltriangulation application smoothing optimization mesh

Quad mesh generation applied to STL modelsh(~x) = 2πR(~x)

Np with R(~x) = 1

κ(~x) NP = 50

Stanford Bunny Aneurysm

Quad mesh generation applied to STL models

τ= 0842549 τ= 0856247

The overall remeshing procedure for both STL examples takesonly 20s (5s for the Blossom-Quad)The quad-dominant meshing algorithm of [Levy et al] takes 271sfor the remeshing of the Stanford bunny

Anisotropic quad mesh generation applied to aparametric model

Anisotropic mesh

Anisotropic metricBuild an anisotropic triangular meshReimannian metric is used to measure distancesHere principal directions of the curvature tensor are used

Indirect approach an obvious problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Cross Fields

ycross

x

y

xcrossθ

The Linfin norm is not invariant by rotation rarr quads should beorientedA cross field (in 2D) is a scalar field θ(u) that gives theorientations of a local system of axis at point u in the parameterplaneThe local value of the cross field θ(uv) is defined only up torotations by π2 we choose to propagate

α(uv) = a(uv)+ ib(uv) = e4iθ(uv)

through a harmonic map

Perpendicular bisectors in the Linfin-norm

Lequiv y +(yo minusxp) = x

x

y

x2 = (xpyp)

(00)

α lt π4

(0xp minusyp)

x3 = (minusxp2xp minusyp)

x1 = (minusxpminusyp)

Bisector of two points x1 = (minusxpminusyp) and x2 = (xpyp) using theLinfin-norm

Circumcenter circumradius and circumcircle

ycross

x3

xcross

Ti

xcθ

R(T θ)

x1

x2

Circumcenter xc of a triangle using the Linfin-norm and circumcircle(red dotted square)

Delaunay and Voronoiuml

Voronoi diagram (dark lines) and Delaunay triangulation both in theLinfin norm

A frontal-Delaunay mesher in the Linfin-norm

The frontal-delaunay technique is based on

Rebay S Efficient unstructured mesh generation by means ofdelaunay triangulation and bowyer-watson algorithm Journal ofComputational Physics 1993 106(1)125ndash138

A frontal-Delaunay mesher in the Linfin-norm

Active

Edge of the front

Resolved

x1

Cn

Cl

L

x3 = (minusxpyp)

x2 = (xpminusyp)

x4

xc

xm

xl

xn

xe

x

y

Illustration of the point insertion algorithm

Car Hood

(a) (b) (c)Conformal reparametrization of a car hood Figure (a) shows the

CAD decomposition of the hood into 18 Beacutezier surfaces and the initialconforming mesh Figure (b) shows the result of the conformal

reparametrization ie isolines of u and v on the whole hood Figure(c) shows the projection of the initial mesh on the parameter plane u

Car Hood18 J-F REMACLE ET AL

(F) (FB) (FLB)

(D) (DB) (DLB)

N η ηw τ() d4() dmax

(FB) 1726 077 037 86 71 6(FLB) 1744 086 039 87 81 5(DB) 1527 090 037 93 81 5

(DLB) 1543 091 043 94 83 5

Figure 15 Pictures of different meshes of the car hood as well as mesh statistics

fields on all surfaces and the conformal reparametrization of all non planar surfaces The meshstatistics are as follows τ = 97 d4 = 91 dmax = 6 η = 095 ηw = 01 The mesh generatedby our approach for some of the planar and cylindrical surfaces of this particular geometry wasa structured mesh This happened however automatically without user interaction or internalheuristics of the mesher This explains the exceptionnaly high value of τ and η in this specificproblem

82 Falcon aircraft

As a second example the Falcon aircraft of Figure 17 is considered A surface mesh has beengenerated using a standard surface mesher whose triangles were patched together to create thecompounds of surfaces represented with different colors in the figure Each compound surfacehas been reparametrized separately by means of a conformal map created using the techniquesdescribed in [6 10 11 12] The mesh size field is composed of a uniform bulk size field δb = 01augmented with line and point sources at critical zones of the aircraft as depicted on Figure 17

The images of the different surfaces in their respective parameter plane can be seen onFigure 18 The resulting mesh is presented on Figure 19 The mesh is composed of 53297

Copyright c 2010 John Wiley amp Sons Ltd Int J Numer Meth Engng 2010 001ndash6Prepared using nmeauthcls

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Parametrizations of the surfaces of the Falcon aircraft in the uvplane

Falcon

Falcon

Falcon

Falcon

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alGeometrical Validity of Curvilinear Finite Elements IJNME Inpreparation 2011

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Roadmap for Gmsh 30

Complete re-build of the GUIUse Qt (a first demo version should be available in 2011)More flexibility reconfigurable GUI (OnleLab project) trueplugins remote control through sockets

Meshing capabilities enhancedCurvilinear meshes (p = 2 and p = 3 in 2011)Hex dominant meshing (DomHex project)Boundary layers (already ok for surface meshes) pyramids (evenfor high order)

Python API has to be cleaned and documented

  • History
  • Strategy
  • Research
    • Reparametrization
    • Quad meshing
    • Curvilinear meshing
      • Perspectives
Page 43: An Overview of the GMSH project

The Blossom-Quad algorithm

Initial Raw Blossom Vertex Topological Finaltriangulation application smoothing optimization mesh

Quad mesh generation applied to STL modelsh(~x) = 2πR(~x)

Np with R(~x) = 1

κ(~x) NP = 50

Stanford Bunny Aneurysm

Quad mesh generation applied to STL models

τ= 0842549 τ= 0856247

The overall remeshing procedure for both STL examples takesonly 20s (5s for the Blossom-Quad)The quad-dominant meshing algorithm of [Levy et al] takes 271sfor the remeshing of the Stanford bunny

Anisotropic quad mesh generation applied to aparametric model

Anisotropic mesh

Anisotropic metricBuild an anisotropic triangular meshReimannian metric is used to measure distancesHere principal directions of the curvature tensor are used

Indirect approach an obvious problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Cross Fields

ycross

x

y

xcrossθ

The Linfin norm is not invariant by rotation rarr quads should beorientedA cross field (in 2D) is a scalar field θ(u) that gives theorientations of a local system of axis at point u in the parameterplaneThe local value of the cross field θ(uv) is defined only up torotations by π2 we choose to propagate

α(uv) = a(uv)+ ib(uv) = e4iθ(uv)

through a harmonic map

Perpendicular bisectors in the Linfin-norm

Lequiv y +(yo minusxp) = x

x

y

x2 = (xpyp)

(00)

α lt π4

(0xp minusyp)

x3 = (minusxp2xp minusyp)

x1 = (minusxpminusyp)

Bisector of two points x1 = (minusxpminusyp) and x2 = (xpyp) using theLinfin-norm

Circumcenter circumradius and circumcircle

ycross

x3

xcross

Ti

xcθ

R(T θ)

x1

x2

Circumcenter xc of a triangle using the Linfin-norm and circumcircle(red dotted square)

Delaunay and Voronoiuml

Voronoi diagram (dark lines) and Delaunay triangulation both in theLinfin norm

A frontal-Delaunay mesher in the Linfin-norm

The frontal-delaunay technique is based on

Rebay S Efficient unstructured mesh generation by means ofdelaunay triangulation and bowyer-watson algorithm Journal ofComputational Physics 1993 106(1)125ndash138

A frontal-Delaunay mesher in the Linfin-norm

Active

Edge of the front

Resolved

x1

Cn

Cl

L

x3 = (minusxpyp)

x2 = (xpminusyp)

x4

xc

xm

xl

xn

xe

x

y

Illustration of the point insertion algorithm

Car Hood

(a) (b) (c)Conformal reparametrization of a car hood Figure (a) shows the

CAD decomposition of the hood into 18 Beacutezier surfaces and the initialconforming mesh Figure (b) shows the result of the conformal

reparametrization ie isolines of u and v on the whole hood Figure(c) shows the projection of the initial mesh on the parameter plane u

Car Hood18 J-F REMACLE ET AL

(F) (FB) (FLB)

(D) (DB) (DLB)

N η ηw τ() d4() dmax

(FB) 1726 077 037 86 71 6(FLB) 1744 086 039 87 81 5(DB) 1527 090 037 93 81 5

(DLB) 1543 091 043 94 83 5

Figure 15 Pictures of different meshes of the car hood as well as mesh statistics

fields on all surfaces and the conformal reparametrization of all non planar surfaces The meshstatistics are as follows τ = 97 d4 = 91 dmax = 6 η = 095 ηw = 01 The mesh generatedby our approach for some of the planar and cylindrical surfaces of this particular geometry wasa structured mesh This happened however automatically without user interaction or internalheuristics of the mesher This explains the exceptionnaly high value of τ and η in this specificproblem

82 Falcon aircraft

As a second example the Falcon aircraft of Figure 17 is considered A surface mesh has beengenerated using a standard surface mesher whose triangles were patched together to create thecompounds of surfaces represented with different colors in the figure Each compound surfacehas been reparametrized separately by means of a conformal map created using the techniquesdescribed in [6 10 11 12] The mesh size field is composed of a uniform bulk size field δb = 01augmented with line and point sources at critical zones of the aircraft as depicted on Figure 17

The images of the different surfaces in their respective parameter plane can be seen onFigure 18 The resulting mesh is presented on Figure 19 The mesh is composed of 53297

Copyright c 2010 John Wiley amp Sons Ltd Int J Numer Meth Engng 2010 001ndash6Prepared using nmeauthcls

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Parametrizations of the surfaces of the Falcon aircraft in the uvplane

Falcon

Falcon

Falcon

Falcon

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alGeometrical Validity of Curvilinear Finite Elements IJNME Inpreparation 2011

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Roadmap for Gmsh 30

Complete re-build of the GUIUse Qt (a first demo version should be available in 2011)More flexibility reconfigurable GUI (OnleLab project) trueplugins remote control through sockets

Meshing capabilities enhancedCurvilinear meshes (p = 2 and p = 3 in 2011)Hex dominant meshing (DomHex project)Boundary layers (already ok for surface meshes) pyramids (evenfor high order)

Python API has to be cleaned and documented

  • History
  • Strategy
  • Research
    • Reparametrization
    • Quad meshing
    • Curvilinear meshing
      • Perspectives
Page 44: An Overview of the GMSH project

Quad mesh generation applied to STL modelsh(~x) = 2πR(~x)

Np with R(~x) = 1

κ(~x) NP = 50

Stanford Bunny Aneurysm

Quad mesh generation applied to STL models

τ= 0842549 τ= 0856247

The overall remeshing procedure for both STL examples takesonly 20s (5s for the Blossom-Quad)The quad-dominant meshing algorithm of [Levy et al] takes 271sfor the remeshing of the Stanford bunny

Anisotropic quad mesh generation applied to aparametric model

Anisotropic mesh

Anisotropic metricBuild an anisotropic triangular meshReimannian metric is used to measure distancesHere principal directions of the curvature tensor are used

Indirect approach an obvious problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Cross Fields

ycross

x

y

xcrossθ

The Linfin norm is not invariant by rotation rarr quads should beorientedA cross field (in 2D) is a scalar field θ(u) that gives theorientations of a local system of axis at point u in the parameterplaneThe local value of the cross field θ(uv) is defined only up torotations by π2 we choose to propagate

α(uv) = a(uv)+ ib(uv) = e4iθ(uv)

through a harmonic map

Perpendicular bisectors in the Linfin-norm

Lequiv y +(yo minusxp) = x

x

y

x2 = (xpyp)

(00)

α lt π4

(0xp minusyp)

x3 = (minusxp2xp minusyp)

x1 = (minusxpminusyp)

Bisector of two points x1 = (minusxpminusyp) and x2 = (xpyp) using theLinfin-norm

Circumcenter circumradius and circumcircle

ycross

x3

xcross

Ti

xcθ

R(T θ)

x1

x2

Circumcenter xc of a triangle using the Linfin-norm and circumcircle(red dotted square)

Delaunay and Voronoiuml

Voronoi diagram (dark lines) and Delaunay triangulation both in theLinfin norm

A frontal-Delaunay mesher in the Linfin-norm

The frontal-delaunay technique is based on

Rebay S Efficient unstructured mesh generation by means ofdelaunay triangulation and bowyer-watson algorithm Journal ofComputational Physics 1993 106(1)125ndash138

A frontal-Delaunay mesher in the Linfin-norm

Active

Edge of the front

Resolved

x1

Cn

Cl

L

x3 = (minusxpyp)

x2 = (xpminusyp)

x4

xc

xm

xl

xn

xe

x

y

Illustration of the point insertion algorithm

Car Hood

(a) (b) (c)Conformal reparametrization of a car hood Figure (a) shows the

CAD decomposition of the hood into 18 Beacutezier surfaces and the initialconforming mesh Figure (b) shows the result of the conformal

reparametrization ie isolines of u and v on the whole hood Figure(c) shows the projection of the initial mesh on the parameter plane u

Car Hood18 J-F REMACLE ET AL

(F) (FB) (FLB)

(D) (DB) (DLB)

N η ηw τ() d4() dmax

(FB) 1726 077 037 86 71 6(FLB) 1744 086 039 87 81 5(DB) 1527 090 037 93 81 5

(DLB) 1543 091 043 94 83 5

Figure 15 Pictures of different meshes of the car hood as well as mesh statistics

fields on all surfaces and the conformal reparametrization of all non planar surfaces The meshstatistics are as follows τ = 97 d4 = 91 dmax = 6 η = 095 ηw = 01 The mesh generatedby our approach for some of the planar and cylindrical surfaces of this particular geometry wasa structured mesh This happened however automatically without user interaction or internalheuristics of the mesher This explains the exceptionnaly high value of τ and η in this specificproblem

82 Falcon aircraft

As a second example the Falcon aircraft of Figure 17 is considered A surface mesh has beengenerated using a standard surface mesher whose triangles were patched together to create thecompounds of surfaces represented with different colors in the figure Each compound surfacehas been reparametrized separately by means of a conformal map created using the techniquesdescribed in [6 10 11 12] The mesh size field is composed of a uniform bulk size field δb = 01augmented with line and point sources at critical zones of the aircraft as depicted on Figure 17

The images of the different surfaces in their respective parameter plane can be seen onFigure 18 The resulting mesh is presented on Figure 19 The mesh is composed of 53297

Copyright c 2010 John Wiley amp Sons Ltd Int J Numer Meth Engng 2010 001ndash6Prepared using nmeauthcls

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Parametrizations of the surfaces of the Falcon aircraft in the uvplane

Falcon

Falcon

Falcon

Falcon

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alGeometrical Validity of Curvilinear Finite Elements IJNME Inpreparation 2011

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Roadmap for Gmsh 30

Complete re-build of the GUIUse Qt (a first demo version should be available in 2011)More flexibility reconfigurable GUI (OnleLab project) trueplugins remote control through sockets

Meshing capabilities enhancedCurvilinear meshes (p = 2 and p = 3 in 2011)Hex dominant meshing (DomHex project)Boundary layers (already ok for surface meshes) pyramids (evenfor high order)

Python API has to be cleaned and documented

  • History
  • Strategy
  • Research
    • Reparametrization
    • Quad meshing
    • Curvilinear meshing
      • Perspectives
Page 45: An Overview of the GMSH project

Quad mesh generation applied to STL models

τ= 0842549 τ= 0856247

The overall remeshing procedure for both STL examples takesonly 20s (5s for the Blossom-Quad)The quad-dominant meshing algorithm of [Levy et al] takes 271sfor the remeshing of the Stanford bunny

Anisotropic quad mesh generation applied to aparametric model

Anisotropic mesh

Anisotropic metricBuild an anisotropic triangular meshReimannian metric is used to measure distancesHere principal directions of the curvature tensor are used

Indirect approach an obvious problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Cross Fields

ycross

x

y

xcrossθ

The Linfin norm is not invariant by rotation rarr quads should beorientedA cross field (in 2D) is a scalar field θ(u) that gives theorientations of a local system of axis at point u in the parameterplaneThe local value of the cross field θ(uv) is defined only up torotations by π2 we choose to propagate

α(uv) = a(uv)+ ib(uv) = e4iθ(uv)

through a harmonic map

Perpendicular bisectors in the Linfin-norm

Lequiv y +(yo minusxp) = x

x

y

x2 = (xpyp)

(00)

α lt π4

(0xp minusyp)

x3 = (minusxp2xp minusyp)

x1 = (minusxpminusyp)

Bisector of two points x1 = (minusxpminusyp) and x2 = (xpyp) using theLinfin-norm

Circumcenter circumradius and circumcircle

ycross

x3

xcross

Ti

xcθ

R(T θ)

x1

x2

Circumcenter xc of a triangle using the Linfin-norm and circumcircle(red dotted square)

Delaunay and Voronoiuml

Voronoi diagram (dark lines) and Delaunay triangulation both in theLinfin norm

A frontal-Delaunay mesher in the Linfin-norm

The frontal-delaunay technique is based on

Rebay S Efficient unstructured mesh generation by means ofdelaunay triangulation and bowyer-watson algorithm Journal ofComputational Physics 1993 106(1)125ndash138

A frontal-Delaunay mesher in the Linfin-norm

Active

Edge of the front

Resolved

x1

Cn

Cl

L

x3 = (minusxpyp)

x2 = (xpminusyp)

x4

xc

xm

xl

xn

xe

x

y

Illustration of the point insertion algorithm

Car Hood

(a) (b) (c)Conformal reparametrization of a car hood Figure (a) shows the

CAD decomposition of the hood into 18 Beacutezier surfaces and the initialconforming mesh Figure (b) shows the result of the conformal

reparametrization ie isolines of u and v on the whole hood Figure(c) shows the projection of the initial mesh on the parameter plane u

Car Hood18 J-F REMACLE ET AL

(F) (FB) (FLB)

(D) (DB) (DLB)

N η ηw τ() d4() dmax

(FB) 1726 077 037 86 71 6(FLB) 1744 086 039 87 81 5(DB) 1527 090 037 93 81 5

(DLB) 1543 091 043 94 83 5

Figure 15 Pictures of different meshes of the car hood as well as mesh statistics

fields on all surfaces and the conformal reparametrization of all non planar surfaces The meshstatistics are as follows τ = 97 d4 = 91 dmax = 6 η = 095 ηw = 01 The mesh generatedby our approach for some of the planar and cylindrical surfaces of this particular geometry wasa structured mesh This happened however automatically without user interaction or internalheuristics of the mesher This explains the exceptionnaly high value of τ and η in this specificproblem

82 Falcon aircraft

As a second example the Falcon aircraft of Figure 17 is considered A surface mesh has beengenerated using a standard surface mesher whose triangles were patched together to create thecompounds of surfaces represented with different colors in the figure Each compound surfacehas been reparametrized separately by means of a conformal map created using the techniquesdescribed in [6 10 11 12] The mesh size field is composed of a uniform bulk size field δb = 01augmented with line and point sources at critical zones of the aircraft as depicted on Figure 17

The images of the different surfaces in their respective parameter plane can be seen onFigure 18 The resulting mesh is presented on Figure 19 The mesh is composed of 53297

Copyright c 2010 John Wiley amp Sons Ltd Int J Numer Meth Engng 2010 001ndash6Prepared using nmeauthcls

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Parametrizations of the surfaces of the Falcon aircraft in the uvplane

Falcon

Falcon

Falcon

Falcon

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alGeometrical Validity of Curvilinear Finite Elements IJNME Inpreparation 2011

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Roadmap for Gmsh 30

Complete re-build of the GUIUse Qt (a first demo version should be available in 2011)More flexibility reconfigurable GUI (OnleLab project) trueplugins remote control through sockets

Meshing capabilities enhancedCurvilinear meshes (p = 2 and p = 3 in 2011)Hex dominant meshing (DomHex project)Boundary layers (already ok for surface meshes) pyramids (evenfor high order)

Python API has to be cleaned and documented

  • History
  • Strategy
  • Research
    • Reparametrization
    • Quad meshing
    • Curvilinear meshing
      • Perspectives
Page 46: An Overview of the GMSH project

Anisotropic quad mesh generation applied to aparametric model

Anisotropic mesh

Anisotropic metricBuild an anisotropic triangular meshReimannian metric is used to measure distancesHere principal directions of the curvature tensor are used

Indirect approach an obvious problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Cross Fields

ycross

x

y

xcrossθ

The Linfin norm is not invariant by rotation rarr quads should beorientedA cross field (in 2D) is a scalar field θ(u) that gives theorientations of a local system of axis at point u in the parameterplaneThe local value of the cross field θ(uv) is defined only up torotations by π2 we choose to propagate

α(uv) = a(uv)+ ib(uv) = e4iθ(uv)

through a harmonic map

Perpendicular bisectors in the Linfin-norm

Lequiv y +(yo minusxp) = x

x

y

x2 = (xpyp)

(00)

α lt π4

(0xp minusyp)

x3 = (minusxp2xp minusyp)

x1 = (minusxpminusyp)

Bisector of two points x1 = (minusxpminusyp) and x2 = (xpyp) using theLinfin-norm

Circumcenter circumradius and circumcircle

ycross

x3

xcross

Ti

xcθ

R(T θ)

x1

x2

Circumcenter xc of a triangle using the Linfin-norm and circumcircle(red dotted square)

Delaunay and Voronoiuml

Voronoi diagram (dark lines) and Delaunay triangulation both in theLinfin norm

A frontal-Delaunay mesher in the Linfin-norm

The frontal-delaunay technique is based on

Rebay S Efficient unstructured mesh generation by means ofdelaunay triangulation and bowyer-watson algorithm Journal ofComputational Physics 1993 106(1)125ndash138

A frontal-Delaunay mesher in the Linfin-norm

Active

Edge of the front

Resolved

x1

Cn

Cl

L

x3 = (minusxpyp)

x2 = (xpminusyp)

x4

xc

xm

xl

xn

xe

x

y

Illustration of the point insertion algorithm

Car Hood

(a) (b) (c)Conformal reparametrization of a car hood Figure (a) shows the

CAD decomposition of the hood into 18 Beacutezier surfaces and the initialconforming mesh Figure (b) shows the result of the conformal

reparametrization ie isolines of u and v on the whole hood Figure(c) shows the projection of the initial mesh on the parameter plane u

Car Hood18 J-F REMACLE ET AL

(F) (FB) (FLB)

(D) (DB) (DLB)

N η ηw τ() d4() dmax

(FB) 1726 077 037 86 71 6(FLB) 1744 086 039 87 81 5(DB) 1527 090 037 93 81 5

(DLB) 1543 091 043 94 83 5

Figure 15 Pictures of different meshes of the car hood as well as mesh statistics

fields on all surfaces and the conformal reparametrization of all non planar surfaces The meshstatistics are as follows τ = 97 d4 = 91 dmax = 6 η = 095 ηw = 01 The mesh generatedby our approach for some of the planar and cylindrical surfaces of this particular geometry wasa structured mesh This happened however automatically without user interaction or internalheuristics of the mesher This explains the exceptionnaly high value of τ and η in this specificproblem

82 Falcon aircraft

As a second example the Falcon aircraft of Figure 17 is considered A surface mesh has beengenerated using a standard surface mesher whose triangles were patched together to create thecompounds of surfaces represented with different colors in the figure Each compound surfacehas been reparametrized separately by means of a conformal map created using the techniquesdescribed in [6 10 11 12] The mesh size field is composed of a uniform bulk size field δb = 01augmented with line and point sources at critical zones of the aircraft as depicted on Figure 17

The images of the different surfaces in their respective parameter plane can be seen onFigure 18 The resulting mesh is presented on Figure 19 The mesh is composed of 53297

Copyright c 2010 John Wiley amp Sons Ltd Int J Numer Meth Engng 2010 001ndash6Prepared using nmeauthcls

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Parametrizations of the surfaces of the Falcon aircraft in the uvplane

Falcon

Falcon

Falcon

Falcon

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alGeometrical Validity of Curvilinear Finite Elements IJNME Inpreparation 2011

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Roadmap for Gmsh 30

Complete re-build of the GUIUse Qt (a first demo version should be available in 2011)More flexibility reconfigurable GUI (OnleLab project) trueplugins remote control through sockets

Meshing capabilities enhancedCurvilinear meshes (p = 2 and p = 3 in 2011)Hex dominant meshing (DomHex project)Boundary layers (already ok for surface meshes) pyramids (evenfor high order)

Python API has to be cleaned and documented

  • History
  • Strategy
  • Research
    • Reparametrization
    • Quad meshing
    • Curvilinear meshing
      • Perspectives
Page 47: An Overview of the GMSH project

Indirect approach an obvious problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Cross Fields

ycross

x

y

xcrossθ

The Linfin norm is not invariant by rotation rarr quads should beorientedA cross field (in 2D) is a scalar field θ(u) that gives theorientations of a local system of axis at point u in the parameterplaneThe local value of the cross field θ(uv) is defined only up torotations by π2 we choose to propagate

α(uv) = a(uv)+ ib(uv) = e4iθ(uv)

through a harmonic map

Perpendicular bisectors in the Linfin-norm

Lequiv y +(yo minusxp) = x

x

y

x2 = (xpyp)

(00)

α lt π4

(0xp minusyp)

x3 = (minusxp2xp minusyp)

x1 = (minusxpminusyp)

Bisector of two points x1 = (minusxpminusyp) and x2 = (xpyp) using theLinfin-norm

Circumcenter circumradius and circumcircle

ycross

x3

xcross

Ti

xcθ

R(T θ)

x1

x2

Circumcenter xc of a triangle using the Linfin-norm and circumcircle(red dotted square)

Delaunay and Voronoiuml

Voronoi diagram (dark lines) and Delaunay triangulation both in theLinfin norm

A frontal-Delaunay mesher in the Linfin-norm

The frontal-delaunay technique is based on

Rebay S Efficient unstructured mesh generation by means ofdelaunay triangulation and bowyer-watson algorithm Journal ofComputational Physics 1993 106(1)125ndash138

A frontal-Delaunay mesher in the Linfin-norm

Active

Edge of the front

Resolved

x1

Cn

Cl

L

x3 = (minusxpyp)

x2 = (xpminusyp)

x4

xc

xm

xl

xn

xe

x

y

Illustration of the point insertion algorithm

Car Hood

(a) (b) (c)Conformal reparametrization of a car hood Figure (a) shows the

CAD decomposition of the hood into 18 Beacutezier surfaces and the initialconforming mesh Figure (b) shows the result of the conformal

reparametrization ie isolines of u and v on the whole hood Figure(c) shows the projection of the initial mesh on the parameter plane u

Car Hood18 J-F REMACLE ET AL

(F) (FB) (FLB)

(D) (DB) (DLB)

N η ηw τ() d4() dmax

(FB) 1726 077 037 86 71 6(FLB) 1744 086 039 87 81 5(DB) 1527 090 037 93 81 5

(DLB) 1543 091 043 94 83 5

Figure 15 Pictures of different meshes of the car hood as well as mesh statistics

fields on all surfaces and the conformal reparametrization of all non planar surfaces The meshstatistics are as follows τ = 97 d4 = 91 dmax = 6 η = 095 ηw = 01 The mesh generatedby our approach for some of the planar and cylindrical surfaces of this particular geometry wasa structured mesh This happened however automatically without user interaction or internalheuristics of the mesher This explains the exceptionnaly high value of τ and η in this specificproblem

82 Falcon aircraft

As a second example the Falcon aircraft of Figure 17 is considered A surface mesh has beengenerated using a standard surface mesher whose triangles were patched together to create thecompounds of surfaces represented with different colors in the figure Each compound surfacehas been reparametrized separately by means of a conformal map created using the techniquesdescribed in [6 10 11 12] The mesh size field is composed of a uniform bulk size field δb = 01augmented with line and point sources at critical zones of the aircraft as depicted on Figure 17

The images of the different surfaces in their respective parameter plane can be seen onFigure 18 The resulting mesh is presented on Figure 19 The mesh is composed of 53297

Copyright c 2010 John Wiley amp Sons Ltd Int J Numer Meth Engng 2010 001ndash6Prepared using nmeauthcls

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Parametrizations of the surfaces of the Falcon aircraft in the uvplane

Falcon

Falcon

Falcon

Falcon

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alGeometrical Validity of Curvilinear Finite Elements IJNME Inpreparation 2011

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Roadmap for Gmsh 30

Complete re-build of the GUIUse Qt (a first demo version should be available in 2011)More flexibility reconfigurable GUI (OnleLab project) trueplugins remote control through sockets

Meshing capabilities enhancedCurvilinear meshes (p = 2 and p = 3 in 2011)Hex dominant meshing (DomHex project)Boundary layers (already ok for surface meshes) pyramids (evenfor high order)

Python API has to be cleaned and documented

  • History
  • Strategy
  • Research
    • Reparametrization
    • Quad meshing
    • Curvilinear meshing
      • Perspectives
Page 48: An Overview of the GMSH project

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Cross Fields

ycross

x

y

xcrossθ

The Linfin norm is not invariant by rotation rarr quads should beorientedA cross field (in 2D) is a scalar field θ(u) that gives theorientations of a local system of axis at point u in the parameterplaneThe local value of the cross field θ(uv) is defined only up torotations by π2 we choose to propagate

α(uv) = a(uv)+ ib(uv) = e4iθ(uv)

through a harmonic map

Perpendicular bisectors in the Linfin-norm

Lequiv y +(yo minusxp) = x

x

y

x2 = (xpyp)

(00)

α lt π4

(0xp minusyp)

x3 = (minusxp2xp minusyp)

x1 = (minusxpminusyp)

Bisector of two points x1 = (minusxpminusyp) and x2 = (xpyp) using theLinfin-norm

Circumcenter circumradius and circumcircle

ycross

x3

xcross

Ti

xcθ

R(T θ)

x1

x2

Circumcenter xc of a triangle using the Linfin-norm and circumcircle(red dotted square)

Delaunay and Voronoiuml

Voronoi diagram (dark lines) and Delaunay triangulation both in theLinfin norm

A frontal-Delaunay mesher in the Linfin-norm

The frontal-delaunay technique is based on

Rebay S Efficient unstructured mesh generation by means ofdelaunay triangulation and bowyer-watson algorithm Journal ofComputational Physics 1993 106(1)125ndash138

A frontal-Delaunay mesher in the Linfin-norm

Active

Edge of the front

Resolved

x1

Cn

Cl

L

x3 = (minusxpyp)

x2 = (xpminusyp)

x4

xc

xm

xl

xn

xe

x

y

Illustration of the point insertion algorithm

Car Hood

(a) (b) (c)Conformal reparametrization of a car hood Figure (a) shows the

CAD decomposition of the hood into 18 Beacutezier surfaces and the initialconforming mesh Figure (b) shows the result of the conformal

reparametrization ie isolines of u and v on the whole hood Figure(c) shows the projection of the initial mesh on the parameter plane u

Car Hood18 J-F REMACLE ET AL

(F) (FB) (FLB)

(D) (DB) (DLB)

N η ηw τ() d4() dmax

(FB) 1726 077 037 86 71 6(FLB) 1744 086 039 87 81 5(DB) 1527 090 037 93 81 5

(DLB) 1543 091 043 94 83 5

Figure 15 Pictures of different meshes of the car hood as well as mesh statistics

fields on all surfaces and the conformal reparametrization of all non planar surfaces The meshstatistics are as follows τ = 97 d4 = 91 dmax = 6 η = 095 ηw = 01 The mesh generatedby our approach for some of the planar and cylindrical surfaces of this particular geometry wasa structured mesh This happened however automatically without user interaction or internalheuristics of the mesher This explains the exceptionnaly high value of τ and η in this specificproblem

82 Falcon aircraft

As a second example the Falcon aircraft of Figure 17 is considered A surface mesh has beengenerated using a standard surface mesher whose triangles were patched together to create thecompounds of surfaces represented with different colors in the figure Each compound surfacehas been reparametrized separately by means of a conformal map created using the techniquesdescribed in [6 10 11 12] The mesh size field is composed of a uniform bulk size field δb = 01augmented with line and point sources at critical zones of the aircraft as depicted on Figure 17

The images of the different surfaces in their respective parameter plane can be seen onFigure 18 The resulting mesh is presented on Figure 19 The mesh is composed of 53297

Copyright c 2010 John Wiley amp Sons Ltd Int J Numer Meth Engng 2010 001ndash6Prepared using nmeauthcls

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Parametrizations of the surfaces of the Falcon aircraft in the uvplane

Falcon

Falcon

Falcon

Falcon

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alGeometrical Validity of Curvilinear Finite Elements IJNME Inpreparation 2011

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Roadmap for Gmsh 30

Complete re-build of the GUIUse Qt (a first demo version should be available in 2011)More flexibility reconfigurable GUI (OnleLab project) trueplugins remote control through sockets

Meshing capabilities enhancedCurvilinear meshes (p = 2 and p = 3 in 2011)Hex dominant meshing (DomHex project)Boundary layers (already ok for surface meshes) pyramids (evenfor high order)

Python API has to be cleaned and documented

  • History
  • Strategy
  • Research
    • Reparametrization
    • Quad meshing
    • Curvilinear meshing
      • Perspectives
Page 49: An Overview of the GMSH project

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Cross Fields

ycross

x

y

xcrossθ

The Linfin norm is not invariant by rotation rarr quads should beorientedA cross field (in 2D) is a scalar field θ(u) that gives theorientations of a local system of axis at point u in the parameterplaneThe local value of the cross field θ(uv) is defined only up torotations by π2 we choose to propagate

α(uv) = a(uv)+ ib(uv) = e4iθ(uv)

through a harmonic map

Perpendicular bisectors in the Linfin-norm

Lequiv y +(yo minusxp) = x

x

y

x2 = (xpyp)

(00)

α lt π4

(0xp minusyp)

x3 = (minusxp2xp minusyp)

x1 = (minusxpminusyp)

Bisector of two points x1 = (minusxpminusyp) and x2 = (xpyp) using theLinfin-norm

Circumcenter circumradius and circumcircle

ycross

x3

xcross

Ti

xcθ

R(T θ)

x1

x2

Circumcenter xc of a triangle using the Linfin-norm and circumcircle(red dotted square)

Delaunay and Voronoiuml

Voronoi diagram (dark lines) and Delaunay triangulation both in theLinfin norm

A frontal-Delaunay mesher in the Linfin-norm

The frontal-delaunay technique is based on

Rebay S Efficient unstructured mesh generation by means ofdelaunay triangulation and bowyer-watson algorithm Journal ofComputational Physics 1993 106(1)125ndash138

A frontal-Delaunay mesher in the Linfin-norm

Active

Edge of the front

Resolved

x1

Cn

Cl

L

x3 = (minusxpyp)

x2 = (xpminusyp)

x4

xc

xm

xl

xn

xe

x

y

Illustration of the point insertion algorithm

Car Hood

(a) (b) (c)Conformal reparametrization of a car hood Figure (a) shows the

CAD decomposition of the hood into 18 Beacutezier surfaces and the initialconforming mesh Figure (b) shows the result of the conformal

reparametrization ie isolines of u and v on the whole hood Figure(c) shows the projection of the initial mesh on the parameter plane u

Car Hood18 J-F REMACLE ET AL

(F) (FB) (FLB)

(D) (DB) (DLB)

N η ηw τ() d4() dmax

(FB) 1726 077 037 86 71 6(FLB) 1744 086 039 87 81 5(DB) 1527 090 037 93 81 5

(DLB) 1543 091 043 94 83 5

Figure 15 Pictures of different meshes of the car hood as well as mesh statistics

fields on all surfaces and the conformal reparametrization of all non planar surfaces The meshstatistics are as follows τ = 97 d4 = 91 dmax = 6 η = 095 ηw = 01 The mesh generatedby our approach for some of the planar and cylindrical surfaces of this particular geometry wasa structured mesh This happened however automatically without user interaction or internalheuristics of the mesher This explains the exceptionnaly high value of τ and η in this specificproblem

82 Falcon aircraft

As a second example the Falcon aircraft of Figure 17 is considered A surface mesh has beengenerated using a standard surface mesher whose triangles were patched together to create thecompounds of surfaces represented with different colors in the figure Each compound surfacehas been reparametrized separately by means of a conformal map created using the techniquesdescribed in [6 10 11 12] The mesh size field is composed of a uniform bulk size field δb = 01augmented with line and point sources at critical zones of the aircraft as depicted on Figure 17

The images of the different surfaces in their respective parameter plane can be seen onFigure 18 The resulting mesh is presented on Figure 19 The mesh is composed of 53297

Copyright c 2010 John Wiley amp Sons Ltd Int J Numer Meth Engng 2010 001ndash6Prepared using nmeauthcls

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Parametrizations of the surfaces of the Falcon aircraft in the uvplane

Falcon

Falcon

Falcon

Falcon

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alGeometrical Validity of Curvilinear Finite Elements IJNME Inpreparation 2011

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Roadmap for Gmsh 30

Complete re-build of the GUIUse Qt (a first demo version should be available in 2011)More flexibility reconfigurable GUI (OnleLab project) trueplugins remote control through sockets

Meshing capabilities enhancedCurvilinear meshes (p = 2 and p = 3 in 2011)Hex dominant meshing (DomHex project)Boundary layers (already ok for surface meshes) pyramids (evenfor high order)

Python API has to be cleaned and documented

  • History
  • Strategy
  • Research
    • Reparametrization
    • Quad meshing
    • Curvilinear meshing
      • Perspectives
Page 50: An Overview of the GMSH project

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Cross Fields

ycross

x

y

xcrossθ

The Linfin norm is not invariant by rotation rarr quads should beorientedA cross field (in 2D) is a scalar field θ(u) that gives theorientations of a local system of axis at point u in the parameterplaneThe local value of the cross field θ(uv) is defined only up torotations by π2 we choose to propagate

α(uv) = a(uv)+ ib(uv) = e4iθ(uv)

through a harmonic map

Perpendicular bisectors in the Linfin-norm

Lequiv y +(yo minusxp) = x

x

y

x2 = (xpyp)

(00)

α lt π4

(0xp minusyp)

x3 = (minusxp2xp minusyp)

x1 = (minusxpminusyp)

Bisector of two points x1 = (minusxpminusyp) and x2 = (xpyp) using theLinfin-norm

Circumcenter circumradius and circumcircle

ycross

x3

xcross

Ti

xcθ

R(T θ)

x1

x2

Circumcenter xc of a triangle using the Linfin-norm and circumcircle(red dotted square)

Delaunay and Voronoiuml

Voronoi diagram (dark lines) and Delaunay triangulation both in theLinfin norm

A frontal-Delaunay mesher in the Linfin-norm

The frontal-delaunay technique is based on

Rebay S Efficient unstructured mesh generation by means ofdelaunay triangulation and bowyer-watson algorithm Journal ofComputational Physics 1993 106(1)125ndash138

A frontal-Delaunay mesher in the Linfin-norm

Active

Edge of the front

Resolved

x1

Cn

Cl

L

x3 = (minusxpyp)

x2 = (xpminusyp)

x4

xc

xm

xl

xn

xe

x

y

Illustration of the point insertion algorithm

Car Hood

(a) (b) (c)Conformal reparametrization of a car hood Figure (a) shows the

CAD decomposition of the hood into 18 Beacutezier surfaces and the initialconforming mesh Figure (b) shows the result of the conformal

reparametrization ie isolines of u and v on the whole hood Figure(c) shows the projection of the initial mesh on the parameter plane u

Car Hood18 J-F REMACLE ET AL

(F) (FB) (FLB)

(D) (DB) (DLB)

N η ηw τ() d4() dmax

(FB) 1726 077 037 86 71 6(FLB) 1744 086 039 87 81 5(DB) 1527 090 037 93 81 5

(DLB) 1543 091 043 94 83 5

Figure 15 Pictures of different meshes of the car hood as well as mesh statistics

fields on all surfaces and the conformal reparametrization of all non planar surfaces The meshstatistics are as follows τ = 97 d4 = 91 dmax = 6 η = 095 ηw = 01 The mesh generatedby our approach for some of the planar and cylindrical surfaces of this particular geometry wasa structured mesh This happened however automatically without user interaction or internalheuristics of the mesher This explains the exceptionnaly high value of τ and η in this specificproblem

82 Falcon aircraft

As a second example the Falcon aircraft of Figure 17 is considered A surface mesh has beengenerated using a standard surface mesher whose triangles were patched together to create thecompounds of surfaces represented with different colors in the figure Each compound surfacehas been reparametrized separately by means of a conformal map created using the techniquesdescribed in [6 10 11 12] The mesh size field is composed of a uniform bulk size field δb = 01augmented with line and point sources at critical zones of the aircraft as depicted on Figure 17

The images of the different surfaces in their respective parameter plane can be seen onFigure 18 The resulting mesh is presented on Figure 19 The mesh is composed of 53297

Copyright c 2010 John Wiley amp Sons Ltd Int J Numer Meth Engng 2010 001ndash6Prepared using nmeauthcls

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Parametrizations of the surfaces of the Falcon aircraft in the uvplane

Falcon

Falcon

Falcon

Falcon

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alGeometrical Validity of Curvilinear Finite Elements IJNME Inpreparation 2011

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Roadmap for Gmsh 30

Complete re-build of the GUIUse Qt (a first demo version should be available in 2011)More flexibility reconfigurable GUI (OnleLab project) trueplugins remote control through sockets

Meshing capabilities enhancedCurvilinear meshes (p = 2 and p = 3 in 2011)Hex dominant meshing (DomHex project)Boundary layers (already ok for surface meshes) pyramids (evenfor high order)

Python API has to be cleaned and documented

  • History
  • Strategy
  • Research
    • Reparametrization
    • Quad meshing
    • Curvilinear meshing
      • Perspectives
Page 51: An Overview of the GMSH project

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Cross Fields

ycross

x

y

xcrossθ

The Linfin norm is not invariant by rotation rarr quads should beorientedA cross field (in 2D) is a scalar field θ(u) that gives theorientations of a local system of axis at point u in the parameterplaneThe local value of the cross field θ(uv) is defined only up torotations by π2 we choose to propagate

α(uv) = a(uv)+ ib(uv) = e4iθ(uv)

through a harmonic map

Perpendicular bisectors in the Linfin-norm

Lequiv y +(yo minusxp) = x

x

y

x2 = (xpyp)

(00)

α lt π4

(0xp minusyp)

x3 = (minusxp2xp minusyp)

x1 = (minusxpminusyp)

Bisector of two points x1 = (minusxpminusyp) and x2 = (xpyp) using theLinfin-norm

Circumcenter circumradius and circumcircle

ycross

x3

xcross

Ti

xcθ

R(T θ)

x1

x2

Circumcenter xc of a triangle using the Linfin-norm and circumcircle(red dotted square)

Delaunay and Voronoiuml

Voronoi diagram (dark lines) and Delaunay triangulation both in theLinfin norm

A frontal-Delaunay mesher in the Linfin-norm

The frontal-delaunay technique is based on

Rebay S Efficient unstructured mesh generation by means ofdelaunay triangulation and bowyer-watson algorithm Journal ofComputational Physics 1993 106(1)125ndash138

A frontal-Delaunay mesher in the Linfin-norm

Active

Edge of the front

Resolved

x1

Cn

Cl

L

x3 = (minusxpyp)

x2 = (xpminusyp)

x4

xc

xm

xl

xn

xe

x

y

Illustration of the point insertion algorithm

Car Hood

(a) (b) (c)Conformal reparametrization of a car hood Figure (a) shows the

CAD decomposition of the hood into 18 Beacutezier surfaces and the initialconforming mesh Figure (b) shows the result of the conformal

reparametrization ie isolines of u and v on the whole hood Figure(c) shows the projection of the initial mesh on the parameter plane u

Car Hood18 J-F REMACLE ET AL

(F) (FB) (FLB)

(D) (DB) (DLB)

N η ηw τ() d4() dmax

(FB) 1726 077 037 86 71 6(FLB) 1744 086 039 87 81 5(DB) 1527 090 037 93 81 5

(DLB) 1543 091 043 94 83 5

Figure 15 Pictures of different meshes of the car hood as well as mesh statistics

fields on all surfaces and the conformal reparametrization of all non planar surfaces The meshstatistics are as follows τ = 97 d4 = 91 dmax = 6 η = 095 ηw = 01 The mesh generatedby our approach for some of the planar and cylindrical surfaces of this particular geometry wasa structured mesh This happened however automatically without user interaction or internalheuristics of the mesher This explains the exceptionnaly high value of τ and η in this specificproblem

82 Falcon aircraft

As a second example the Falcon aircraft of Figure 17 is considered A surface mesh has beengenerated using a standard surface mesher whose triangles were patched together to create thecompounds of surfaces represented with different colors in the figure Each compound surfacehas been reparametrized separately by means of a conformal map created using the techniquesdescribed in [6 10 11 12] The mesh size field is composed of a uniform bulk size field δb = 01augmented with line and point sources at critical zones of the aircraft as depicted on Figure 17

The images of the different surfaces in their respective parameter plane can be seen onFigure 18 The resulting mesh is presented on Figure 19 The mesh is composed of 53297

Copyright c 2010 John Wiley amp Sons Ltd Int J Numer Meth Engng 2010 001ndash6Prepared using nmeauthcls

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Parametrizations of the surfaces of the Falcon aircraft in the uvplane

Falcon

Falcon

Falcon

Falcon

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alGeometrical Validity of Curvilinear Finite Elements IJNME Inpreparation 2011

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Roadmap for Gmsh 30

Complete re-build of the GUIUse Qt (a first demo version should be available in 2011)More flexibility reconfigurable GUI (OnleLab project) trueplugins remote control through sockets

Meshing capabilities enhancedCurvilinear meshes (p = 2 and p = 3 in 2011)Hex dominant meshing (DomHex project)Boundary layers (already ok for surface meshes) pyramids (evenfor high order)

Python API has to be cleaned and documented

  • History
  • Strategy
  • Research
    • Reparametrization
    • Quad meshing
    • Curvilinear meshing
      • Perspectives
Page 52: An Overview of the GMSH project

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Cross Fields

ycross

x

y

xcrossθ

The Linfin norm is not invariant by rotation rarr quads should beorientedA cross field (in 2D) is a scalar field θ(u) that gives theorientations of a local system of axis at point u in the parameterplaneThe local value of the cross field θ(uv) is defined only up torotations by π2 we choose to propagate

α(uv) = a(uv)+ ib(uv) = e4iθ(uv)

through a harmonic map

Perpendicular bisectors in the Linfin-norm

Lequiv y +(yo minusxp) = x

x

y

x2 = (xpyp)

(00)

α lt π4

(0xp minusyp)

x3 = (minusxp2xp minusyp)

x1 = (minusxpminusyp)

Bisector of two points x1 = (minusxpminusyp) and x2 = (xpyp) using theLinfin-norm

Circumcenter circumradius and circumcircle

ycross

x3

xcross

Ti

xcθ

R(T θ)

x1

x2

Circumcenter xc of a triangle using the Linfin-norm and circumcircle(red dotted square)

Delaunay and Voronoiuml

Voronoi diagram (dark lines) and Delaunay triangulation both in theLinfin norm

A frontal-Delaunay mesher in the Linfin-norm

The frontal-delaunay technique is based on

Rebay S Efficient unstructured mesh generation by means ofdelaunay triangulation and bowyer-watson algorithm Journal ofComputational Physics 1993 106(1)125ndash138

A frontal-Delaunay mesher in the Linfin-norm

Active

Edge of the front

Resolved

x1

Cn

Cl

L

x3 = (minusxpyp)

x2 = (xpminusyp)

x4

xc

xm

xl

xn

xe

x

y

Illustration of the point insertion algorithm

Car Hood

(a) (b) (c)Conformal reparametrization of a car hood Figure (a) shows the

CAD decomposition of the hood into 18 Beacutezier surfaces and the initialconforming mesh Figure (b) shows the result of the conformal

reparametrization ie isolines of u and v on the whole hood Figure(c) shows the projection of the initial mesh on the parameter plane u

Car Hood18 J-F REMACLE ET AL

(F) (FB) (FLB)

(D) (DB) (DLB)

N η ηw τ() d4() dmax

(FB) 1726 077 037 86 71 6(FLB) 1744 086 039 87 81 5(DB) 1527 090 037 93 81 5

(DLB) 1543 091 043 94 83 5

Figure 15 Pictures of different meshes of the car hood as well as mesh statistics

fields on all surfaces and the conformal reparametrization of all non planar surfaces The meshstatistics are as follows τ = 97 d4 = 91 dmax = 6 η = 095 ηw = 01 The mesh generatedby our approach for some of the planar and cylindrical surfaces of this particular geometry wasa structured mesh This happened however automatically without user interaction or internalheuristics of the mesher This explains the exceptionnaly high value of τ and η in this specificproblem

82 Falcon aircraft

As a second example the Falcon aircraft of Figure 17 is considered A surface mesh has beengenerated using a standard surface mesher whose triangles were patched together to create thecompounds of surfaces represented with different colors in the figure Each compound surfacehas been reparametrized separately by means of a conformal map created using the techniquesdescribed in [6 10 11 12] The mesh size field is composed of a uniform bulk size field δb = 01augmented with line and point sources at critical zones of the aircraft as depicted on Figure 17

The images of the different surfaces in their respective parameter plane can be seen onFigure 18 The resulting mesh is presented on Figure 19 The mesh is composed of 53297

Copyright c 2010 John Wiley amp Sons Ltd Int J Numer Meth Engng 2010 001ndash6Prepared using nmeauthcls

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Parametrizations of the surfaces of the Falcon aircraft in the uvplane

Falcon

Falcon

Falcon

Falcon

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alGeometrical Validity of Curvilinear Finite Elements IJNME Inpreparation 2011

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Roadmap for Gmsh 30

Complete re-build of the GUIUse Qt (a first demo version should be available in 2011)More flexibility reconfigurable GUI (OnleLab project) trueplugins remote control through sockets

Meshing capabilities enhancedCurvilinear meshes (p = 2 and p = 3 in 2011)Hex dominant meshing (DomHex project)Boundary layers (already ok for surface meshes) pyramids (evenfor high order)

Python API has to be cleaned and documented

  • History
  • Strategy
  • Research
    • Reparametrization
    • Quad meshing
    • Curvilinear meshing
      • Perspectives
Page 53: An Overview of the GMSH project

Indirect approach an obvious problem

Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with

squaresSo even though it is always possible to build a mesh made ofquadrangles by recombining triangles a good triangular meshmade of equilateral triangles contains about 2

radic3 times too

many to make a good quadrilateral mesh

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Cross Fields

ycross

x

y

xcrossθ

The Linfin norm is not invariant by rotation rarr quads should beorientedA cross field (in 2D) is a scalar field θ(u) that gives theorientations of a local system of axis at point u in the parameterplaneThe local value of the cross field θ(uv) is defined only up torotations by π2 we choose to propagate

α(uv) = a(uv)+ ib(uv) = e4iθ(uv)

through a harmonic map

Perpendicular bisectors in the Linfin-norm

Lequiv y +(yo minusxp) = x

x

y

x2 = (xpyp)

(00)

α lt π4

(0xp minusyp)

x3 = (minusxp2xp minusyp)

x1 = (minusxpminusyp)

Bisector of two points x1 = (minusxpminusyp) and x2 = (xpyp) using theLinfin-norm

Circumcenter circumradius and circumcircle

ycross

x3

xcross

Ti

xcθ

R(T θ)

x1

x2

Circumcenter xc of a triangle using the Linfin-norm and circumcircle(red dotted square)

Delaunay and Voronoiuml

Voronoi diagram (dark lines) and Delaunay triangulation both in theLinfin norm

A frontal-Delaunay mesher in the Linfin-norm

The frontal-delaunay technique is based on

Rebay S Efficient unstructured mesh generation by means ofdelaunay triangulation and bowyer-watson algorithm Journal ofComputational Physics 1993 106(1)125ndash138

A frontal-Delaunay mesher in the Linfin-norm

Active

Edge of the front

Resolved

x1

Cn

Cl

L

x3 = (minusxpyp)

x2 = (xpminusyp)

x4

xc

xm

xl

xn

xe

x

y

Illustration of the point insertion algorithm

Car Hood

(a) (b) (c)Conformal reparametrization of a car hood Figure (a) shows the

CAD decomposition of the hood into 18 Beacutezier surfaces and the initialconforming mesh Figure (b) shows the result of the conformal

reparametrization ie isolines of u and v on the whole hood Figure(c) shows the projection of the initial mesh on the parameter plane u

Car Hood18 J-F REMACLE ET AL

(F) (FB) (FLB)

(D) (DB) (DLB)

N η ηw τ() d4() dmax

(FB) 1726 077 037 86 71 6(FLB) 1744 086 039 87 81 5(DB) 1527 090 037 93 81 5

(DLB) 1543 091 043 94 83 5

Figure 15 Pictures of different meshes of the car hood as well as mesh statistics

fields on all surfaces and the conformal reparametrization of all non planar surfaces The meshstatistics are as follows τ = 97 d4 = 91 dmax = 6 η = 095 ηw = 01 The mesh generatedby our approach for some of the planar and cylindrical surfaces of this particular geometry wasa structured mesh This happened however automatically without user interaction or internalheuristics of the mesher This explains the exceptionnaly high value of τ and η in this specificproblem

82 Falcon aircraft

As a second example the Falcon aircraft of Figure 17 is considered A surface mesh has beengenerated using a standard surface mesher whose triangles were patched together to create thecompounds of surfaces represented with different colors in the figure Each compound surfacehas been reparametrized separately by means of a conformal map created using the techniquesdescribed in [6 10 11 12] The mesh size field is composed of a uniform bulk size field δb = 01augmented with line and point sources at critical zones of the aircraft as depicted on Figure 17

The images of the different surfaces in their respective parameter plane can be seen onFigure 18 The resulting mesh is presented on Figure 19 The mesh is composed of 53297

Copyright c 2010 John Wiley amp Sons Ltd Int J Numer Meth Engng 2010 001ndash6Prepared using nmeauthcls

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Parametrizations of the surfaces of the Falcon aircraft in the uvplane

Falcon

Falcon

Falcon

Falcon

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alGeometrical Validity of Curvilinear Finite Elements IJNME Inpreparation 2011

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Roadmap for Gmsh 30

Complete re-build of the GUIUse Qt (a first demo version should be available in 2011)More flexibility reconfigurable GUI (OnleLab project) trueplugins remote control through sockets

Meshing capabilities enhancedCurvilinear meshes (p = 2 and p = 3 in 2011)Hex dominant meshing (DomHex project)Boundary layers (already ok for surface meshes) pyramids (evenfor high order)

Python API has to be cleaned and documented

  • History
  • Strategy
  • Research
    • Reparametrization
    • Quad meshing
    • Curvilinear meshing
      • Perspectives
Page 54: An Overview of the GMSH project

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Cross Fields

ycross

x

y

xcrossθ

The Linfin norm is not invariant by rotation rarr quads should beorientedA cross field (in 2D) is a scalar field θ(u) that gives theorientations of a local system of axis at point u in the parameterplaneThe local value of the cross field θ(uv) is defined only up torotations by π2 we choose to propagate

α(uv) = a(uv)+ ib(uv) = e4iθ(uv)

through a harmonic map

Perpendicular bisectors in the Linfin-norm

Lequiv y +(yo minusxp) = x

x

y

x2 = (xpyp)

(00)

α lt π4

(0xp minusyp)

x3 = (minusxp2xp minusyp)

x1 = (minusxpminusyp)

Bisector of two points x1 = (minusxpminusyp) and x2 = (xpyp) using theLinfin-norm

Circumcenter circumradius and circumcircle

ycross

x3

xcross

Ti

xcθ

R(T θ)

x1

x2

Circumcenter xc of a triangle using the Linfin-norm and circumcircle(red dotted square)

Delaunay and Voronoiuml

Voronoi diagram (dark lines) and Delaunay triangulation both in theLinfin norm

A frontal-Delaunay mesher in the Linfin-norm

The frontal-delaunay technique is based on

Rebay S Efficient unstructured mesh generation by means ofdelaunay triangulation and bowyer-watson algorithm Journal ofComputational Physics 1993 106(1)125ndash138

A frontal-Delaunay mesher in the Linfin-norm

Active

Edge of the front

Resolved

x1

Cn

Cl

L

x3 = (minusxpyp)

x2 = (xpminusyp)

x4

xc

xm

xl

xn

xe

x

y

Illustration of the point insertion algorithm

Car Hood

(a) (b) (c)Conformal reparametrization of a car hood Figure (a) shows the

CAD decomposition of the hood into 18 Beacutezier surfaces and the initialconforming mesh Figure (b) shows the result of the conformal

reparametrization ie isolines of u and v on the whole hood Figure(c) shows the projection of the initial mesh on the parameter plane u

Car Hood18 J-F REMACLE ET AL

(F) (FB) (FLB)

(D) (DB) (DLB)

N η ηw τ() d4() dmax

(FB) 1726 077 037 86 71 6(FLB) 1744 086 039 87 81 5(DB) 1527 090 037 93 81 5

(DLB) 1543 091 043 94 83 5

Figure 15 Pictures of different meshes of the car hood as well as mesh statistics

fields on all surfaces and the conformal reparametrization of all non planar surfaces The meshstatistics are as follows τ = 97 d4 = 91 dmax = 6 η = 095 ηw = 01 The mesh generatedby our approach for some of the planar and cylindrical surfaces of this particular geometry wasa structured mesh This happened however automatically without user interaction or internalheuristics of the mesher This explains the exceptionnaly high value of τ and η in this specificproblem

82 Falcon aircraft

As a second example the Falcon aircraft of Figure 17 is considered A surface mesh has beengenerated using a standard surface mesher whose triangles were patched together to create thecompounds of surfaces represented with different colors in the figure Each compound surfacehas been reparametrized separately by means of a conformal map created using the techniquesdescribed in [6 10 11 12] The mesh size field is composed of a uniform bulk size field δb = 01augmented with line and point sources at critical zones of the aircraft as depicted on Figure 17

The images of the different surfaces in their respective parameter plane can be seen onFigure 18 The resulting mesh is presented on Figure 19 The mesh is composed of 53297

Copyright c 2010 John Wiley amp Sons Ltd Int J Numer Meth Engng 2010 001ndash6Prepared using nmeauthcls

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Parametrizations of the surfaces of the Falcon aircraft in the uvplane

Falcon

Falcon

Falcon

Falcon

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alGeometrical Validity of Curvilinear Finite Elements IJNME Inpreparation 2011

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Roadmap for Gmsh 30

Complete re-build of the GUIUse Qt (a first demo version should be available in 2011)More flexibility reconfigurable GUI (OnleLab project) trueplugins remote control through sockets

Meshing capabilities enhancedCurvilinear meshes (p = 2 and p = 3 in 2011)Hex dominant meshing (DomHex project)Boundary layers (already ok for surface meshes) pyramids (evenfor high order)

Python API has to be cleaned and documented

  • History
  • Strategy
  • Research
    • Reparametrization
    • Quad meshing
    • Curvilinear meshing
      • Perspectives
Page 55: An Overview of the GMSH project

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Cross Fields

ycross

x

y

xcrossθ

The Linfin norm is not invariant by rotation rarr quads should beorientedA cross field (in 2D) is a scalar field θ(u) that gives theorientations of a local system of axis at point u in the parameterplaneThe local value of the cross field θ(uv) is defined only up torotations by π2 we choose to propagate

α(uv) = a(uv)+ ib(uv) = e4iθ(uv)

through a harmonic map

Perpendicular bisectors in the Linfin-norm

Lequiv y +(yo minusxp) = x

x

y

x2 = (xpyp)

(00)

α lt π4

(0xp minusyp)

x3 = (minusxp2xp minusyp)

x1 = (minusxpminusyp)

Bisector of two points x1 = (minusxpminusyp) and x2 = (xpyp) using theLinfin-norm

Circumcenter circumradius and circumcircle

ycross

x3

xcross

Ti

xcθ

R(T θ)

x1

x2

Circumcenter xc of a triangle using the Linfin-norm and circumcircle(red dotted square)

Delaunay and Voronoiuml

Voronoi diagram (dark lines) and Delaunay triangulation both in theLinfin norm

A frontal-Delaunay mesher in the Linfin-norm

The frontal-delaunay technique is based on

Rebay S Efficient unstructured mesh generation by means ofdelaunay triangulation and bowyer-watson algorithm Journal ofComputational Physics 1993 106(1)125ndash138

A frontal-Delaunay mesher in the Linfin-norm

Active

Edge of the front

Resolved

x1

Cn

Cl

L

x3 = (minusxpyp)

x2 = (xpminusyp)

x4

xc

xm

xl

xn

xe

x

y

Illustration of the point insertion algorithm

Car Hood

(a) (b) (c)Conformal reparametrization of a car hood Figure (a) shows the

CAD decomposition of the hood into 18 Beacutezier surfaces and the initialconforming mesh Figure (b) shows the result of the conformal

reparametrization ie isolines of u and v on the whole hood Figure(c) shows the projection of the initial mesh on the parameter plane u

Car Hood18 J-F REMACLE ET AL

(F) (FB) (FLB)

(D) (DB) (DLB)

N η ηw τ() d4() dmax

(FB) 1726 077 037 86 71 6(FLB) 1744 086 039 87 81 5(DB) 1527 090 037 93 81 5

(DLB) 1543 091 043 94 83 5

Figure 15 Pictures of different meshes of the car hood as well as mesh statistics

fields on all surfaces and the conformal reparametrization of all non planar surfaces The meshstatistics are as follows τ = 97 d4 = 91 dmax = 6 η = 095 ηw = 01 The mesh generatedby our approach for some of the planar and cylindrical surfaces of this particular geometry wasa structured mesh This happened however automatically without user interaction or internalheuristics of the mesher This explains the exceptionnaly high value of τ and η in this specificproblem

82 Falcon aircraft

As a second example the Falcon aircraft of Figure 17 is considered A surface mesh has beengenerated using a standard surface mesher whose triangles were patched together to create thecompounds of surfaces represented with different colors in the figure Each compound surfacehas been reparametrized separately by means of a conformal map created using the techniquesdescribed in [6 10 11 12] The mesh size field is composed of a uniform bulk size field δb = 01augmented with line and point sources at critical zones of the aircraft as depicted on Figure 17

The images of the different surfaces in their respective parameter plane can be seen onFigure 18 The resulting mesh is presented on Figure 19 The mesh is composed of 53297

Copyright c 2010 John Wiley amp Sons Ltd Int J Numer Meth Engng 2010 001ndash6Prepared using nmeauthcls

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Parametrizations of the surfaces of the Falcon aircraft in the uvplane

Falcon

Falcon

Falcon

Falcon

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alGeometrical Validity of Curvilinear Finite Elements IJNME Inpreparation 2011

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Roadmap for Gmsh 30

Complete re-build of the GUIUse Qt (a first demo version should be available in 2011)More flexibility reconfigurable GUI (OnleLab project) trueplugins remote control through sockets

Meshing capabilities enhancedCurvilinear meshes (p = 2 and p = 3 in 2011)Hex dominant meshing (DomHex project)Boundary layers (already ok for surface meshes) pyramids (evenfor high order)

Python API has to be cleaned and documented

  • History
  • Strategy
  • Research
    • Reparametrization
    • Quad meshing
    • Curvilinear meshing
      • Perspectives
Page 56: An Overview of the GMSH project

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Cross Fields

ycross

x

y

xcrossθ

The Linfin norm is not invariant by rotation rarr quads should beorientedA cross field (in 2D) is a scalar field θ(u) that gives theorientations of a local system of axis at point u in the parameterplaneThe local value of the cross field θ(uv) is defined only up torotations by π2 we choose to propagate

α(uv) = a(uv)+ ib(uv) = e4iθ(uv)

through a harmonic map

Perpendicular bisectors in the Linfin-norm

Lequiv y +(yo minusxp) = x

x

y

x2 = (xpyp)

(00)

α lt π4

(0xp minusyp)

x3 = (minusxp2xp minusyp)

x1 = (minusxpminusyp)

Bisector of two points x1 = (minusxpminusyp) and x2 = (xpyp) using theLinfin-norm

Circumcenter circumradius and circumcircle

ycross

x3

xcross

Ti

xcθ

R(T θ)

x1

x2

Circumcenter xc of a triangle using the Linfin-norm and circumcircle(red dotted square)

Delaunay and Voronoiuml

Voronoi diagram (dark lines) and Delaunay triangulation both in theLinfin norm

A frontal-Delaunay mesher in the Linfin-norm

The frontal-delaunay technique is based on

Rebay S Efficient unstructured mesh generation by means ofdelaunay triangulation and bowyer-watson algorithm Journal ofComputational Physics 1993 106(1)125ndash138

A frontal-Delaunay mesher in the Linfin-norm

Active

Edge of the front

Resolved

x1

Cn

Cl

L

x3 = (minusxpyp)

x2 = (xpminusyp)

x4

xc

xm

xl

xn

xe

x

y

Illustration of the point insertion algorithm

Car Hood

(a) (b) (c)Conformal reparametrization of a car hood Figure (a) shows the

CAD decomposition of the hood into 18 Beacutezier surfaces and the initialconforming mesh Figure (b) shows the result of the conformal

reparametrization ie isolines of u and v on the whole hood Figure(c) shows the projection of the initial mesh on the parameter plane u

Car Hood18 J-F REMACLE ET AL

(F) (FB) (FLB)

(D) (DB) (DLB)

N η ηw τ() d4() dmax

(FB) 1726 077 037 86 71 6(FLB) 1744 086 039 87 81 5(DB) 1527 090 037 93 81 5

(DLB) 1543 091 043 94 83 5

Figure 15 Pictures of different meshes of the car hood as well as mesh statistics

fields on all surfaces and the conformal reparametrization of all non planar surfaces The meshstatistics are as follows τ = 97 d4 = 91 dmax = 6 η = 095 ηw = 01 The mesh generatedby our approach for some of the planar and cylindrical surfaces of this particular geometry wasa structured mesh This happened however automatically without user interaction or internalheuristics of the mesher This explains the exceptionnaly high value of τ and η in this specificproblem

82 Falcon aircraft

As a second example the Falcon aircraft of Figure 17 is considered A surface mesh has beengenerated using a standard surface mesher whose triangles were patched together to create thecompounds of surfaces represented with different colors in the figure Each compound surfacehas been reparametrized separately by means of a conformal map created using the techniquesdescribed in [6 10 11 12] The mesh size field is composed of a uniform bulk size field δb = 01augmented with line and point sources at critical zones of the aircraft as depicted on Figure 17

The images of the different surfaces in their respective parameter plane can be seen onFigure 18 The resulting mesh is presented on Figure 19 The mesh is composed of 53297

Copyright c 2010 John Wiley amp Sons Ltd Int J Numer Meth Engng 2010 001ndash6Prepared using nmeauthcls

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Parametrizations of the surfaces of the Falcon aircraft in the uvplane

Falcon

Falcon

Falcon

Falcon

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alGeometrical Validity of Curvilinear Finite Elements IJNME Inpreparation 2011

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Roadmap for Gmsh 30

Complete re-build of the GUIUse Qt (a first demo version should be available in 2011)More flexibility reconfigurable GUI (OnleLab project) trueplugins remote control through sockets

Meshing capabilities enhancedCurvilinear meshes (p = 2 and p = 3 in 2011)Hex dominant meshing (DomHex project)Boundary layers (already ok for surface meshes) pyramids (evenfor high order)

Python API has to be cleaned and documented

  • History
  • Strategy
  • Research
    • Reparametrization
    • Quad meshing
    • Curvilinear meshing
      • Perspectives
Page 57: An Overview of the GMSH project

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Cross Fields

ycross

x

y

xcrossθ

The Linfin norm is not invariant by rotation rarr quads should beorientedA cross field (in 2D) is a scalar field θ(u) that gives theorientations of a local system of axis at point u in the parameterplaneThe local value of the cross field θ(uv) is defined only up torotations by π2 we choose to propagate

α(uv) = a(uv)+ ib(uv) = e4iθ(uv)

through a harmonic map

Perpendicular bisectors in the Linfin-norm

Lequiv y +(yo minusxp) = x

x

y

x2 = (xpyp)

(00)

α lt π4

(0xp minusyp)

x3 = (minusxp2xp minusyp)

x1 = (minusxpminusyp)

Bisector of two points x1 = (minusxpminusyp) and x2 = (xpyp) using theLinfin-norm

Circumcenter circumradius and circumcircle

ycross

x3

xcross

Ti

xcθ

R(T θ)

x1

x2

Circumcenter xc of a triangle using the Linfin-norm and circumcircle(red dotted square)

Delaunay and Voronoiuml

Voronoi diagram (dark lines) and Delaunay triangulation both in theLinfin norm

A frontal-Delaunay mesher in the Linfin-norm

The frontal-delaunay technique is based on

Rebay S Efficient unstructured mesh generation by means ofdelaunay triangulation and bowyer-watson algorithm Journal ofComputational Physics 1993 106(1)125ndash138

A frontal-Delaunay mesher in the Linfin-norm

Active

Edge of the front

Resolved

x1

Cn

Cl

L

x3 = (minusxpyp)

x2 = (xpminusyp)

x4

xc

xm

xl

xn

xe

x

y

Illustration of the point insertion algorithm

Car Hood

(a) (b) (c)Conformal reparametrization of a car hood Figure (a) shows the

CAD decomposition of the hood into 18 Beacutezier surfaces and the initialconforming mesh Figure (b) shows the result of the conformal

reparametrization ie isolines of u and v on the whole hood Figure(c) shows the projection of the initial mesh on the parameter plane u

Car Hood18 J-F REMACLE ET AL

(F) (FB) (FLB)

(D) (DB) (DLB)

N η ηw τ() d4() dmax

(FB) 1726 077 037 86 71 6(FLB) 1744 086 039 87 81 5(DB) 1527 090 037 93 81 5

(DLB) 1543 091 043 94 83 5

Figure 15 Pictures of different meshes of the car hood as well as mesh statistics

fields on all surfaces and the conformal reparametrization of all non planar surfaces The meshstatistics are as follows τ = 97 d4 = 91 dmax = 6 η = 095 ηw = 01 The mesh generatedby our approach for some of the planar and cylindrical surfaces of this particular geometry wasa structured mesh This happened however automatically without user interaction or internalheuristics of the mesher This explains the exceptionnaly high value of τ and η in this specificproblem

82 Falcon aircraft

As a second example the Falcon aircraft of Figure 17 is considered A surface mesh has beengenerated using a standard surface mesher whose triangles were patched together to create thecompounds of surfaces represented with different colors in the figure Each compound surfacehas been reparametrized separately by means of a conformal map created using the techniquesdescribed in [6 10 11 12] The mesh size field is composed of a uniform bulk size field δb = 01augmented with line and point sources at critical zones of the aircraft as depicted on Figure 17

The images of the different surfaces in their respective parameter plane can be seen onFigure 18 The resulting mesh is presented on Figure 19 The mesh is composed of 53297

Copyright c 2010 John Wiley amp Sons Ltd Int J Numer Meth Engng 2010 001ndash6Prepared using nmeauthcls

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Parametrizations of the surfaces of the Falcon aircraft in the uvplane

Falcon

Falcon

Falcon

Falcon

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alGeometrical Validity of Curvilinear Finite Elements IJNME Inpreparation 2011

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Roadmap for Gmsh 30

Complete re-build of the GUIUse Qt (a first demo version should be available in 2011)More flexibility reconfigurable GUI (OnleLab project) trueplugins remote control through sockets

Meshing capabilities enhancedCurvilinear meshes (p = 2 and p = 3 in 2011)Hex dominant meshing (DomHex project)Boundary layers (already ok for surface meshes) pyramids (evenfor high order)

Python API has to be cleaned and documented

  • History
  • Strategy
  • Research
    • Reparametrization
    • Quad meshing
    • Curvilinear meshing
      • Perspectives
Page 58: An Overview of the GMSH project

Distances and NormsIndirect approach a major problem

x1

a

xx2

4

a

1 2

3

(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral

triangles (a) or of right triangles (b)

The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a

radic2

Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to go edges at 45degree and -45 degree should havethe same sizeUse the Linfin-norm distance

x2 minusx1infin = limprarrinfinx2 minusx1p

= max (|x2 minusx1| |y2 minusy1|)

Cross Fields

ycross

x

y

xcrossθ

The Linfin norm is not invariant by rotation rarr quads should beorientedA cross field (in 2D) is a scalar field θ(u) that gives theorientations of a local system of axis at point u in the parameterplaneThe local value of the cross field θ(uv) is defined only up torotations by π2 we choose to propagate

α(uv) = a(uv)+ ib(uv) = e4iθ(uv)

through a harmonic map

Perpendicular bisectors in the Linfin-norm

Lequiv y +(yo minusxp) = x

x

y

x2 = (xpyp)

(00)

α lt π4

(0xp minusyp)

x3 = (minusxp2xp minusyp)

x1 = (minusxpminusyp)

Bisector of two points x1 = (minusxpminusyp) and x2 = (xpyp) using theLinfin-norm

Circumcenter circumradius and circumcircle

ycross

x3

xcross

Ti

xcθ

R(T θ)

x1

x2

Circumcenter xc of a triangle using the Linfin-norm and circumcircle(red dotted square)

Delaunay and Voronoiuml

Voronoi diagram (dark lines) and Delaunay triangulation both in theLinfin norm

A frontal-Delaunay mesher in the Linfin-norm

The frontal-delaunay technique is based on

Rebay S Efficient unstructured mesh generation by means ofdelaunay triangulation and bowyer-watson algorithm Journal ofComputational Physics 1993 106(1)125ndash138

A frontal-Delaunay mesher in the Linfin-norm

Active

Edge of the front

Resolved

x1

Cn

Cl

L

x3 = (minusxpyp)

x2 = (xpminusyp)

x4

xc

xm

xl

xn

xe

x

y

Illustration of the point insertion algorithm

Car Hood

(a) (b) (c)Conformal reparametrization of a car hood Figure (a) shows the

CAD decomposition of the hood into 18 Beacutezier surfaces and the initialconforming mesh Figure (b) shows the result of the conformal

reparametrization ie isolines of u and v on the whole hood Figure(c) shows the projection of the initial mesh on the parameter plane u

Car Hood18 J-F REMACLE ET AL

(F) (FB) (FLB)

(D) (DB) (DLB)

N η ηw τ() d4() dmax

(FB) 1726 077 037 86 71 6(FLB) 1744 086 039 87 81 5(DB) 1527 090 037 93 81 5

(DLB) 1543 091 043 94 83 5

Figure 15 Pictures of different meshes of the car hood as well as mesh statistics

fields on all surfaces and the conformal reparametrization of all non planar surfaces The meshstatistics are as follows τ = 97 d4 = 91 dmax = 6 η = 095 ηw = 01 The mesh generatedby our approach for some of the planar and cylindrical surfaces of this particular geometry wasa structured mesh This happened however automatically without user interaction or internalheuristics of the mesher This explains the exceptionnaly high value of τ and η in this specificproblem

82 Falcon aircraft

As a second example the Falcon aircraft of Figure 17 is considered A surface mesh has beengenerated using a standard surface mesher whose triangles were patched together to create thecompounds of surfaces represented with different colors in the figure Each compound surfacehas been reparametrized separately by means of a conformal map created using the techniquesdescribed in [6 10 11 12] The mesh size field is composed of a uniform bulk size field δb = 01augmented with line and point sources at critical zones of the aircraft as depicted on Figure 17

The images of the different surfaces in their respective parameter plane can be seen onFigure 18 The resulting mesh is presented on Figure 19 The mesh is composed of 53297

Copyright c 2010 John Wiley amp Sons Ltd Int J Numer Meth Engng 2010 001ndash6Prepared using nmeauthcls

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Parametrizations of the surfaces of the Falcon aircraft in the uvplane

Falcon

Falcon

Falcon

Falcon

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alGeometrical Validity of Curvilinear Finite Elements IJNME Inpreparation 2011

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Roadmap for Gmsh 30

Complete re-build of the GUIUse Qt (a first demo version should be available in 2011)More flexibility reconfigurable GUI (OnleLab project) trueplugins remote control through sockets

Meshing capabilities enhancedCurvilinear meshes (p = 2 and p = 3 in 2011)Hex dominant meshing (DomHex project)Boundary layers (already ok for surface meshes) pyramids (evenfor high order)

Python API has to be cleaned and documented

  • History
  • Strategy
  • Research
    • Reparametrization
    • Quad meshing
    • Curvilinear meshing
      • Perspectives
Page 59: An Overview of the GMSH project

Cross Fields

ycross

x

y

xcrossθ

The Linfin norm is not invariant by rotation rarr quads should beorientedA cross field (in 2D) is a scalar field θ(u) that gives theorientations of a local system of axis at point u in the parameterplaneThe local value of the cross field θ(uv) is defined only up torotations by π2 we choose to propagate

α(uv) = a(uv)+ ib(uv) = e4iθ(uv)

through a harmonic map

Perpendicular bisectors in the Linfin-norm

Lequiv y +(yo minusxp) = x

x

y

x2 = (xpyp)

(00)

α lt π4

(0xp minusyp)

x3 = (minusxp2xp minusyp)

x1 = (minusxpminusyp)

Bisector of two points x1 = (minusxpminusyp) and x2 = (xpyp) using theLinfin-norm

Circumcenter circumradius and circumcircle

ycross

x3

xcross

Ti

xcθ

R(T θ)

x1

x2

Circumcenter xc of a triangle using the Linfin-norm and circumcircle(red dotted square)

Delaunay and Voronoiuml

Voronoi diagram (dark lines) and Delaunay triangulation both in theLinfin norm

A frontal-Delaunay mesher in the Linfin-norm

The frontal-delaunay technique is based on

Rebay S Efficient unstructured mesh generation by means ofdelaunay triangulation and bowyer-watson algorithm Journal ofComputational Physics 1993 106(1)125ndash138

A frontal-Delaunay mesher in the Linfin-norm

Active

Edge of the front

Resolved

x1

Cn

Cl

L

x3 = (minusxpyp)

x2 = (xpminusyp)

x4

xc

xm

xl

xn

xe

x

y

Illustration of the point insertion algorithm

Car Hood

(a) (b) (c)Conformal reparametrization of a car hood Figure (a) shows the

CAD decomposition of the hood into 18 Beacutezier surfaces and the initialconforming mesh Figure (b) shows the result of the conformal

reparametrization ie isolines of u and v on the whole hood Figure(c) shows the projection of the initial mesh on the parameter plane u

Car Hood18 J-F REMACLE ET AL

(F) (FB) (FLB)

(D) (DB) (DLB)

N η ηw τ() d4() dmax

(FB) 1726 077 037 86 71 6(FLB) 1744 086 039 87 81 5(DB) 1527 090 037 93 81 5

(DLB) 1543 091 043 94 83 5

Figure 15 Pictures of different meshes of the car hood as well as mesh statistics

fields on all surfaces and the conformal reparametrization of all non planar surfaces The meshstatistics are as follows τ = 97 d4 = 91 dmax = 6 η = 095 ηw = 01 The mesh generatedby our approach for some of the planar and cylindrical surfaces of this particular geometry wasa structured mesh This happened however automatically without user interaction or internalheuristics of the mesher This explains the exceptionnaly high value of τ and η in this specificproblem

82 Falcon aircraft

As a second example the Falcon aircraft of Figure 17 is considered A surface mesh has beengenerated using a standard surface mesher whose triangles were patched together to create thecompounds of surfaces represented with different colors in the figure Each compound surfacehas been reparametrized separately by means of a conformal map created using the techniquesdescribed in [6 10 11 12] The mesh size field is composed of a uniform bulk size field δb = 01augmented with line and point sources at critical zones of the aircraft as depicted on Figure 17

The images of the different surfaces in their respective parameter plane can be seen onFigure 18 The resulting mesh is presented on Figure 19 The mesh is composed of 53297

Copyright c 2010 John Wiley amp Sons Ltd Int J Numer Meth Engng 2010 001ndash6Prepared using nmeauthcls

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Parametrizations of the surfaces of the Falcon aircraft in the uvplane

Falcon

Falcon

Falcon

Falcon

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alGeometrical Validity of Curvilinear Finite Elements IJNME Inpreparation 2011

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Roadmap for Gmsh 30

Complete re-build of the GUIUse Qt (a first demo version should be available in 2011)More flexibility reconfigurable GUI (OnleLab project) trueplugins remote control through sockets

Meshing capabilities enhancedCurvilinear meshes (p = 2 and p = 3 in 2011)Hex dominant meshing (DomHex project)Boundary layers (already ok for surface meshes) pyramids (evenfor high order)

Python API has to be cleaned and documented

  • History
  • Strategy
  • Research
    • Reparametrization
    • Quad meshing
    • Curvilinear meshing
      • Perspectives
Page 60: An Overview of the GMSH project

Perpendicular bisectors in the Linfin-norm

Lequiv y +(yo minusxp) = x

x

y

x2 = (xpyp)

(00)

α lt π4

(0xp minusyp)

x3 = (minusxp2xp minusyp)

x1 = (minusxpminusyp)

Bisector of two points x1 = (minusxpminusyp) and x2 = (xpyp) using theLinfin-norm

Circumcenter circumradius and circumcircle

ycross

x3

xcross

Ti

xcθ

R(T θ)

x1

x2

Circumcenter xc of a triangle using the Linfin-norm and circumcircle(red dotted square)

Delaunay and Voronoiuml

Voronoi diagram (dark lines) and Delaunay triangulation both in theLinfin norm

A frontal-Delaunay mesher in the Linfin-norm

The frontal-delaunay technique is based on

Rebay S Efficient unstructured mesh generation by means ofdelaunay triangulation and bowyer-watson algorithm Journal ofComputational Physics 1993 106(1)125ndash138

A frontal-Delaunay mesher in the Linfin-norm

Active

Edge of the front

Resolved

x1

Cn

Cl

L

x3 = (minusxpyp)

x2 = (xpminusyp)

x4

xc

xm

xl

xn

xe

x

y

Illustration of the point insertion algorithm

Car Hood

(a) (b) (c)Conformal reparametrization of a car hood Figure (a) shows the

CAD decomposition of the hood into 18 Beacutezier surfaces and the initialconforming mesh Figure (b) shows the result of the conformal

reparametrization ie isolines of u and v on the whole hood Figure(c) shows the projection of the initial mesh on the parameter plane u

Car Hood18 J-F REMACLE ET AL

(F) (FB) (FLB)

(D) (DB) (DLB)

N η ηw τ() d4() dmax

(FB) 1726 077 037 86 71 6(FLB) 1744 086 039 87 81 5(DB) 1527 090 037 93 81 5

(DLB) 1543 091 043 94 83 5

Figure 15 Pictures of different meshes of the car hood as well as mesh statistics

fields on all surfaces and the conformal reparametrization of all non planar surfaces The meshstatistics are as follows τ = 97 d4 = 91 dmax = 6 η = 095 ηw = 01 The mesh generatedby our approach for some of the planar and cylindrical surfaces of this particular geometry wasa structured mesh This happened however automatically without user interaction or internalheuristics of the mesher This explains the exceptionnaly high value of τ and η in this specificproblem

82 Falcon aircraft

As a second example the Falcon aircraft of Figure 17 is considered A surface mesh has beengenerated using a standard surface mesher whose triangles were patched together to create thecompounds of surfaces represented with different colors in the figure Each compound surfacehas been reparametrized separately by means of a conformal map created using the techniquesdescribed in [6 10 11 12] The mesh size field is composed of a uniform bulk size field δb = 01augmented with line and point sources at critical zones of the aircraft as depicted on Figure 17

The images of the different surfaces in their respective parameter plane can be seen onFigure 18 The resulting mesh is presented on Figure 19 The mesh is composed of 53297

Copyright c 2010 John Wiley amp Sons Ltd Int J Numer Meth Engng 2010 001ndash6Prepared using nmeauthcls

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Parametrizations of the surfaces of the Falcon aircraft in the uvplane

Falcon

Falcon

Falcon

Falcon

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alGeometrical Validity of Curvilinear Finite Elements IJNME Inpreparation 2011

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Roadmap for Gmsh 30

Complete re-build of the GUIUse Qt (a first demo version should be available in 2011)More flexibility reconfigurable GUI (OnleLab project) trueplugins remote control through sockets

Meshing capabilities enhancedCurvilinear meshes (p = 2 and p = 3 in 2011)Hex dominant meshing (DomHex project)Boundary layers (already ok for surface meshes) pyramids (evenfor high order)

Python API has to be cleaned and documented

  • History
  • Strategy
  • Research
    • Reparametrization
    • Quad meshing
    • Curvilinear meshing
      • Perspectives
Page 61: An Overview of the GMSH project

Circumcenter circumradius and circumcircle

ycross

x3

xcross

Ti

xcθ

R(T θ)

x1

x2

Circumcenter xc of a triangle using the Linfin-norm and circumcircle(red dotted square)

Delaunay and Voronoiuml

Voronoi diagram (dark lines) and Delaunay triangulation both in theLinfin norm

A frontal-Delaunay mesher in the Linfin-norm

The frontal-delaunay technique is based on

Rebay S Efficient unstructured mesh generation by means ofdelaunay triangulation and bowyer-watson algorithm Journal ofComputational Physics 1993 106(1)125ndash138

A frontal-Delaunay mesher in the Linfin-norm

Active

Edge of the front

Resolved

x1

Cn

Cl

L

x3 = (minusxpyp)

x2 = (xpminusyp)

x4

xc

xm

xl

xn

xe

x

y

Illustration of the point insertion algorithm

Car Hood

(a) (b) (c)Conformal reparametrization of a car hood Figure (a) shows the

CAD decomposition of the hood into 18 Beacutezier surfaces and the initialconforming mesh Figure (b) shows the result of the conformal

reparametrization ie isolines of u and v on the whole hood Figure(c) shows the projection of the initial mesh on the parameter plane u

Car Hood18 J-F REMACLE ET AL

(F) (FB) (FLB)

(D) (DB) (DLB)

N η ηw τ() d4() dmax

(FB) 1726 077 037 86 71 6(FLB) 1744 086 039 87 81 5(DB) 1527 090 037 93 81 5

(DLB) 1543 091 043 94 83 5

Figure 15 Pictures of different meshes of the car hood as well as mesh statistics

fields on all surfaces and the conformal reparametrization of all non planar surfaces The meshstatistics are as follows τ = 97 d4 = 91 dmax = 6 η = 095 ηw = 01 The mesh generatedby our approach for some of the planar and cylindrical surfaces of this particular geometry wasa structured mesh This happened however automatically without user interaction or internalheuristics of the mesher This explains the exceptionnaly high value of τ and η in this specificproblem

82 Falcon aircraft

As a second example the Falcon aircraft of Figure 17 is considered A surface mesh has beengenerated using a standard surface mesher whose triangles were patched together to create thecompounds of surfaces represented with different colors in the figure Each compound surfacehas been reparametrized separately by means of a conformal map created using the techniquesdescribed in [6 10 11 12] The mesh size field is composed of a uniform bulk size field δb = 01augmented with line and point sources at critical zones of the aircraft as depicted on Figure 17

The images of the different surfaces in their respective parameter plane can be seen onFigure 18 The resulting mesh is presented on Figure 19 The mesh is composed of 53297

Copyright c 2010 John Wiley amp Sons Ltd Int J Numer Meth Engng 2010 001ndash6Prepared using nmeauthcls

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Parametrizations of the surfaces of the Falcon aircraft in the uvplane

Falcon

Falcon

Falcon

Falcon

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alGeometrical Validity of Curvilinear Finite Elements IJNME Inpreparation 2011

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Roadmap for Gmsh 30

Complete re-build of the GUIUse Qt (a first demo version should be available in 2011)More flexibility reconfigurable GUI (OnleLab project) trueplugins remote control through sockets

Meshing capabilities enhancedCurvilinear meshes (p = 2 and p = 3 in 2011)Hex dominant meshing (DomHex project)Boundary layers (already ok for surface meshes) pyramids (evenfor high order)

Python API has to be cleaned and documented

  • History
  • Strategy
  • Research
    • Reparametrization
    • Quad meshing
    • Curvilinear meshing
      • Perspectives
Page 62: An Overview of the GMSH project

Delaunay and Voronoiuml

Voronoi diagram (dark lines) and Delaunay triangulation both in theLinfin norm

A frontal-Delaunay mesher in the Linfin-norm

The frontal-delaunay technique is based on

Rebay S Efficient unstructured mesh generation by means ofdelaunay triangulation and bowyer-watson algorithm Journal ofComputational Physics 1993 106(1)125ndash138

A frontal-Delaunay mesher in the Linfin-norm

Active

Edge of the front

Resolved

x1

Cn

Cl

L

x3 = (minusxpyp)

x2 = (xpminusyp)

x4

xc

xm

xl

xn

xe

x

y

Illustration of the point insertion algorithm

Car Hood

(a) (b) (c)Conformal reparametrization of a car hood Figure (a) shows the

CAD decomposition of the hood into 18 Beacutezier surfaces and the initialconforming mesh Figure (b) shows the result of the conformal

reparametrization ie isolines of u and v on the whole hood Figure(c) shows the projection of the initial mesh on the parameter plane u

Car Hood18 J-F REMACLE ET AL

(F) (FB) (FLB)

(D) (DB) (DLB)

N η ηw τ() d4() dmax

(FB) 1726 077 037 86 71 6(FLB) 1744 086 039 87 81 5(DB) 1527 090 037 93 81 5

(DLB) 1543 091 043 94 83 5

Figure 15 Pictures of different meshes of the car hood as well as mesh statistics

fields on all surfaces and the conformal reparametrization of all non planar surfaces The meshstatistics are as follows τ = 97 d4 = 91 dmax = 6 η = 095 ηw = 01 The mesh generatedby our approach for some of the planar and cylindrical surfaces of this particular geometry wasa structured mesh This happened however automatically without user interaction or internalheuristics of the mesher This explains the exceptionnaly high value of τ and η in this specificproblem

82 Falcon aircraft

As a second example the Falcon aircraft of Figure 17 is considered A surface mesh has beengenerated using a standard surface mesher whose triangles were patched together to create thecompounds of surfaces represented with different colors in the figure Each compound surfacehas been reparametrized separately by means of a conformal map created using the techniquesdescribed in [6 10 11 12] The mesh size field is composed of a uniform bulk size field δb = 01augmented with line and point sources at critical zones of the aircraft as depicted on Figure 17

The images of the different surfaces in their respective parameter plane can be seen onFigure 18 The resulting mesh is presented on Figure 19 The mesh is composed of 53297

Copyright c 2010 John Wiley amp Sons Ltd Int J Numer Meth Engng 2010 001ndash6Prepared using nmeauthcls

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Parametrizations of the surfaces of the Falcon aircraft in the uvplane

Falcon

Falcon

Falcon

Falcon

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alGeometrical Validity of Curvilinear Finite Elements IJNME Inpreparation 2011

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Roadmap for Gmsh 30

Complete re-build of the GUIUse Qt (a first demo version should be available in 2011)More flexibility reconfigurable GUI (OnleLab project) trueplugins remote control through sockets

Meshing capabilities enhancedCurvilinear meshes (p = 2 and p = 3 in 2011)Hex dominant meshing (DomHex project)Boundary layers (already ok for surface meshes) pyramids (evenfor high order)

Python API has to be cleaned and documented

  • History
  • Strategy
  • Research
    • Reparametrization
    • Quad meshing
    • Curvilinear meshing
      • Perspectives
Page 63: An Overview of the GMSH project

A frontal-Delaunay mesher in the Linfin-norm

The frontal-delaunay technique is based on

Rebay S Efficient unstructured mesh generation by means ofdelaunay triangulation and bowyer-watson algorithm Journal ofComputational Physics 1993 106(1)125ndash138

A frontal-Delaunay mesher in the Linfin-norm

Active

Edge of the front

Resolved

x1

Cn

Cl

L

x3 = (minusxpyp)

x2 = (xpminusyp)

x4

xc

xm

xl

xn

xe

x

y

Illustration of the point insertion algorithm

Car Hood

(a) (b) (c)Conformal reparametrization of a car hood Figure (a) shows the

CAD decomposition of the hood into 18 Beacutezier surfaces and the initialconforming mesh Figure (b) shows the result of the conformal

reparametrization ie isolines of u and v on the whole hood Figure(c) shows the projection of the initial mesh on the parameter plane u

Car Hood18 J-F REMACLE ET AL

(F) (FB) (FLB)

(D) (DB) (DLB)

N η ηw τ() d4() dmax

(FB) 1726 077 037 86 71 6(FLB) 1744 086 039 87 81 5(DB) 1527 090 037 93 81 5

(DLB) 1543 091 043 94 83 5

Figure 15 Pictures of different meshes of the car hood as well as mesh statistics

fields on all surfaces and the conformal reparametrization of all non planar surfaces The meshstatistics are as follows τ = 97 d4 = 91 dmax = 6 η = 095 ηw = 01 The mesh generatedby our approach for some of the planar and cylindrical surfaces of this particular geometry wasa structured mesh This happened however automatically without user interaction or internalheuristics of the mesher This explains the exceptionnaly high value of τ and η in this specificproblem

82 Falcon aircraft

As a second example the Falcon aircraft of Figure 17 is considered A surface mesh has beengenerated using a standard surface mesher whose triangles were patched together to create thecompounds of surfaces represented with different colors in the figure Each compound surfacehas been reparametrized separately by means of a conformal map created using the techniquesdescribed in [6 10 11 12] The mesh size field is composed of a uniform bulk size field δb = 01augmented with line and point sources at critical zones of the aircraft as depicted on Figure 17

The images of the different surfaces in their respective parameter plane can be seen onFigure 18 The resulting mesh is presented on Figure 19 The mesh is composed of 53297

Copyright c 2010 John Wiley amp Sons Ltd Int J Numer Meth Engng 2010 001ndash6Prepared using nmeauthcls

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Parametrizations of the surfaces of the Falcon aircraft in the uvplane

Falcon

Falcon

Falcon

Falcon

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alGeometrical Validity of Curvilinear Finite Elements IJNME Inpreparation 2011

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Roadmap for Gmsh 30

Complete re-build of the GUIUse Qt (a first demo version should be available in 2011)More flexibility reconfigurable GUI (OnleLab project) trueplugins remote control through sockets

Meshing capabilities enhancedCurvilinear meshes (p = 2 and p = 3 in 2011)Hex dominant meshing (DomHex project)Boundary layers (already ok for surface meshes) pyramids (evenfor high order)

Python API has to be cleaned and documented

  • History
  • Strategy
  • Research
    • Reparametrization
    • Quad meshing
    • Curvilinear meshing
      • Perspectives
Page 64: An Overview of the GMSH project

A frontal-Delaunay mesher in the Linfin-norm

Active

Edge of the front

Resolved

x1

Cn

Cl

L

x3 = (minusxpyp)

x2 = (xpminusyp)

x4

xc

xm

xl

xn

xe

x

y

Illustration of the point insertion algorithm

Car Hood

(a) (b) (c)Conformal reparametrization of a car hood Figure (a) shows the

CAD decomposition of the hood into 18 Beacutezier surfaces and the initialconforming mesh Figure (b) shows the result of the conformal

reparametrization ie isolines of u and v on the whole hood Figure(c) shows the projection of the initial mesh on the parameter plane u

Car Hood18 J-F REMACLE ET AL

(F) (FB) (FLB)

(D) (DB) (DLB)

N η ηw τ() d4() dmax

(FB) 1726 077 037 86 71 6(FLB) 1744 086 039 87 81 5(DB) 1527 090 037 93 81 5

(DLB) 1543 091 043 94 83 5

Figure 15 Pictures of different meshes of the car hood as well as mesh statistics

fields on all surfaces and the conformal reparametrization of all non planar surfaces The meshstatistics are as follows τ = 97 d4 = 91 dmax = 6 η = 095 ηw = 01 The mesh generatedby our approach for some of the planar and cylindrical surfaces of this particular geometry wasa structured mesh This happened however automatically without user interaction or internalheuristics of the mesher This explains the exceptionnaly high value of τ and η in this specificproblem

82 Falcon aircraft

As a second example the Falcon aircraft of Figure 17 is considered A surface mesh has beengenerated using a standard surface mesher whose triangles were patched together to create thecompounds of surfaces represented with different colors in the figure Each compound surfacehas been reparametrized separately by means of a conformal map created using the techniquesdescribed in [6 10 11 12] The mesh size field is composed of a uniform bulk size field δb = 01augmented with line and point sources at critical zones of the aircraft as depicted on Figure 17

The images of the different surfaces in their respective parameter plane can be seen onFigure 18 The resulting mesh is presented on Figure 19 The mesh is composed of 53297

Copyright c 2010 John Wiley amp Sons Ltd Int J Numer Meth Engng 2010 001ndash6Prepared using nmeauthcls

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Parametrizations of the surfaces of the Falcon aircraft in the uvplane

Falcon

Falcon

Falcon

Falcon

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alGeometrical Validity of Curvilinear Finite Elements IJNME Inpreparation 2011

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Roadmap for Gmsh 30

Complete re-build of the GUIUse Qt (a first demo version should be available in 2011)More flexibility reconfigurable GUI (OnleLab project) trueplugins remote control through sockets

Meshing capabilities enhancedCurvilinear meshes (p = 2 and p = 3 in 2011)Hex dominant meshing (DomHex project)Boundary layers (already ok for surface meshes) pyramids (evenfor high order)

Python API has to be cleaned and documented

  • History
  • Strategy
  • Research
    • Reparametrization
    • Quad meshing
    • Curvilinear meshing
      • Perspectives
Page 65: An Overview of the GMSH project

Car Hood

(a) (b) (c)Conformal reparametrization of a car hood Figure (a) shows the

CAD decomposition of the hood into 18 Beacutezier surfaces and the initialconforming mesh Figure (b) shows the result of the conformal

reparametrization ie isolines of u and v on the whole hood Figure(c) shows the projection of the initial mesh on the parameter plane u

Car Hood18 J-F REMACLE ET AL

(F) (FB) (FLB)

(D) (DB) (DLB)

N η ηw τ() d4() dmax

(FB) 1726 077 037 86 71 6(FLB) 1744 086 039 87 81 5(DB) 1527 090 037 93 81 5

(DLB) 1543 091 043 94 83 5

Figure 15 Pictures of different meshes of the car hood as well as mesh statistics

fields on all surfaces and the conformal reparametrization of all non planar surfaces The meshstatistics are as follows τ = 97 d4 = 91 dmax = 6 η = 095 ηw = 01 The mesh generatedby our approach for some of the planar and cylindrical surfaces of this particular geometry wasa structured mesh This happened however automatically without user interaction or internalheuristics of the mesher This explains the exceptionnaly high value of τ and η in this specificproblem

82 Falcon aircraft

As a second example the Falcon aircraft of Figure 17 is considered A surface mesh has beengenerated using a standard surface mesher whose triangles were patched together to create thecompounds of surfaces represented with different colors in the figure Each compound surfacehas been reparametrized separately by means of a conformal map created using the techniquesdescribed in [6 10 11 12] The mesh size field is composed of a uniform bulk size field δb = 01augmented with line and point sources at critical zones of the aircraft as depicted on Figure 17

The images of the different surfaces in their respective parameter plane can be seen onFigure 18 The resulting mesh is presented on Figure 19 The mesh is composed of 53297

Copyright c 2010 John Wiley amp Sons Ltd Int J Numer Meth Engng 2010 001ndash6Prepared using nmeauthcls

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Parametrizations of the surfaces of the Falcon aircraft in the uvplane

Falcon

Falcon

Falcon

Falcon

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alGeometrical Validity of Curvilinear Finite Elements IJNME Inpreparation 2011

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Roadmap for Gmsh 30

Complete re-build of the GUIUse Qt (a first demo version should be available in 2011)More flexibility reconfigurable GUI (OnleLab project) trueplugins remote control through sockets

Meshing capabilities enhancedCurvilinear meshes (p = 2 and p = 3 in 2011)Hex dominant meshing (DomHex project)Boundary layers (already ok for surface meshes) pyramids (evenfor high order)

Python API has to be cleaned and documented

  • History
  • Strategy
  • Research
    • Reparametrization
    • Quad meshing
    • Curvilinear meshing
      • Perspectives
Page 66: An Overview of the GMSH project

Car Hood18 J-F REMACLE ET AL

(F) (FB) (FLB)

(D) (DB) (DLB)

N η ηw τ() d4() dmax

(FB) 1726 077 037 86 71 6(FLB) 1744 086 039 87 81 5(DB) 1527 090 037 93 81 5

(DLB) 1543 091 043 94 83 5

Figure 15 Pictures of different meshes of the car hood as well as mesh statistics

fields on all surfaces and the conformal reparametrization of all non planar surfaces The meshstatistics are as follows τ = 97 d4 = 91 dmax = 6 η = 095 ηw = 01 The mesh generatedby our approach for some of the planar and cylindrical surfaces of this particular geometry wasa structured mesh This happened however automatically without user interaction or internalheuristics of the mesher This explains the exceptionnaly high value of τ and η in this specificproblem

82 Falcon aircraft

As a second example the Falcon aircraft of Figure 17 is considered A surface mesh has beengenerated using a standard surface mesher whose triangles were patched together to create thecompounds of surfaces represented with different colors in the figure Each compound surfacehas been reparametrized separately by means of a conformal map created using the techniquesdescribed in [6 10 11 12] The mesh size field is composed of a uniform bulk size field δb = 01augmented with line and point sources at critical zones of the aircraft as depicted on Figure 17

The images of the different surfaces in their respective parameter plane can be seen onFigure 18 The resulting mesh is presented on Figure 19 The mesh is composed of 53297

Copyright c 2010 John Wiley amp Sons Ltd Int J Numer Meth Engng 2010 001ndash6Prepared using nmeauthcls

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Parametrizations of the surfaces of the Falcon aircraft in the uvplane

Falcon

Falcon

Falcon

Falcon

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alGeometrical Validity of Curvilinear Finite Elements IJNME Inpreparation 2011

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Roadmap for Gmsh 30

Complete re-build of the GUIUse Qt (a first demo version should be available in 2011)More flexibility reconfigurable GUI (OnleLab project) trueplugins remote control through sockets

Meshing capabilities enhancedCurvilinear meshes (p = 2 and p = 3 in 2011)Hex dominant meshing (DomHex project)Boundary layers (already ok for surface meshes) pyramids (evenfor high order)

Python API has to be cleaned and documented

  • History
  • Strategy
  • Research
    • Reparametrization
    • Quad meshing
    • Curvilinear meshing
      • Perspectives
Page 67: An Overview of the GMSH project

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Parametrizations of the surfaces of the Falcon aircraft in the uvplane

Falcon

Falcon

Falcon

Falcon

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alGeometrical Validity of Curvilinear Finite Elements IJNME Inpreparation 2011

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Roadmap for Gmsh 30

Complete re-build of the GUIUse Qt (a first demo version should be available in 2011)More flexibility reconfigurable GUI (OnleLab project) trueplugins remote control through sockets

Meshing capabilities enhancedCurvilinear meshes (p = 2 and p = 3 in 2011)Hex dominant meshing (DomHex project)Boundary layers (already ok for surface meshes) pyramids (evenfor high order)

Python API has to be cleaned and documented

  • History
  • Strategy
  • Research
    • Reparametrization
    • Quad meshing
    • Curvilinear meshing
      • Perspectives
Page 68: An Overview of the GMSH project

Falcon

Surface triangular mesh of a Falcon aircraft (left) and contour lines ofthe conformal parametrizations (right) Colors are indicative of the

different surfaces of the model

Falcon

Parametrizations of the surfaces of the Falcon aircraft in the uvplane

Falcon

Falcon

Falcon

Falcon

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alGeometrical Validity of Curvilinear Finite Elements IJNME Inpreparation 2011

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Roadmap for Gmsh 30

Complete re-build of the GUIUse Qt (a first demo version should be available in 2011)More flexibility reconfigurable GUI (OnleLab project) trueplugins remote control through sockets

Meshing capabilities enhancedCurvilinear meshes (p = 2 and p = 3 in 2011)Hex dominant meshing (DomHex project)Boundary layers (already ok for surface meshes) pyramids (evenfor high order)

Python API has to be cleaned and documented

  • History
  • Strategy
  • Research
    • Reparametrization
    • Quad meshing
    • Curvilinear meshing
      • Perspectives
Page 69: An Overview of the GMSH project

Falcon

Parametrizations of the surfaces of the Falcon aircraft in the uvplane

Falcon

Falcon

Falcon

Falcon

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alGeometrical Validity of Curvilinear Finite Elements IJNME Inpreparation 2011

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Roadmap for Gmsh 30

Complete re-build of the GUIUse Qt (a first demo version should be available in 2011)More flexibility reconfigurable GUI (OnleLab project) trueplugins remote control through sockets

Meshing capabilities enhancedCurvilinear meshes (p = 2 and p = 3 in 2011)Hex dominant meshing (DomHex project)Boundary layers (already ok for surface meshes) pyramids (evenfor high order)

Python API has to be cleaned and documented

  • History
  • Strategy
  • Research
    • Reparametrization
    • Quad meshing
    • Curvilinear meshing
      • Perspectives
Page 70: An Overview of the GMSH project

Falcon

Falcon

Falcon

Falcon

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alGeometrical Validity of Curvilinear Finite Elements IJNME Inpreparation 2011

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Roadmap for Gmsh 30

Complete re-build of the GUIUse Qt (a first demo version should be available in 2011)More flexibility reconfigurable GUI (OnleLab project) trueplugins remote control through sockets

Meshing capabilities enhancedCurvilinear meshes (p = 2 and p = 3 in 2011)Hex dominant meshing (DomHex project)Boundary layers (already ok for surface meshes) pyramids (evenfor high order)

Python API has to be cleaned and documented

  • History
  • Strategy
  • Research
    • Reparametrization
    • Quad meshing
    • Curvilinear meshing
      • Perspectives
Page 71: An Overview of the GMSH project

Falcon

Falcon

Falcon

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alGeometrical Validity of Curvilinear Finite Elements IJNME Inpreparation 2011

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Roadmap for Gmsh 30

Complete re-build of the GUIUse Qt (a first demo version should be available in 2011)More flexibility reconfigurable GUI (OnleLab project) trueplugins remote control through sockets

Meshing capabilities enhancedCurvilinear meshes (p = 2 and p = 3 in 2011)Hex dominant meshing (DomHex project)Boundary layers (already ok for surface meshes) pyramids (evenfor high order)

Python API has to be cleaned and documented

  • History
  • Strategy
  • Research
    • Reparametrization
    • Quad meshing
    • Curvilinear meshing
      • Perspectives
Page 72: An Overview of the GMSH project

Falcon

Falcon

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alGeometrical Validity of Curvilinear Finite Elements IJNME Inpreparation 2011

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Roadmap for Gmsh 30

Complete re-build of the GUIUse Qt (a first demo version should be available in 2011)More flexibility reconfigurable GUI (OnleLab project) trueplugins remote control through sockets

Meshing capabilities enhancedCurvilinear meshes (p = 2 and p = 3 in 2011)Hex dominant meshing (DomHex project)Boundary layers (already ok for surface meshes) pyramids (evenfor high order)

Python API has to be cleaned and documented

  • History
  • Strategy
  • Research
    • Reparametrization
    • Quad meshing
    • Curvilinear meshing
      • Perspectives
Page 73: An Overview of the GMSH project

Falcon

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alGeometrical Validity of Curvilinear Finite Elements IJNME Inpreparation 2011

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Roadmap for Gmsh 30

Complete re-build of the GUIUse Qt (a first demo version should be available in 2011)More flexibility reconfigurable GUI (OnleLab project) trueplugins remote control through sockets

Meshing capabilities enhancedCurvilinear meshes (p = 2 and p = 3 in 2011)Hex dominant meshing (DomHex project)Boundary layers (already ok for surface meshes) pyramids (evenfor high order)

Python API has to be cleaned and documented

  • History
  • Strategy
  • Research
    • Reparametrization
    • Quad meshing
    • Curvilinear meshing
      • Perspectives
Page 74: An Overview of the GMSH project

Research and developpement in GmshNew stuff in Gmsh

Remeshing surfaces with parametrizationsHigh ordercurvilinear meshesQuad and Hex meshing

References

J-F Remacle et alGeometrical Validity of Curvilinear Finite Elements IJNME Inpreparation 2011

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Roadmap for Gmsh 30

Complete re-build of the GUIUse Qt (a first demo version should be available in 2011)More flexibility reconfigurable GUI (OnleLab project) trueplugins remote control through sockets

Meshing capabilities enhancedCurvilinear meshes (p = 2 and p = 3 in 2011)Hex dominant meshing (DomHex project)Boundary layers (already ok for surface meshes) pyramids (evenfor high order)

Python API has to be cleaned and documented

  • History
  • Strategy
  • Research
    • Reparametrization
    • Quad meshing
    • Curvilinear meshing
      • Perspectives
Page 75: An Overview of the GMSH project

Outline

1 History

2 Strategy

3 ResearchReparametrizationQuad meshingCurvilinear meshing

4 Perspectives

Roadmap for Gmsh 30

Complete re-build of the GUIUse Qt (a first demo version should be available in 2011)More flexibility reconfigurable GUI (OnleLab project) trueplugins remote control through sockets

Meshing capabilities enhancedCurvilinear meshes (p = 2 and p = 3 in 2011)Hex dominant meshing (DomHex project)Boundary layers (already ok for surface meshes) pyramids (evenfor high order)

Python API has to be cleaned and documented

  • History
  • Strategy
  • Research
    • Reparametrization
    • Quad meshing
    • Curvilinear meshing
      • Perspectives
Page 76: An Overview of the GMSH project

Roadmap for Gmsh 30

Complete re-build of the GUIUse Qt (a first demo version should be available in 2011)More flexibility reconfigurable GUI (OnleLab project) trueplugins remote control through sockets

Meshing capabilities enhancedCurvilinear meshes (p = 2 and p = 3 in 2011)Hex dominant meshing (DomHex project)Boundary layers (already ok for surface meshes) pyramids (evenfor high order)

Python API has to be cleaned and documented

  • History
  • Strategy
  • Research
    • Reparametrization
    • Quad meshing
    • Curvilinear meshing
      • Perspectives