Surface Propagation Methods: Computational Electromagnetics (CEM)
Surface Propagation Methods: Computational Electromagnetics (CEM)
Instructor
Dr. Raymond Rumpf
(915) 747‐6958
[email protected]
EE 5337
Computational Electromagnetics (CEM)
Lecture #32
Surface Propagation
Methods
These notes may contain copyrighted material obtained under fair use rules. Distribution of these materials is strictly prohibited
Lecture 32 Slide 1
Outline
• Introduction to Surface Propagation
• Cell‐Volume Method
• String Method
• Level Set Method
• Fast Marching Method
Lecture 32 Slide 2
1
8/16/2017
Introduction to
Surface Propagation
Lecture 32 Slide 3
Comparison of Methods
• Cell Volume Method
– Rigorous and stable
– Very slow!!
• String Method
– Extremely fast and efficient
– Restricted to surfaces that are mostly smooth and continuous
– Inherently unstable
– Rarely extended to 3D
• Level Set Method
– Most rigorous
– Stable
– Excellent for 3D
– Slower then FMM
• Fast Marching Method
– Requires
• Unidirectional progression of surface
• Rate function depends only on position
– Stable
– Excellent for 3D
– Very fast and efficient!
Lecture 32 Slide 4
2
8/16/2017
Cell‐Volume Method
Hirt, Cyril W., and Billy D. Nichols. "Volume of fluid (VOF) method for the dynamics of free boundaries." Journal of
computational physics 39.1 (1981): 201‐225.
Lecture 32 Slide 5
Algorithm for Cell‐Volume Method
Lecture 32 Slide 6
3
8/16/2017
3D Cell Volume Method
Lecture 32 Slide 7
String Method
Kawakami, Shojiro, Takayuki Kawashima, and Takashi Sato. "Mechanism of shape formation of three‐dimensional
periodic nanostructures by bias sputtering." Applied Physics Letters 74.3 (1999): 463‐465.
Sethian, James A. "Curvature and the evolution of fronts." Communications in Mathematical Physics 101.4 (1985):
487‐499.
Tazawa, Satoshi, Seitaro Matsuo, and Kazuyuki Saito. "A general characterization and simulation method for
deposition and etching technology." IEEE transactions on semiconductor manufacturing 5.1 (1992): 27‐33.
Lecture 32 Slide 8
4
8/16/2017
Algorithm for the String Method
R. C. Rumpf, “Design and Optimization of Nano‐Optical Elements by Coupling Fabrication to Optical Behavior,” Ph.D.
dissertation, pp. 153‐160, University of Central Florida, 2006.
Lecture 32 Slide 9
The Math
xi
The list of points describing the surface are stored in an array.
X x1 x2 xN
Given the rate function, the positions of the points are updated given
a suitable time step t. t must be chosen that is small enough to
prevent particles from crossing paths.
Xt t Xt tR t
Lecture 32 Slide 10
5
8/16/2017
Sources of Instability and Fixes
There are two main reasons the string method is inherently unstable.
1. Points Converging
As points converge, they reduce the accuracy of the rate function.
They may also cross paths and form unstable loops in the string
This is mitigated using a “smoothing” function and by removing
points from the string.
1. Points Diverging
As points diverge, the distribution of points becomes too sparse
to adequately resolve the surface.
This is mitigated by adding additional points.
Care must be taken to correctly interpolate where the points are
to be added. Performing a filtering function on the position
vectors after the update can help maintain stability.
Lecture 32 Slide 11
Example #1: Autocloning
What is Autocloning?
Autocloning is a nanofabrication process where alternating layers of
dielectric are deposited onto a corrugated surface. When the
process parameters are just right, a self‐shaping effect causes the
surface topology to quickly converge to a profile that is maintained
over a virtually unlimited number of layers.
Lecture 32 Slide 12
6
8/16/2017
Example #1: Autocloning
Physics of Autocloning?
Three physical mechanisms produce autocloning.
R. C. Rumpf, “Design and Optimization of Nano‐Optical Elements by Coupling Fabrication to Optical Behavior,” Ph.D.
dissertation, pp. 153‐160, University of Central Florida, 2006.
Lecture 32 Slide 13
Example #1: Autocloning
Sputter Deposition
During sputter deposition, neutral particles are deposited from a
target to the substrate with an angular dependence cosn.
cos cos d
n
We only integrate over the
Rdep xi d 1
2 range of angles visible to the
cos n 1 d target.
2
The angular dependence on deposition leads to horizontal surfaces
growing faster than vertical surfaces. Visibility leads to a shadowing
effect that produces “kinks” near the bottom of the vertical sidewalls.
Lecture 32 Slide 14
7
8/16/2017
Example #1: Autocloning
Sputter Etching
Charged ions accelerated by the field during bias sputtering leads to
etching of the substrate. This opposed deposition.
Rate Function for Etching
b flux etch rate of a
Retch xi b cos c sin 2 cos for b, c 0 horizontal surface
c angular selectivity
Etching is maximum at this angle.
It is this mechanism that leads to regions of the surface profile
converging to the constant slope near 55°.
Lecture 32 Slide 15
Example #1: Autocloning
Redeposition
Etched particles can be redeposited back onto the surface. The path
of these particles is extremely complex and difficult to model. The
tendency is to move particles from the upper
part of trenches to lower parts.
Rate Function for Redeposition
2
e e redeposition rate
Rredep xi VS xi , cos d
2 2 VS visibility of surface
We have assumed that particles emerge from all surfaces uniformly.
This is a good approximation, especially when the surface profile has
converged to V‐shaped grooves and the surface slope is more
constant.
Points at deeper parts of a groove will receive greater redeposition
because greater surface area is visible from which to receive particles.
It is this mechanism that that enables lower portions of the V‐grooves to
keep pace with the top portions despite shadowing effects inhibiting
sputter deposition in the lower portions.
Lecture 32 Slide 16
8
8/16/2017
Example #1: Autocloning
The Overall Rate Function
The overall rate function is the sum of the three competing
mechanisms. Deposition is in the direction normal the surface.
R xi Rdep xi Retch xi Rredep xi nˆi nˆi surface normal
at point xi
Lecture 32 Slide 17
Example #1: Autocloning
Benchmark Simulation
Lecture 32 Slide 18
9
8/16/2017
Example #1: Autocloning
Movie of Autocloning Simulation
Lecture 32 Slide 19
Example #2: Tuning GMR Filters
Tune by Deposition
Lecture 32 Slide 20
10
8/16/2017
Example #2: Tuning GMR Filters
Tune by Etching
Lecture 32 Slide 21
Level Set Method
Fedkiw, Stanley Osher Ronald, and Stanley Osher. "Level set methods and dynamic implicit surfaces." Surfaces 44
(2002): 77.
Sethian, James Albert. Level set methods and fast marching methods: evolving interfaces in computational
geometry, fluid mechanics, computer vision, and materials science. Vol. 3. Cambridge university press, 1999.
Osher, Stanley, and Ronald P. Fedkiw. "Level set methods: an overview and some recent results." Journal of
Computational physics 169.2 (2001): 463‐502.
Lecture 32 Slide 22
11
8/16/2017
A Different Way to Describe Surfaces
It is most obvious to consider surfaces from a geometry perspective
where shapes of structures and positions of interfaces change over
time. It is tempting to track the motion of a surface explicitly leading
to techniques like the string method and cell‐volume method.
The level set method and the fast marching method approach the
problem completely differently. They solve differential equations to
compute distance “level sets” and “time of arrival” functions. The
surfaces as a function of time are interpolated from this data.
This enables robust schemes based on well understood methods to be
formulated that are more rigorous and easier to adapt to different
conditions.
Lecture 32 Slide 23
Level Set Data
x, y; t distance from the surface
0
The surface at time t is the isometric surface at = 0.
One set of data only describes the surface at time t.
Lecture 32 Slide 24
12
8/16/2017
Level Set Equation for Surface Propagation
The level set equation is an initial value problem in the form of a
partial differential equation that must be solved for the level set
function .
r , t
r , t R r , t 0 given r ,0
t
The rate function R is where the physics guiding the surface
propagation is incorporated.
The level set method solved in the time‐domain by approximating
the time‐derivative with a finite‐difference and solving for at
the future time step.
t t t t t R t
Lecture 32 Slide 25
Algorithm for the Level Set Method
Lecture 32 Slide 26
13
8/16/2017
Movie of the Level Set Method
Lecture 32 Slide 27
Fast Marching Method
Sethian, James Albert. Level set methods and fast marching methods: evolving interfaces in computational
geometry, fluid mechanics, computer vision, and materials science. Vol. 3. Cambridge university press, 1999.
Sethian, James A. "A fast marching level set method for monotonically advancing fronts." Proceedings of the
National Academy of Sciences 93.4 (1996): 1591‐1595.
Lecture 32 Slide 28
14
8/16/2017
Special Case
What if: (1) surface does not move backward, and (2) rate
function depends only on position?
The level set formulation can be dramatically simplified!!!
This makes the rate function always positive and it becomes
easier to describe the problem in terms of a time‐of‐arrival
T r
function .
The governing equation is a boundary value problem of the form
T r R r 1 initial surface T r 0
Lecture 32 Slide 29
Time‐of‐Arrival Function
T r time when surface arrives at position r
The surface at time t is the isometric surface at = t.
One set of data describes entire progression of the surface.
Lecture 32 Slide 30
15
8/16/2017
The Governing Equation
T r R r 1 initial surface T r 0
This equation is squared and rearranged to obtain
T r R r 1
T T T 1
xˆ yˆ zˆ
x y z R
2 2 2
T T T 1
x y z R
2 2 2
T T T 1 We will approximate these
2 derivatives with finite‐differences
x y z R by fitting T to a discrete grid.
Lecture 32 Slide 31
A Problem
We have assumed that R > 0.
The values of T are only known on one side of the surface front.
We call this the “upwind” side of the front and we must use upwind
finite‐differences to solve this problem.
Lecture 32 Slide 32
16
8/16/2017
Upwind Finite‐Differences (1 of 2)
We can approximate T using either a forward or backward finite‐
difference, depending which way is upwind.
Ti , j , k Ti 1, j , k
D T backward finite-difference
T x i , j , k x
x Ti 1, j , k Ti , j , k
Dx Ti , j , k forward finite-difference
x
Which one do we use?
Lecture 32 Slide 33
Upwind Finite‐Differences (2 of 2)
The front can arrive from any direction and it flows downwind.
We choose the side from which the front is approaching most quickly
as the upwind direction.
The finite‐difference must be calculated from values on the upwind
side of the point.
The derivate should be set to whichever finite‐difference gives the
maximum value. This can be done as follows…
T
max Dx Ti , j , k , Dx Ti , j , k , 0
x
When a time value is less than any of its
neighboring points, all finite‐differences
will be negative and should be ignored.
Lecture 32 Slide 34
17
8/16/2017
Approximation of Governing Equation
Our governing equation was
2 2 2
T T T 1
2
x y z R
Approximating this equation with our upwind finite‐differences, we
get
x T , Dx T ,0 max Dy T , Dy T ,0 z z 2
Lecture 32 Slide 35
Update Equation (1 of 3)
We need to solve our finite‐difference equation for Ti,j,k.
We must pull Ti,j,k out of the max[] functions.
T
max Dx Ti , j , k , Dx Ti , j , k ,0
x
Ti , j ,k Ti 1, j , k Ti 1, j , k Ti , j , k
max , ,0
x x
max Ti , j ,k Ti 1, j , k , Ti 1, j , k Ti , j , k ,0
x
Ti , j ,k max Ti 1, j , k , Ti 1, j , k , Ti , j , k
x
Ti , j ,k min Ti 1, j , k , Ti 1, j , k , Ti , j ,k
x
Lecture 32 Slide 36
18
8/16/2017
Update Equation (2 of 3)
Our governing equation can now be written as
2 2 2
T new min T new new
i 1, j ,k , Ti 1, j ,k , Ti , j ,k Ti , j , k min Ti , j 1, k , Ti , j 1, k , Ti , j , k Ti , j , k min Ti , j , k 1 , Ti , j , k 1 , Ti , j , k 1
old old old
i , j ,k
x y z R2
After some algebra, we write this express as a quadratic equation.
a Ti ,new
j , k b Ti , j , k c 0
2
new
1 1 1
a
x y z
2 2 2
Lecture 32 Slide 37
Update Equation (3 of 3)
The solution to the quadratic equation is
b b 2 4ac
j ,k
Ti ,new
2a
We choose the positive root to ensure that our time values are
always positive.
b b 2 4ac
j ,k
Ti ,new
2a
Lecture 32 Slide 38
19
8/16/2017
Algorithm for the Fast Marching Method
yes
no
yes
no
Lecture 32 Slide 39
Movie of Fast Marching Method
Lecture 32 Slide 40
20
8/16/2017
Min‐Heap Data Structure
By far, the most time‐consuming task is finding the grid point in the
“narrow band” with the smallest associated time value.
The key to a fast and efficient FMM code is to quickly find this point.
A good approach is to store the narrow band grid points in a min‐head
data structure, which is a form of a binary tree, but it can be stored in
a linear array without the need of data pointers.
It is ordered so that the children of any element always have an equal
or greater value associated with it.
Lecture 32 Slide 41
Push Operation
The push algorithm is used to
add an element to the tree.
This algorithm ensures that
element #1 at the top of the
tree will have the smallest
value. No searching for it is
even necessary!
Lecture 32 Slide 42
21
8/16/2017
Pull Operation
The pull algorithm removes
the top element from the tee
and adjusts the remaining
elements.
Lecture 32 Slide 43
Example – Developing Photoresists
What is Developing?
The developing process
dissolves soluble photoresist
into a developer solution
leaving behind the insoluble
portions.
It is the partially soluble
photoresist that must be
treated correctly to accurately
predict geometry.
Lecture 32 Slide 44
22
8/16/2017
Example – Developing Photoresists
Solubility of a Photoresist
Lecture 32 Slide 45
Example – Developing Photoresists
Simulating Developing with FMM
Lecture 32 Slide 46
23
8/16/2017
Example – Developing Photoresists
3D Movie of Developing
Lecture 32 Slide 47
Example – Developing Photoresists
Simulating Holographic Lithography
Lecture 32 Slide 48
24
8/16/2017
Example – Developing Photoresists
Simulating Near-Field Nano-Patterning
Simulated Simulated
using using
RCWA FMM
Lecture 32 Slide 49
Example – Developing Photoresists
Movie of Near-Field Nano-Patterning
Lecture 32 Slide 50
25