
Three-Dimensional Simulations with Fields and Particles in Software and Inflector Designs 391
community have largely been unsuccessful until recently.
However, recent advances in software technology signify
that the hard to get goal of increased high-performance
scientific programming productivity is possible.
Although Object-Oriented Programming itself was not
the main reason for the improved productivity the busi-
ness community (the rise in productivity comes from the
use of Object-Oriented Design and Component-Based
Programming), the choice of the programming language
is of the utmost importance. Development of complex
scientific applications requires GUI toolkits, numeric li-
braries, graphical facilities, libraries for interfacing with
code written in other languages, etc. Many scientific pro-
grammers and researchers still dream of a general-pur-
pose language that is so expressive, elegant, and efficient
that it can cover all needs without significant inconven-
iences. However, no current language can satisfy all
these requirements natively, and there is no a research
language that could possibly do that in the short-to-me-
dium term.
Our simulation framework (written in C++) is based on
Fltk library [2] for building GUI elements, Vtk toolkit [3]
for 3D visualization needs, and Pthreads library [4] for
managing multiple execution threads. Additional librar-
ies and toolkits are used depending on the specific re-
quirements of the particular applications.
3. Electromagnetic Field Calculations
In this approach the scalar electrostatic potential is a 0-
form, the electric and magnetic fields are 1-forms, the
electric and magnetic fluxes are 2-forms, and the scalar
charge density is a 3-form. The basic operators are the
exterior (or wedge) product, the exterior derivative, and
the Hodge star. Precise rules (i.e. a calculus) prescribe
how these forms and operators can be combined. In this
modern geometrical approach to electromagnetics the
fundamental conservation laws are not obscured by the
details of coordinate system dependent notation. By
working within the discrete differential forms framework,
we are gauranteed that resulting spatial discretization
schemes are fully mimetic [5,6].
The calculations of the electric fields in this paper are
performed by integrating a general finite element solver
GetDP [7,8] in our simulation framework. GetDP is a
thorough implementation of discrete differential forms
calculus, and uses mixed finite elements to discretize de
Rham-type complexes in one, two and three dimensions.
Meshing of the computational domain is carried out by
TetGen tetrahedral mesh generator [9]. TetGen generates
the boundary constrained high quality (Delaunay) meshes,
suitable for numerical simulation using finite element
and finite volume methods. As a part of the post-process-
ing procedure the electric fields, obtained on the unstruc-
tured meshes, are recalculated on the Cartesian rectangu-
lar domains containing the regions of the particles move-
ment. In this manner, the electric field on the particles
could be calculated by simple trilinear interpolation.
4. Simulation of Etching Profile Evolution
Refined control of etched profile in microelectronic de-
vices during plasma etching process is one of the most
important tasks of front-end and back-end microelectro-
nic devices manufacturing technologies. The profile sur-
face evolution in plasma etching, deposition and lithogra-
phy development is a significant challenge for numerical
methods for interface tracking itself. Level set methods
for evolving interfaces [10,11] are specially designed for
profiles which can develop sharp corners, change topol-
ogy and undergo orders of magnitude changes in speed.
They are based on a Hamilton-Jacobi type equation [12]
for a level set function using techniques developed for
solving hyperbolic partial differential equations. A sim-
ple model of Ar + /F etching process that includes only
pure chemical and ion-enhanced chemical etching me-
chanisms is presented in details.
Sparse Field Level Set Method
The basic idea behind the level set method is to represent
the surface in question at a certain time t as the zero level
set (with respect to the space variables) of a certain func-
tion φ(t, x), the so called level set function. The initial
surface is given by {x|φ(0, x) = 0}. The evolution of the
surface in time is caused by “forces” or fluxes of par-
ticles reaching the surface in the case of the etching pro-
cess. The velocity of the point on the surface normal to
the surface will be denoted by V(t, x), and is called ve-
locity function. For the points on the surface this function
is determined by physical models of the ongoing pro-
cesses; in the case of etching by the fluxes of incident
particles and subsequent surface reactions. The velocity
function generally depends on the time and space va-
riables and we assume that it is defined on the whole
simulation domain. At a later time t > 0, the surface is as
well the zero level set of the function φ(t, x), namely it
can be defined as a set of points {x∈ℜn|φ(t, x) = 0}.
This leads to the level set equation
Ht,x
t
0,
(1)
in the unknown function φ(t, x), where φ(0, x) = 0 de-
termines the initial surface. Having solved this equation
the zero level set of the solution is the sought surface at
all later times. Actually, this equation relates the time
change to the gradient via the velocity function. In the
numerical implementation the level set function is repre-
sented by its values on grid nodes, and the current sur-
Copyright © 2013 SciRes. JSEA