an overview of the gmsh project
TRANSCRIPT
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
Indirect approach an obvious problem
Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with
squaresSo even though it is always possible to build a mesh made 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
-
Indirect approach an obvious problem
Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with
squaresSo even though it is always possible to build a mesh made 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
-
Indirect approach an obvious problem
Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with
squaresSo even though it is always possible to build a mesh made 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
-
Indirect approach an obvious problem
Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with
squaresSo even though it is always possible to build a mesh made 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
-
Indirect approach an obvious problem
Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with
squaresSo even though it is always possible to build a mesh made 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
-
Indirect approach an obvious problem
Consider a uniform mesh of R2 made of equilateral triangles ofsize aThe Voronoi cell relative to each vertex of this mesh is anhexagon of area a2radic32 The number 2(a2radic3) is the number ofpoints per unit of surface of this meshAssume now a uniform mesh of R2 made of squares of size aThe Voronoi cell relative to each vertex of this mesh is a squareof area a2This means that filling R2 with equilateral triangles requires2radic3 times more vertices than filling the same space with
squaresSo even though it is always possible to build a mesh made 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
-
Distances and NormsIndirect approach a major problem
x1
a
xx2
4
a
1 2
3
(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral
triangles (a) or of right triangles (b)
The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a
radic2
Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to 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
-
Distances and NormsIndirect approach a major problem
x1
a
xx2
4
a
1 2
3
(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral
triangles (a) or of right triangles (b)
The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a
radic2
Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to 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
-
Distances and NormsIndirect approach a major problem
x1
a
xx2
4
a
1 2
3
(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral
triangles (a) or of right triangles (b)
The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a
radic2
Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to 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
-
Distances and NormsIndirect approach a major problem
x1
a
xx2
4
a
1 2
3
(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral
triangles (a) or of right triangles (b)
The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a
radic2
Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to 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
-
Distances and NormsIndirect approach a major problem
x1
a
xx2
4
a
1 2
3
(a) (b)Voronoi cells of one vertex that belongs either to mesh of a equilateral
triangles (a) or of right triangles (b)
The equilateral mesh has all its edgesof size a in the Euclidian normThe mesh made of right triangles hasrdquolongrdquo edges of size a
radic2
Find out a way to measure distancesin a way that all edges of the righttriangles are of size aOne could think of using standardmetric techniques Yet this is notthe right way to 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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-