Title: Lagrangian Surface Propagation
1Lagrangian Surface Propagation
- John C. Hart
- Xiangmin (Jim) Jiao
- Michael Heath
- University of Illinois,Urbana-Champaign
- John Sullivan
- TU Berlin
2Surface Propagation
- Surface/curve x(u,t) evolution
- Evolution direction is normal n(u)
- Evolution controlled by a speed function
f(u,x,k,t,) - ?x(u,t)/?t f() n(u)
- Why do this?
3Applications
- Component of physical simulations
- Solidification
- Extrusion
- Multiphase flow
- Fluid-solid interaction (our favorite)
- Also used for...
- Modeling (blending)
- Animation (morphing, fire, water)
- Vision, IP, Robotics, VLSI
- Books by Sethian and by Fedkiw Osher loaded
with apps
CSAR
Museth, Breen,Whitaker, Barr
Fedkiw
4Level Sets
- Evolve a voxelized implicit surface
- Automatic Topology
- Isosurface ft-1(0) manifold when 0 regular value
(and it almost always is), so no self
intersection - Entropy-preserving shocks
- No swallowtails (see above)
- Well-studied numerical foundation
- Level set equations belong to well known
Hamilton-Jacobi equations - But level sets have drawbacks too
5Memory Consumption
- Level set equations for surface propagation
solved over (entire) embedding space - Narrow-band method restricts computation to grid
points near surface - Fast marching method evaluates
- t(x) t f(x,t) 0
- Limited to surfaces that only grow (or shrink)
- But were only really interested in the surface
6Fixed Resolution
- Eulerian approach discretized space into a
uniform rectilinear grid for numerical
stability, efficient isosurfacing and topological
simplicity - Physical apps have smooth interfaces with sparse
localized fine details - Eulerian grid must be fine everywhere to resolve
features, which wastes space - Recent hierarchical methods (Strain quadtree,
Fedkiw octree)
7Lagrangian Benefits
- Lagrangian surface propagation would use an
efficient surface mesh, not a wasteful space mesh - This mesh could adapt, refined in areas of high
curvature or computational interest - Surface mesh would signal when a topology change
was needed, or needed to be prevented - Surface mesh would provide more accurately
estimate volume
!
8Lagrangian Mesh Propagation
Applied to Multiphysics Simulations
Simulation of Space Shuttle solid rocket booster
Full burn of star grain
9Major Ingredients and Progress
- Geometric construction
- Numerical computation
- Mesh quality control
- Mesh optimization and global remeshing
- Local mesh adaptivity
- Implementation
- Software infrastructure
- Parallel algorithms
- Integration with physics codes
10Geometric Construction in 2-D
- Moves nodes by offsetting incident edges
- Approximates Huygens principle
- Treats shocks, rarefactions and saddles
differently - Different from marker-particle methods
- Node redistribution by minimizing quadric error
rarefaction
saddle
shock
11Geometric Construction in 3-D
- Decompose motion of edges
- Edge motion within normal plane
- Edge motion along tangential direction
- Node motion by weighted averaging
12Error Analysis
- Translation w/ unit speed
- Level set
- Lagrangian
- Superlinear convergence
13Rotation of Ellipse
- Governing equation
- Superlinear convergence
14Propagation under Constraints
- Part of interface may be constrained
- Enforced automatically by setting speed to zero
along constrained patch
15Six Types of Corners in 3-D
- All propagated accurately
- Colors indicate magnitude of displacements
16Surface Mesh Smoother
- Optimization-based smoother
- Optimizes algebraic or geometric quality measures
- Projection by minimizes quadric error metric
- Singularity aware
- Preserves ridges and corners
- Avoids pollution errors at rarefactions
17Detection of Ridges and Corners
- Curve-oriented detect curves in decreasing order
of strongness - Criteria for strong curves
- Face and turning angles, angle defect
- url-thresholding (Upper bound, signal/noise
Ratio, and Lower bound) - Filtration rules for false strong curves short
or close to stronger
Model courtesy of CAT.
18Propagation in 3-D
Walk-back of ACM Rocket.
19Implementation in 3-D
- Software infrastructure
- Array-based halfedge data structure
- Parallel communication
- Next step
- More accurate handling of rarefactions through
local mesh adaptivity - Topological changes
- Coupling with physics codes
20Procedural Level Sets
- Work with Michael Mullan (Illinois student) and
Ross Whitaker (Utah) - Level set method based on Eulerian grid of n3
voxels - Reconstructed surface can be considered an
implicit surface with n3 parameters - Level set motion derived in terms of df/dt the
change in voxel values - What about implicit representations other than
voxel grids?
21Parameterized Implicits
x1
f10
r
(a,b)
x2
f30
f20
x3
- Let fi f(xiq)
- q (qj) is a vector of shape parameters
- Shape corresponding to parameters q represented
by the isosurface - x f(xq) 0
- Assume f(x) lt 0 ? x inside isosurf.
- Surface normal in direction of gradient
- N(x) ?f / ?f
Circle example f(xq) (x-a)2 (y-b)2 r2 x
(x,y), q (a,b,r)
r
b
a
22Isosurface Particles
f1(0) 0 f1(1)
x1(0)
x1(1)
4
3
x2(1)
- Assume fi(t) f(xi(t)q(t)) 0 ?? xi
- Q What functions xi(t), q(t) keep it so?
- A Ones that satisfy, for all i,
- fi?(t) df(xi(t)q(t))/dt 0
- where
- df(xiq)/dt dfi/dx ? dxi/dt dfi/dq ? dq/dt
- ?fi ? vi dfi/dq ? q?
x2(0)
(4,0)
(0,0)
x3(1)
x3(0)
q(0) (0,0,4)
q(1) (4,0,3)
t
x
23Particles on Surface
x1
?f1
x2
?f2
- Q How do particles move to adhere to a evolving
surf.? - A Adjust vi to accommodate q?
- ?fi ? vi dfi/dq ? q? 0
- Any of part. vels. vi when dotted with ?fi
cancel dfi/dq ? q? - Find vi that move particles least
- Move particles in ?fi direction to get greatest
change in value with least change in position - Let vi li ?fi
- Then ?fi ? li ?fi dfi/dq ? q? 0
- So Thus
?f3
x3
24Surface Thru Particles
x1
x2(1)
v2
x2(0)
?f2
- Q How to evolve surf. to pass thru particles?
- A Adjust q? to accomodate vi
- ?fi ? vi dfi/dq ? q? 0
- Need max change in f with min change in q
- So move in param. gradient dfi/dq dir.
- But fi changes differently at different parts.
- Answer is weighted sum of q-gradients at each
particle position xj - q? S lj dfj/dq
- Which yields for each particle xi
- df(xi)/dx ? vi df(xi)/dq ? Sjlj df(xj)/dq 0
- Leading to the Axb system
- Sj df(xi)/dq ? df(xj)/dq lj -df(xi)/dx ? vi
x3
q?
25(No Transcript)
26Level Sets
ft1-1(0)
x(1)
ft2-1(0)
f1 gt 0 f2 lt 0
- Time varying implicit surface
- ft-1(0) x f(x,t) 0
- Let x(t) be a surface point at time t
- f(x(t),t) 0
- Time derivative leads to field motion
- df(x,t)/dx dx/dt df(x,t)/dt 0
- df(x,t)/dt -?ft(x) ? x(t)
- Change in function value changes by its gradient
magnitude scaled by speed function f(x) - df(x,t)/dt -f(x) ?ft(x)
x(2)
f1(x)
x(1)
?ft(x)
f2(x)
x(2)
27Derivation
xi(1)
xi(0)
f(x,0)0
- Level set propagation of a single point on the
evolving surface - Witkin-Heckbert 94
- f(x,q) 0, q parameter vector
- Constrain motion of floater particle xi to
adhere to surface - How can we connect the speed function to the
parameterization velocity?
f(x,1)0
28Juxtaposition
- From level sets
- From Witkin-Heckbert
- Stan Jamie, meet Andy Paul
- Now bring in the speed function
- Yielding
29Solution
- Solve via least squares optimization
- Matrix ?qfij(t) is rank deficient
- n floaters interrogating surface
- m parameters (m ltlt n)
- Compute SVD to find m floater particles that
combine to yield change in parameterization under
speed func. - These floater subsets change during evolution
30Algebraic Surface Fitting
- Scattered data fitting
- d(x) vector to nearest data point
- f(x) ?f(x)?? d(x)
- Algebraics
- q algebraic coefficents
- Sphere to teapot
- quartic fit of teapot bowl
31Radial Basis Functions
- Minimal variation function whose implicit surface
passes through target points - Use dipoles for normal control
- pairs of target points with target values ?e
around desired surface - Requires derivation of dipole propagation under
sphere function - Adaptively add dipoles in areas of high curvature
(as detected by floater particles) and remove
redundant dipoles
32(No Transcript)
33(No Transcript)
34(No Transcript)
35(No Transcript)
36(No Transcript)
37(No Transcript)
38(No Transcript)
39(No Transcript)
40(No Transcript)
41(No Transcript)
42(No Transcript)
43(No Transcript)
44(No Transcript)
45(No Transcript)