Level Set Module Theory


The level set method is commonly used for front tracking problems Osher and Fedkiw (2006). It is modeled with the multi-dimensional advection equation

(1) where is time, is a known velocity field, and is the variable representing the interface. Traditionally is taken to be the signed distance from the interface. This problem poses significant challenges: numerical stabilization techniques must be employed to avoid node-to-node oscillations, and intermediate re-initialization steps must be undertaken to evolve the interface in a physically-consistent manner.

The basic requirements for solving the level set equation in MOOSE are summarized in the following milestone objectives:

  • Solve the level set equation numerically using the Galerkin finite element method.

  • Apply a standard stabilization scheme.

  • Implement a basic re-initialization scheme.

In order to test and demonstrate the use of the level set module, a benchmark rotating bubble problem requiring each of the three aforementioned components was undertaken.

Weak Form

The weak form of Eq. (1) is: find such that


holds for all admissible test functions, . Here is the finite element approximation to , and we have employed the inner-product notation for convenience. Solving Eq. (2) in MOOSE requires the addition of a single physics kernel for the second term on the left-hand side of Eq. (2). This kernel is included in the level set module as LevelSetAdvection, and allows one to use coupled variables to represent the velocity field.


As with any pure convection equation, implementing the level set equation with the Galerkin finite element method requires numerical stabilization if node-to-node oscillations are to be avoided and standard solution accuracy is to be maintained. The level set module also includes kernels which implement the Streamline Upwind/Petrov-Galerkin (SUPG) stabilization method Brooks and Hughes (1982) and Donea and Huerta (2003) for Eq. (2), which is given by

(3) where is the element length, and is the Euclidean norm of the velocity vector. We note that the -dependent terms add stability to the numerical scheme by introducing the symmetric, velocity-dependent artificial viscosity contribution:


in a so-called "consistent" manner. That is, if the true solution satisfies Eq. (1), it is easy to see, by inspection, that it will also satisfy Eq. (3), since the strong form of the residual appears in the first slot'' of the inner product. The stabilization terms are implemented in the code as two additional kernels: LevelSetTimeDerivativeSUPG and LevelSetAdvectionSUPG.


The advected variable is often used to track a moving front, and therefore it is desirable that the total amount of present in remain the same throughout the simulation. This is equivalent to stating that the area within a given contour of does not change. It is also frequently desirable that remain a signed distance function throughout the course of the simulation. There is a vast amount of research into methods which guarantee either conservation, the signed distance property, or both. The level set module in MOOSE currently implements a conservative "re-initialization" algorithm that transforms into a smooth function in the range rather than a signed distance, which is useful for certain types of problems such as phase identification.

The weak form of the re-initialization equation is: find such that


holds for every admissible , where is the pseudo time during the re-initialization, is the normal vector computed from the level set variable at pseudo time , is the interface thickness, , and . Steady-state for is detected when

(6) where is a problem-dependent tolerance, and . When steady-state is achieved, is set equal to the re-initialized solution , and the entire process is repeated at time .


  1. A. N. Brooks and T. J. R. Hughes. Streamline Upwind/Petrov-Galerkin formulations for convection dominated flows with particular emphasis on the incompressible Navier-Stokes equations. Computer Methods in Applied Mechanics and Engineering, 32:199–259, 1982.[BibTeX]
  2. J. Donea and A. Huerta. Finite element methods for flow problems. John Wiley & Sons, 2003.[BibTeX]
  3. S. Osher and R. Fedkiw. Level set methods and dynamic implicit surfaces. Volume 153. Springer Science & Business Media, 2006.[BibTeX]