next up previous contents
Next: 6.2 Simulation Procedure Up: 6. Simulation of Thermal Previous: 6. Simulation of Thermal


6.1 Architecture of FEDOS

The core functions of FEDOS are the management of the simulation procedure and data flow, the model execution, and the finite element assembling. Some functions like data- and Inputdeck-file operations or the solving of the equation system are provided by libraries, but these function calls are incumbent on FEDOS. Furthermore, FEDOS offers a number of operations for mesh manipulation, especially for (dynamic) mesh refinement and coarsement.

6.1.1 Inputdeck

FEDOS always asks for a so-called Inputdeck-file (ipd-file) which includes all necessary information for a simulation run. In principle the ipd-file contains all changeable process information. The Inputdeck-file can be read with the Inputdeck-Reader which is a library linked into FEDOS. The Inputdeck concept was also developed at the Institute for Microelectronics (see Chapter 3 in [98]) and is also used for other simulators. The ipd-file itself is an Ascii-file which can be generated with a normal text editor in an evident syntax.

The ipd-file includes the names of the input and the output file. Alternatively sometimes it is desired to set an attribute to a constant initial value on the whole segment. In the case of oxidation simulation the normalized silicon concentration $ \eta $ must be set to the initial value 1 in the silicon segment (see Section 3.1). The next important task is to control the simulation procedure which involves amongst others the

In the ipd-file also the accuracy for the Newton solver is determined (see Section 5.3.5) which is related with the controlling part. For a desired higher accuracy of the results more Newton loops and so more simulation time is needed for solving a non-linear equation system.
Figure 6.1: Architecture of FEDOS and its information flow.

Since FEDOS contains a number of different models, another necessary part in the ipd-file is to declare which model is applied on the respective segment by its name. The models can be divided into the three categories:

Simulation only makes sense, when the process parameters are changeable and so at least all volume models have its own parameters. For the oxidation model such parameters are the low stress diffusion coefficient $ D_0$ (see (3.2)) or the maximal strength of the spatial sink $ k_{max}$ (see (3.4)). In the mechanical models the Young modulus $ E$ and the Poisson ratio $ \nu$ are modifiable.

6.1.2 Wafer-State-Server

For the data management FEDOS uses the WAFER-STATE-SERVER [99], a program package developed at the Institute for Microelectronics. All data are saved in the so-called WAFER-STATE-SERVER-file (WSS-file) in an Ascii-format. The WSS-format enables straightforward communication of FEDOS with other in-house tools as for meshing of the structure or visualization of the simulation results.

In the WSS-file are one or more segments where each segment holds a (tetrahedral) grid. On the segment grid a unlimited number of constant or distributed attributes can be located. The WSS-file concept has the benefit regarding the file size that the coordinates (x-, y- and z-value) of each grid point are only saved once although, a grid point is shared by a number of tetrahedrons. Therefore, the nodes of the tetrahedrons in the segment grid are only references to a point list. Another memory saving effect is that the distributed attribute values are also saved only once on the grid points in the respective segment and not on each tetrahedron node.

The WAFER-STATE-SERVER is not merely a file reading and writing tool, it is in principle a data management tool. In the beginning all grid and attribute information from the input file are read and then held in the WAFER-STATE-SERVER during the simulation. It achieves an abstraction of the physical stored data in the file to logical dats in the program. For FEDOS the WAFER-STATE-SERVER supplies a lot of useful grid operations like surface and interface extraction, point and element location, or attribute updates during the simulation. For simulation with FEDOS the WSS input file must at least contain the grid information of the discretized structure. The simulation results are written to the output file in form of distributed attributes. For the oxidation simulation the results are the distribution of the oxidant concentration $ C$ and the normalized silicon concentration $ \eta $. For the mechanical problem with its displacements also the point coordinates are modified in the output file.

6.1.3 QQQ-solver

The solving of the (linear) global equation system is performed with the QQQ-solver [100], also developed at the Institute for Microelectronics. The QQQ-solver is based on the Gaussian method [101], which uses a factorization of the matrix $ \mathbf{A^g}$ in a lower and upper triangular matrix ( $ \mathbf{A}= \mathbf{L}\cdot\mathbf{U}$), so that the equation system $ \mathbf{A}\cdot\vec{x}=\vec{b}$ can be written as

$\displaystyle \mathbf{L}\cdot\mathbf{U}\cdot\vec{x}= \vec{b,} \qquad\quad \math...\vec{y}= \vec{b} \qquad \mathrm{with} \qquad \vec{y}=\mathbf{U}\cdot\vec{x}.$ (6.1)

Therefore, the Gaussian algorithm is specified by the following three steps:

1. $ \;\mathbf{A}= \mathbf{L}\cdot\mathbf{U}$: Gaussian elimination by factorization ( $ \mathbf{L}$ and $ \mathbf{U}$ is computed )

2. $ \;\mathbf{L}\cdot\vec{y}= \vec{b}$: forward-substitution ($ \vec{y}$ is computed )

3. $ \;\vec{y}=\mathbf{U}\cdot\vec{x}$: backward-substitution ($ \vec{x}$ is computed )

The QQQ-solver also supplies a transformation matrix $ \mathbf{T_b}$ which allows to transform the equation system $ \mathbf{A}\cdot\vec{x}=\vec{b}$ to [102]

$\displaystyle \mathbf{T_b}\cdot\mathbf{A}\cdot\vec{x}= \mathbf{T_b}\cdot\vec{b}.$ (6.2)

As depicted in Section 5.3.2 and 5.3.3 the matrix $ \mathbf{T_b}$ can be used for the elimination of equations not needed because of Dirichlet boundary conditions or for correcting the equation system in case of mechanical interfaces.

The assembling of the equation system is performed by FEDOS by generating the matrices $ \mathbf{A}$, $ \mathbf{T_b}$ and $ \vec{b}$ for the QQQ-module. After solving the QQQ-module returns the results to FEDOS. The complete equation system for the oxidation problem (see Section 5.3.4) consists of the non-linear (diffusion-reaction) part and the linear (mechanical) part.

The non-linear sub-system requires some Newton iterations, until it fulfills the termination conditions. It should be mentioned that the QQQ-module is not a non-linear solver, it can only can handle linear systems. As described in Section 5.3.5 FEDOS assembles the non-linear sub-system in such a kind that it becomes a linear system for increments $ \Delta x_i$, which can be solved by the QQQ-module. These increments are computed in a way that FEDOS can build a solution. This procedure is repeated until the approximation fulfills the desired terminating conditions.

next up previous contents
Next: 6.2 Simulation Procedure Up: 6. Simulation of Thermal Previous: 6. Simulation of Thermal

Ch. Hollauer: Modeling of Thermal Oxidation and Stress Effects