Meshgeneration Slides
Meshgeneration Slides
Per-Olof Persson
[email protected]
Department of Mathematics
University of California, Berkeley
O-Grid C-Grid
H-Grids
. . . plus combinations
Examples: Single-Block O-Grids
Examples: Single-Block C,H-Grids
Examples: H-Grids
H-Grid H-Grid/I-Grid
Multi-Block Grid Generation
Automatic H ⇒ O conversion
Block Topology Generators - Medial Axis Transform
(MAT)
Single Block Grid Generation - Creating the Mapping
Conformal Mapping
Transfinite Interpolation
Solving PDE’s
Elliptic
Parabolic/Hyperbolic
Conformal Mapping
df
Any function α = f (z) such that 6= 0 defines a one-to-one
dz
(conformal) mapping between z = x + iy and α = ξ + iη, or
between (x, y) and (ξ, η).
The functions ξ(x, y) and η(x, y) satisfy the Cauchy-
Riemann equations (e.g. ξx = ηy , and ηx = −ξy ) and as a
consequence, they are harmonic
∇2 ξ = 0, ∇2 η = 0 (smoothness)
Karman-Trefftz n
α + 2c z+c
=
α − 2c z−c
Schwarz-Christoffel (maps polygon into half plane)
n
z βk
dα Y
=K 1−
dz zk
k=1
Conformal Mapping - Schwarz-Christoffel
Hermite interpolation - P = 1, L = 2
η η
y
R(0,η)
R(x,0)
R(1,η)
R(x,0)
ξ ξ
x
Πx R = (1 − ξ)R(0, η) + ξR(1, η)
Πη R = (1 − η)R(ξ, 0) + ηR(ξ, 1)
Algebraic Mappings - Transfinite Interpolation
Expanding
R(0, η) 1−η
R̂(ξ, η) = (1−ξ, ξ) +(R(ξ, 0), R(ξ, 1))
R(1, η) η
R(0, 0) R(0, 1) 1−η
−(1 − ξ, ξ)
R(1, 0) R(1, η) η
Extends to general 1D interpolants and any dimension
Algebraic Mappings - Example
Algebraic Mappings - Example
Πξ R Πη R
(Πξ ⊕ Πη )R
Algebraic Mappings - Grid Control
xξ yη − xη yξ = J (size control)
xξ xη + yξ yη = 0 (orthogonality)
−∇2 ξ = P in Ω
ξ = g on ΓD
∂ξ
= h on ΓN = Γ\ΓD
∂n
where P , g, and h are given.
x = x(ξ, η)
y = y(ξ, η)
−→
? ? ∇2 ξ = P
Can we determine an equivalent problem to be solved on Ω̂?
Elliptic Grid Generation
ξ = ξ(x, y) x = x(ξ, η)
η = η(x, y) y = y(ξ, η)
! ! ! ! ! !
dξ ξx ξy dx dx xξ xη dξ
= =
dη ηx ηy dy dy yξ yη dη
! !−1 !
ξx ξy xξ xη 1 yη −xη
⇒ = =
ηx ξy yξ yη J −yξ xξ
J = xξ yη − xη yξ
Elliptic Grid Generation
yη x
ξx = J ξy = − Jη
y xξ
ηx = − Jξ ηy = J
∂ ∂ ∂ yη
and ξxx = (ξx ) = ξx + ηx
∂x ∂ξ
∂η J
1 ∂ ∂ yη
= yη − yξ
J ∂ξ ∂η J
= ...
ξyy = . . .
Elliptic Grid Generation - Thompson’s Equations
f (x,y)<0
Delaunay refinement
Refine an initial triangulation by inserting centroid points and
updating connectivities
Efficient and robust, provably good in 2-D
Advancing front
Propagate a layer of elements from boundaries into domain,
stitch together at intersection
High quality meshes, good for boundary layers, but somewhat
unreliable in 3-D
Unstructured Meshing Algorithms
Octree mesh
Create an octree, refine until geometry well resolved, form
elements between cell intersections
Guaranteed quality even in 3-D, but poor element qualities
DistMesh
Improve initial triangulation by node movements and
connectivity updates
Easy to understand and use, handles implicit geometries, high
element qualities, but non-robust and low performance
Delaunay Triangulation
Empty circumcircle
Non-conforming triangles
Algorithm:
Form initial triangulation using boundary points and outer box
Replace an undesired element (bad or large) by inserting its
circumcenter, retriangulate and repeat until mesh is good
Will converge with high element qualities in 2-D
Very fast – time almost linear in number of nodes
The Advancing Front Method
New element
New element
Overlay domain with regular grid, crop and warp edge points
to boundary
A point-source
F5
Repulsive forces depending on
F
3
edge length ` and equilibrium
F6 length `0 :
F2
F
(
F
1
4
k(`0 − `) if ` < `0 ,
|F | =
0 if ` ≥ `0 .