The generation of locally adapted conforming tetrahedral meshes is an important component of many modern algorithms in the finite element solution of partial differential equations. Typically, such meshes are produced by starting with a coarse initial tetrahedral mesh followed by mesh adaption on demand over space and time. During the calculation of a time step a combination of error estimation and refinement is necessary to deliver higher accuracy, if needed, by increasing the spatial resolution. Features for refinement based on different kinds of error estimations and refinement methods applied to an initial mesh have been added to the three-dimensional Finite Element Diffusion and Oxidation Simulator Fedos.

Using strict isotropic meshes for three-dimensional process simulation is not practicable. The need for calculation time and the limitation of memory tends to result in anisotropic adapted meshes which are more manageable. The idea is to create tetrahedral elements with special geometric qualities by manipulation of an initial coarse mesh. The basic manipulation step in our work is tetrahedral bisection. When bisecting a tetrahedron, a particular edge called the refinement edge is selected for the new vertex. As new tetrahedra are constructed by refinement, their refinement edges must be selected carefully to take an anisotropic shape into account and not to produce degenerately shaped elements. Different kinds of refinement methods have been implemented, investigated, and added to Fedos.

In the numerical solution of practical problems of semiconductor device and process simulation, one often encounters the diffculty that the overall accuracy of the numerical approximation is deteriorated by local singularities. An obvious remedy is to refine the discretization in the critical regions. The question is how to identify these regions and how to obtain a good balance between the refined and unrefined regions such that the overall accuracy is optimum. These considerations clearly show the need for error estimators which can be extracted a posteriori from the computed numerical solution and the given data of the problem. The error should be local and should yield reliable upper and lower bounds. The global upper bounds are suffcient to obtain a numerical solution with an accuracy below a prescribed tolerance. Local lower bounds are necessary to ensure that the grid is correctly refined to obtain a numerical solution with a prescribed tolerance using a (nearly) minimum number of grid points. Several error estimators have been implemented in Fedos. An interface which supports an error-driven refinement has been added in order to provide powerful and flexible coupling between error estimation and mesh refinement.