Level Set Method - Lecture Notes | MAT 228C, Study notes of Mathematics

Material Type: Notes; Class: Numerical Soln Diff Eqn; Subject: Mathematics; University: University of California - Davis; Term: Fall 2009;

Typology: Study notes

Pre 2010

Uploaded on 07/31/2009

koofers-user-57t
koofers-user-57t 🇺🇸

9 documents

1 / 8

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Chapter 3
Level Set Method
3.1 Immersed Boundary Method
Immersed boundary method is useful for simulating fluid structure problems. It uses two types of grids:
Eulerian grid for the fluid, and Lagrangian grid for the structure which moves the structure.
3.2 Lagrangian Grid
Given a closed curve ( or a surface in 3D ) moving in the normal direction with a given velocity. Track the
location of this curve as it evolves. How to solve this numerically? E.g., use Lagrangian grid
1
pf3
pf4
pf5
pf8

Partial preview of the text

Download Level Set Method - Lecture Notes | MAT 228C and more Study notes Mathematics in PDF only on Docsity!

Chapter 3

Level Set Method

3.1 Immersed Boundary Method

Immersed boundary method is useful for simulating fluid structure problems. It uses two types of grids: Eulerian grid for the fluid, and Lagrangian grid for the structure which moves the structure.

3.2 Lagrangian Grid

Given a closed curve ( or a surface in 3D ) moving in the normal direction with a given velocity. Track the location of this curve as it evolves. How to solve this numerically? E.g., use Lagrangian grid

Discretize s and represent the curve (x(s, t), y(s, t)) by discrete points xj (t) = (xj (t), yj (t)).

Lagrangian methods: Put discrete points on the curve and move then at the local velocity. Assume F > 0 constant. The velocity at a point: v = F n is given. Compute the (outside) normals

ni,j =

[

−(yj+1 − yj− 1 ) (xj+1 − xj− 1 )

]

((yj+1 − yj− 1 )^2 + (xj+1 − xj− 1 )^2 )^1 /^2

dxj dt

= vj = F nj. Ex: Suppose F = const.

Figure 3.1: Self intersecting.

Figure 3.2: Topological changing.

They may not be a physical solution.

3.3 Level Set Method

Level set methods represent the curves/surfaces as the zero level set of some (smooth) function φ.

φ(x, y) = 0 in 2D, or φ(x, y, z) = 0 in 3D.

What does this mean about the level set? What is the velocity depends on the curvature? It does in many applications. Assume F = −bκ where κ is the mean curvature, consider

φt − bκ |∇φ| = 0 , κ = ∇ · n = ∇ ·

∇φ |∇φ|

and thus

φt = b∇ ·

∇φ |∇φ|

|∇φ|.

If ∇φ ≈ 1, then φt ≈ b∇ · (∇φ),

a diffusion equation. We need b > 0 for a well-posed problems.

Figure 3.3: Driven by mean curvature flow, the shape approaches a circle of decreasing radius.

Motion by mean curvature smooth the curve. This suggest how to look for a viscosity solution to

φt + F |∇φ| = 0

with F ǫ^ = F 0 − ǫκ.

φǫt + F 0 |∇φǫ^ | = ǫ∇ ·

∇φǫ |∇φǫ^ |

|∇φǫ^ |.

For ǫ > 0, the solution is smooth and we’re interested in φ = limǫ→ 0 φǫ. How to solve φt + F |∇φ| = 0 for φ(x, t) numerically? Try using centered differences to compute ∇φ.

(φx)i,j =

φi+1,j − φi− 1 ,j 2 h

One will get numerical oscillation near phase where the derivatives are large.

3.4 Numerical Solutions to 1D Hamilton-Jacobi Equation

To figure out what to do, we look at 1D Hamilton-Jacobi equation

φt + H(φx) = 0.

Take the x-derivative, φtx + (H(φx))x = 0.

Let u = φx, we have ut + (H(u))x = 0.

The derivative of φ satisfies a hyperbolic conservation law. We should use conservative schemes:

un j +1− unj ∆t

( F

j+ 12 −^ Fj− (^12) h

where Fj− 12 is an approximation to H at point xj− 12. Recall that consistent, conservative, monotone method

converges to the viscosity solution (right solution). (Godunov or Lax-Friedrich are monotone methods.) Let’s consider numerical flux function of the form

Fj− 12 = f (ui− 1 , uj ).

For example,

  • Godunov scheme fG(uL, uR) = H(u∗) where u∗^ is the edge value obtained by solving the Riemann problem.
  • Lax-Friedrich scheme

fLF (uL, uR) =

H(uL) +^ H(uR)^ −

diffusion ︷ ︸︸ ︷ h ∆t (uR − uL)

= H(

uL + uR 2

h 2∆t

(uR − uL)

How to use this to solve the Hamilton-Jacobi equation? Recall that φt + H(φx) = 0,

(D+φ)j =

φj+1 − φj h

, (D−φ)j =

φj − φj− 1 h

If F > 0,

(φx)^2 i,j = max

max(D−i,jx , 0)^2 , min(D+i,jx , 0)^2

If F < 0, swap D−i,jx and Di,j+x :

(φx)^2 i,j = max

min(D−i,jx , 0)^2 , max(D+i,jx , 0)^2

For level set method,

φn i,j+1 = φni,j − ∆t

max(Fi,j , 0)∇+^ + min(Fi,j , 0)∇−

where

∇+^ =

max

max(Di,j−x , 0)^2 , min(D+i,jx , 0)^2

  • max

max(D−i,jy , 0)^2 , min(D+i,jy , 0)^2

))^1 /^2

Stable provided

∆t ≤

h |H 1 | + |H 2 |

, H 1 =

F φx |∇φ|

, H 2 =

F φy |∇φ|

just like the constraint for the donor cell upwind.

3.6 Choices of a Level Set Function

How to choose φ? We want φ = 0 on the initial surface, φ < 0 inside and φ > 0 outside. φ should be somewhat smooth. A common choice is signed distance function. Let Γ be the zero level set (initial surface). The distance d is defined by

d(x) = min y∈Γ

|x − y|

that is, the distance to φ = 0 level set. Clearly d = 0 only on the surface. Define

φ(x) =

d(x) x outside −d(x) x inside

We can show |∇φ| = 1 for the signed distance function.

Figure 3.5: Level set in 1D: the interfaces is the two points.

Figure 3.6: Inside the circle centered at x with radius d(x), there are no points of Γ. All points on the line segment connecting x and xc have closest point xc.

The gradient direction is (^) |xx−−xxcc |. The magnitude of the gradient is the absolute value of the directional

derivative in the gradient direction. Therefore |∇d| = 1 at all points where ∇d is defined. Having |∇φ| = 1 simplifies some formulas:

n̂ = ∇φ |∇φ|

= ∇φ , κ = ∇ · ̂n = ∆φ.

The accuracy degrades if the level sets become too distorted. Some ways of maintaining (approximating) the signed distance function:

  • Reinitialize φ occasionally.
  • Construct the velocity F away from φ = 0 to preserve the signed distance function.
  • Solve φt = sgn(φ) · (1 = |∇φ|) to steady state.

How to compute the signed distance function? Consider a curve moving in the normal direction at speed F = 1. Let T (x) be the time or arrival of the curve. This is the distance function.

Figure 3.7: Solving |∇φ| = 1 on Γ. Compute arrival times at neighbor points and add the smallest arrival time to the accepted values. Fast Marching Methods.