next up previous contents
Next: 4.2 Propaedeutic Example Up: 4. Mesh Refinement for Previous: 4. Mesh Refinement for


4.1 Error Estimation

It is well-known that adaptive finite element methods based on an a posteriori error estimator have become very important in scientific and engineering computing. The numerical procedures for practical problems in physics or engineering, such as semiconductor processing and device simulation, often encounter the difficulty that the overall accuracy of the numerical approximation is deteriorated by local singularities. An obvious remedy is to refine the discretization near critical regions. The question is how to identify those regions and how to obtain a good balance between refined and non-refined regions, such that the local accuracy guarantees an desired overall accuracy [73].

A lot of theoretical work with different mathematical and engineering aims has been carried out over the last two decades, see, for example [74,75,76,77,78,79] and references cited therein. One class of a posteriori error estimators is the gradient recovery type, see e.g. [80,81]. Although its mathematical analysis is still incomplete, the gradient recovery error estimator has been widely used in adaptive finite element calculation and software engineering. In the following an error estimator is presented which follows the spirit of gradient recovery estimators. The basic idea is to find an estimator that considers the change of the calculated gradient from one element to a neighboring one.

For the following a linear basis function approach as described in Section 3.1.3 for the interpolation over a $ 3$ -simplex of scalar data in a 0 -face relation, cf. Figure 3.1(a) is assumed. The gradient field can than be calculated as described in Section 3.3.1, Equation (3.16). Since the vector field (3.16) is piecewise constant, it is obvious that strong variations of the gradient from one element to an adjacent one yield an approximation error compared to the proper continuous gradient field.

In order to rate the gradient discretization error a posteriori, linear basis functions, see Equation (3.6) are used, to construct a piecewise linear gradient field. To accomplish this idea it is required to assign an estimated gradient vector - vertex gradient vector - $ \vec{G}_{P}$ to each vertex of the mesh. The vertex gradient vector is an arithmetic, volume weighted, average vector of all element gradient vectors $ \vec{G}_{E}$ attached to the vertex, yielding

$\displaystyle \vec{G}_{P}=\frac{1}{V_{\Sigma}}\sum_{i=1}^{n}\vec{G}_{E_i} V_{i},$ (4.2)

where $ V_{\Sigma}$ denotes the volume of the full vertex batch and $ V_{i}$ the volume of the $ i^{\mathrm{th}}$ element. Figure 4.1 illustrates the creation of the vertex gradient for a two-dimensional case, where the volume weights for the gradient sum are the element areas.

Figure 4.1: The vertex gradient $ \vec{G}_{P}$ , see Equation (4.2), is constructed as volume weighted for $ \Bbb{R}^3$ or area weighted for $ \Bbb{R}^2$ arithmetic average for the two- and three-dimensional case, respectively. All element gradients ( $ \vec{G}_{E_1}
\ldots \vec{G}_{E_n}$ ) attached to the vertex $ P$ are evaluated according to Equation (3.16).
\begin{figure}\centering\psfrag{A}{$P$}\psfrag{B}{$\vec{G}_{P}$}\psfrag{...
...{G}_{E_6}$}
\epsfig{figure=pics/error.eps,width=0.45\textwidth}
\end{figure}

The piecewise linear gradient field can be constructed from (4.2) and (3.6) as

$\displaystyle \vec{G}(\xi,\eta,\zeta)=\sum_{k=1}^{4}N_{k}(\xi,\eta,\zeta)\vec{G}_{P_k}.$ (4.3)

The underlying idea of the error estimation is to find a metric which represents the difference between the piecewise constant gradient field (3.16) and the piecewise linear gradient field given by (4.3).

Remark 4 (Euclidian Norm)   In the Euclidian three-dimensional vector space the length of a vector $ \vec{\varphi} \in \mathbb{R}^{3}$ is given by the Euclidian norm

$\displaystyle \Vert\vec{\varphi}\Vert _{2}=\sqrt{\sum_{r=1}^{3}\vert\varphi_{r}\vert^{2}}=\sqrt{\vec{\varphi} \cdot \vec{\varphi}}.$ (4.4)

To calculate the error $ \mu_{T}$ related to an element $ T$ , we accumulate Equation (4.4) applied to the difference between the vector fields (3.16) and (4.3) over the element, i.e.,

$\displaystyle \mu_{T}:=\int_{T}\Vert\vec{G}(\xi,\eta,\zeta)-\vec{G}_{E}\Vert _{2}  dV$ (4.5)

where $ \vec{G}(\xi,\eta,\zeta)$ is given by (4.3), and $ \vec{G}_{E}$ denotes the element gradient vector, see Equation (3.16). Due to the complexity and generality of formula (4.5), the solution is usually evaluated with numerical methods. Appendix B.3 gives a brief sketch of the wide area of numerical integration over an arbitrary $ 3$ -simplex.

The error estimation given by (4.5) assigns each discretization element of the domain an error value. The smaller the error value, the better the piecewise constant vector field fits the piecewise linear one. It is obvious that a strong variation of the gradient from one element to an adjacent one adds to an approximation error. So it is in the nature of this error estimator to detect those regions with higher variation of the gradient.


next up previous contents
Next: 4.2 Propaedeutic Example Up: 4. Mesh Refinement for Previous: 4. Mesh Refinement for

Wilfried Wessner: Mesh Refinement Techniques for TCAD Tools