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