This section focuses on the basics of the level set method. First the basic ideas of the level set method are outlined. Then the simulation flow, i.e., how the simulation steps are linked in applications, is described. In the following sections the finite difference scheme and advanced concepts like extending the speed function and narrow banding are discussed. The latter two - seemingly unconnected - concepts are combined in the level set algorithm devised in order to arrive at an efficient and precise algorithm.
The idea behind all level set algorithms is to represent the curve or
surface in question at a certain time as the zero level set (with
respect to the space variables) of a certain function
, the
so called level set function. Thus the initial surface is the set
. Of course the method works for hypersurfaces
of arbitrary dimensions, but for applications obviously only curves
(two space variables) and surfaces (three space variables) are
important.
The evolution of the surface in time is caused by forces or fluxes
normal to the surface. The speed of point on the surface normal to
the surface will be denoted by
and is called the speed
function. For points on the zero level set it is usually determined
by physical models and in our case by the fluxes of certain gas
species and subsequent surface reactions. The speed function
generally depends on the time and space variables, and we
assume at first that it is defined on the whole simulation domain and
for the time interval considered.
The surface at a later time is also the zero level set of the
function
, namely
.
This leads to the level set equation
![]() |
||
![]() ![]() |
In the numeric application the level set function is represented by values on grid points. During simulations the current surface must be extracted from this grid. This surface extraction step is described in Section 13.4, and appropriate finite difference schemes are given in Section 13.5.
Now in order to apply the level set method a suitable initial function
has to be determined first. There are two requirements:
first it goes without saying that its zero level set has to be the
surface as determined given by the application, and second it should
essentially be a linear function at the beginning and throughout the
simulation. The second requirement prevents that the absolute value
of the gradient of the level set function is too small or too big in
the neighborhood of the zero level set. Then high accuracy in the
surface extraction steps is ensured and linear interpolation can be
used. Of course the second requirement poses demands on the speed
function (cf. Section 13.6).
![]() |
The natural choice for initialization is the signed distance function
of a point from the given surface. This function is the common
distance function multiplied by or
depending on which side
of the surface the point lies in. (In applications the simulation
domain is always divided into two areas and the signed distance
function is negative for points belonging to the wafer and positive
otherwise, or vice versa.) The common distance function of a
point
from a set
is then defined by
, where
is usually the Euclidean metric.
The example shown in Figure 13.1 illustrates the initialization of the level set grid using a signed distance function as it is performed by the ELSA simulator (cf. Section 13.8).
The values of the speed function are determined by physical models. The finite difference schemes (cf. Section 13.5) use the values of the speed function at the grid points considered. In topography simulations the physical models determine the speed function only at the zero level set. As outlined earlier they must be extrapolated suitably at grid points not adjacent to the zero level set. How this is done is described in Section 13.3.1 and Section 13.6.
![]() |
Before going into details in the next sections, we close this section by describing the simulation flow of topography simulations as shown in Figure 13.2. First the initial level set grid is calculated as the signed distance function from a given initial surface. In the main loop the surface is extracted and a time step in the physical model is performed. In our applications this means a radiosity of diffusion time step. Thus the speed function at the surface is found. In the next combined step (cf. Section 13.6), a temporary signed distance function is constructed, the speed function is extended, and the new active grid points in a narrow band around the zero level set are determined (cf. Section 13.3). Then the values of the speed function in the active narrow band are used to update the level set grid using a finite difference scheme (cf. Section 13.5).
Clemens Heitzinger 2003-05-08