Spring 2009 For information about citing these materials ... · – James A. Sethian. Level set...
Transcript of Spring 2009 For information about citing these materials ... · – James A. Sethian. Level set...
![Page 1: Spring 2009 For information about citing these materials ... · – James A. Sethian. Level set methods and fast marching methods. Cambridge University Press, Cambridge, second edition,](https://reader034.fdocuments.us/reader034/viewer/2022042315/5f039a177e708231d409dc75/html5/thumbnails/1.jpg)
MIT OpenCourseWare http://ocw.mit.edu
18.336 Numerical Methods of Applied Mathematics -- II Spring 2009
For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms.
![Page 2: Spring 2009 For information about citing these materials ... · – James A. Sethian. Level set methods and fast marching methods. Cambridge University Press, Cambridge, second edition,](https://reader034.fdocuments.us/reader034/viewer/2022042315/5f039a177e708231d409dc75/html5/thumbnails/2.jpg)
The Level Set Method
MIT 16.920J / 2.097J / 6.339J
Numerical Methods for Partial Differential Equations
Per-Olof Persson
March 8, 2005
![Page 3: Spring 2009 For information about citing these materials ... · – James A. Sethian. Level set methods and fast marching methods. Cambridge University Press, Cambridge, second edition,](https://reader034.fdocuments.us/reader034/viewer/2022042315/5f039a177e708231d409dc75/html5/thumbnails/3.jpg)
ves and Surfaces olving CurEv
• Propagate curve according to speed function v = Fn
• F depends on space, time, and the curve itself
• Surfaces in three dimensions
F
![Page 4: Spring 2009 For information about citing these materials ... · – James A. Sethian. Level set methods and fast marching methods. Cambridge University Press, Cambridge, second edition,](https://reader034.fdocuments.us/reader034/viewer/2022042315/5f039a177e708231d409dc75/html5/thumbnails/4.jpg)
y RepresentationsGeometr
Explicit Geometry Implicit Geometry
• Parameterized boundaries • Boundaries given by zero level set
φ(x, y) = 0
(x, y) = (x(s), y(s))
φ(x, y) < 0
φ(x, y) > 0
![Page 5: Spring 2009 For information about citing these materials ... · – James A. Sethian. Level set methods and fast marching methods. Cambridge University Press, Cambridge, second edition,](https://reader034.fdocuments.us/reader034/viewer/2022042315/5f039a177e708231d409dc75/html5/thumbnails/5.jpg)
hniquesecExplicit T
• Simple approach: Represent curve explicitly by nodes x(i) and lines
• Propagate curve by solving ODEs
dx(i)
= v(x (i), t), x (i)(0) = x (i) ,
dt 0
• Normal vector, curvature, etc by difference approximations, e.g.:
dx(i)
x(i+1) − x
(i−1)
≈ ds 2Δs
• MATLAB Demo
![Page 6: Spring 2009 For information about citing these materials ... · – James A. Sethian. Level set methods and fast marching methods. Cambridge University Press, Cambridge, second edition,](https://reader034.fdocuments.us/reader034/viewer/2022042315/5f039a177e708231d409dc75/html5/thumbnails/6.jpg)
kswbacDra-hniques ecExplicit T
• Node redistribution required, introduces errors
• No entropy solution, sharp corners handled incorrectly
• Need special treatment for topology changes
• Stability constraints for curvature dependent speed functions
Node distribution Sharp corners Topology changes
![Page 7: Spring 2009 For information about citing these materials ... · – James A. Sethian. Level set methods and fast marching methods. Cambridge University Press, Cambridge, second edition,](https://reader034.fdocuments.us/reader034/viewer/2022042315/5f039a177e708231d409dc75/html5/thumbnails/7.jpg)
vel Set MethodThe Le
• Implicit geometries, evolve interface by solving PDEs
• Invented in 1988 by Osher and Sethian:
– Stanley Osher and James A. Sethian. Fronts propagating with
curvature-dependent speed: algorithms based on Hamilton-Jacobi
formulations. J. Comput. Phys., 79(1):12–49, 1988.
• Two good introductory books:
– James A. Sethian. Level set methods and fast marching methods.
Cambridge University Press, Cambridge, second edition, 1999.
– Stanley Osher and Ronald Fedkiw. Level set methods and dynamic
implicit surfaces. Springer-Verlag, New York, 2003.
![Page 8: Spring 2009 For information about citing these materials ... · – James A. Sethian. Level set methods and fast marching methods. Cambridge University Press, Cambridge, second edition,](https://reader034.fdocuments.us/reader034/viewer/2022042315/5f039a177e708231d409dc75/html5/thumbnails/8.jpg)
Implicit Geometries
• Represent curve by zero level set of a function, φ(x) = 0
• Special case: Signed distance function:
– |∇φ| = 1
– |φ(x)| gives (shortest) distance from x to curve
φ>0
φ<0
![Page 9: Spring 2009 For information about citing these materials ... · – James A. Sethian. Level set methods and fast marching methods. Cambridge University Press, Cambridge, second edition,](https://reader034.fdocuments.us/reader034/viewer/2022042315/5f039a177e708231d409dc75/html5/thumbnails/9.jpg)
ed Implicit Geometries Discretiz
• Discretize implicit function φ on background grid
• Obtain φ(x) for general x by interpolation
Cartesian Quadtree/Octree
![Page 10: Spring 2009 For information about citing these materials ... · – James A. Sethian. Level set methods and fast marching methods. Cambridge University Press, Cambridge, second edition,](https://reader034.fdocuments.us/reader034/viewer/2022042315/5f039a177e708231d409dc75/html5/thumbnails/10.jpg)
lesariabGeometric V
• Normal vector n (without assuming distance function):
∇φ n =
|∇φ|
• Curvature (in two dimensions):
∇φ φxxφ2 y − 2φyφxφxy + φyyφ
2 x
κ = ∇ · = . |∇φ| (φ2
x + φ2 y)
3/2
• Write material parameters, etc, in terms of φ:
ρ(x) = ρ1 + (ρ2 − ρ1)θ(φ(x))
Smooth Heaviside function θ over a few grid cells.
![Page 11: Spring 2009 For information about citing these materials ... · – James A. Sethian. Level set methods and fast marching methods. Cambridge University Press, Cambridge, second edition,](https://reader034.fdocuments.us/reader034/viewer/2022042315/5f039a177e708231d409dc75/html5/thumbnails/11.jpg)
vel Set EquationThe Le
• Solve convection equation to propagate φ = 0 by velocities v
φt + v · ∇φ = 0.
• For v = Fn, use n = ∇φ/|∇φ| and ∇φ · ∇φ = |∇φ|2 to obtain the
Level Set Equation
φt + F |∇φ| = 0.
• Nonlinear, hyperbolic equation (Hamilton-Jacobi).
![Page 12: Spring 2009 For information about citing these materials ... · – James A. Sethian. Level set methods and fast marching methods. Cambridge University Press, Cambridge, second edition,](https://reader034.fdocuments.us/reader034/viewer/2022042315/5f039a177e708231d409dc75/html5/thumbnails/12.jpg)
Discretization
• Use upwinded finite difference approximations for convection
• For the level set equation φt + F |∇φ| = 0:
φn+1 = φn + Δt1
�
max(F, 0)∇+ + min(F, 0)∇− �
,ijk ijk ijk ijk
where
∇+ = max(D−xφn +ijk
�
ijk, 0)2 + min(D+xφijkn , 0)2
max(D−yφn ijk, 0)2+ijk, 0)2 + min(D+yφn
max(D−zφn ijk, 0)2
�1/2 ,ijk, 0)2+ min(D+zφn
![Page 13: Spring 2009 For information about citing these materials ... · – James A. Sethian. Level set methods and fast marching methods. Cambridge University Press, Cambridge, second edition,](https://reader034.fdocuments.us/reader034/viewer/2022042315/5f039a177e708231d409dc75/html5/thumbnails/13.jpg)
Discretization
and
∇− = min(D−xφn + max(D+xφn +ijk
�
ijk, 0)2 ijk, 0)2
min(D−yφn + max(D+yφn +ijk, 0)2 ijk, 0)2
min(D−zφn + max(D+zφn �1/2
.ijk, 0)2 ijk, 0)2
• D−x backward difference operator in the x-direction, etc
• For curvature dependent part of F , use central differences
• Higher order schemes available
• MATLAB Demo
![Page 14: Spring 2009 For information about citing these materials ... · – James A. Sethian. Level set methods and fast marching methods. Cambridge University Press, Cambridge, second edition,](https://reader034.fdocuments.us/reader034/viewer/2022042315/5f039a177e708231d409dc75/html5/thumbnails/14.jpg)
Reinitialization
• Large variations in ∇φ for general speed functions F
• Poor accuracy and performance, need smaller timesteps for stability
• Reinitialize by finding new φ with same zero level set but |∇φ| = 1
• Different approaches:
1. Integrate the reinitialization equation for a few time steps
φt+ sign(φ)(|∇φ| − 1) = 0
2. Compute distances from φ = 0 explicitly for nodes close to boundary,
use Fast Marching Method for remaining nodes
![Page 15: Spring 2009 For information about citing these materials ... · – James A. Sethian. Level set methods and fast marching methods. Cambridge University Press, Cambridge, second edition,](https://reader034.fdocuments.us/reader034/viewer/2022042315/5f039a177e708231d409dc75/html5/thumbnails/15.jpg)
ulationalue FormVy The Boundar
• For F > 0, formulate evolution by an arrival function T
• T (x) gives time to reach x from initial Γ
• time * rate = distance gives the Eikonal equation:
|∇T |F = 1, T = 0 on Γ.
• Special case: F = 1 gives distance functions
T(x,y)
x y
![Page 16: Spring 2009 For information about citing these materials ... · – James A. Sethian. Level set methods and fast marching methods. Cambridge University Press, Cambridge, second edition,](https://reader034.fdocuments.us/reader034/viewer/2022042315/5f039a177e708231d409dc75/html5/thumbnails/16.jpg)
hing MethodcMarast The F
• Discretize the Eikonal equation |∇T |F = 1 by
1/2
max(D−xT, 0)2 + min(D+xT, 0)2 ijk ijk
+ max(D−yT, 0)2 + min(D+yT, 0)2 = ijk ijk Fijk
+ max(D−z T, 0)2 + min(D+z T, 0)2 ijk ijk
or
1/2
max(D−xT,−D+xT, 0)2 ijk ijk
1 + max(D−yT,−D+yT, 0)2 = ijk ijk Fijk
+ max(D−z T,−D+z T, 0)2 ijk ijk
1
![Page 17: Spring 2009 For information about citing these materials ... · – James A. Sethian. Level set methods and fast marching methods. Cambridge University Press, Cambridge, second edition,](https://reader034.fdocuments.us/reader034/viewer/2022042315/5f039a177e708231d409dc75/html5/thumbnails/17.jpg)
hing MethodcMarast The F
• Use the fact that the front propagates outward
• Tag known values and update neighboring T values (using the difference
approximation)
• Pick unknown with smallest T (will not be affected by other unknowns)
• Update new neighbors and repeat until all nodes are known
• Store unknowns in priority queue, O(n log n) performance for n nodes
with heap implementation
![Page 18: Spring 2009 For information about citing these materials ... · – James A. Sethian. Level set methods and fast marching methods. Cambridge University Press, Cambridge, second edition,](https://reader034.fdocuments.us/reader034/viewer/2022042315/5f039a177e708231d409dc75/html5/thumbnails/18.jpg)
Applications
![Page 19: Spring 2009 For information about citing these materials ... · – James A. Sethian. Level set methods and fast marching methods. Cambridge University Press, Cambridge, second edition,](https://reader034.fdocuments.us/reader034/viewer/2022042315/5f039a177e708231d409dc75/html5/thumbnails/19.jpg)
eodesic pathsgtest als and shorst arrivFir
Visibility around obstacles
![Page 20: Spring 2009 For information about citing these materials ... · – James A. Sethian. Level set methods and fast marching methods. Cambridge University Press, Cambridge, second edition,](https://reader034.fdocuments.us/reader034/viewer/2022042315/5f039a177e708231d409dc75/html5/thumbnails/20.jpg)
olStructural Vibration Contr
• Consider eigenvalue problem
−Δu = λρ(x)u, x ∈ Ω
u = 0, x ∈ ∂Ω.
with
ρ1 for x /∈ S ρ(x) =
ρ2 for x ∈ S.
• Solve the optimization
min λ1 or λ2 subject to �S� = K. S
Ω\S, ρ1
S, ρ2
![Page 21: Spring 2009 For information about citing these materials ... · – James A. Sethian. Level set methods and fast marching methods. Cambridge University Press, Cambridge, second edition,](https://reader034.fdocuments.us/reader034/viewer/2022042315/5f039a177e708231d409dc75/html5/thumbnails/21.jpg)
olStructural Vibration Contr
• Level set formulation by Osher and Santosa:
– Finite difference approximations for Laplacian
– Sparse eigenvalue solver for solutions λi, ui
– Calculate descent direction δφ = −v(x)|∇φ| with v(x) from shape
sensitivity analysis
– Find Lagrange multiplier for area constraint using Newton’s method
– Represent interface implicitly, propagate using level set method
![Page 22: Spring 2009 For information about citing these materials ... · – James A. Sethian. Level set methods and fast marching methods. Cambridge University Press, Cambridge, second edition,](https://reader034.fdocuments.us/reader034/viewer/2022042315/5f039a177e708231d409dc75/html5/thumbnails/22.jpg)
Instabilitiesement Stress Driven Rearrang
• Epitaxial growth of InAs on a GaAs substrate, stress from misfit in lattices
• Quasi-static interface evolution, descent direction for elastic energy and
surface energy
∂φ + F (x)|∇φ| = 0, with F (x) = ε(x) − σκ(x)
∂τ
• Level set formulation by Persson, finite elements for the elasticity
Electron micrograph of defect-free InAs quantum dots
![Page 23: Spring 2009 For information about citing these materials ... · – James A. Sethian. Level set methods and fast marching methods. Cambridge University Press, Cambridge, second edition,](https://reader034.fdocuments.us/reader034/viewer/2022042315/5f039a177e708231d409dc75/html5/thumbnails/23.jpg)
Instabilitiesement Stress Driven Rearrang
Initial Configuration
Final Configuration, σ = 0.20
![Page 24: Spring 2009 For information about citing these materials ... · – James A. Sethian. Level set methods and fast marching methods. Cambridge University Press, Cambridge, second edition,](https://reader034.fdocuments.us/reader034/viewer/2022042315/5f039a177e708231d409dc75/html5/thumbnails/24.jpg)
Instabilitiesement Stress Driven Rearrang
Initial Configuration
Final Configuration, σ = 0.10
![Page 25: Spring 2009 For information about citing these materials ... · – James A. Sethian. Level set methods and fast marching methods. Cambridge University Press, Cambridge, second edition,](https://reader034.fdocuments.us/reader034/viewer/2022042315/5f039a177e708231d409dc75/html5/thumbnails/25.jpg)
Instabilitiesement Stress Driven Rearrang
Initial Configuration
Final Configuration, σ = 0.05