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.
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 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
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:
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 and the normalized silicon concentration . For the mechanical problem with its displacements also the point coordinates are modified in the output file.
The QQQ-solver also supplies a transformation matrix which allows to transform the equation system to [102]
The assembling of the equation system is performed by FEDOS by generating the matrices , and 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 , 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.