next up previous contents
Next: 3.4 Local Adaptation Up: 3. Mesh Generation Previous: 3.2.3 Simple, Distinctive Mesh


3.3 Control Space

In order for a specific application to influence the meshing process aside from geometrical concerns a control function must be defined. The stepsize $h$ specifies the desired mesh spacing at a given location and a given direction.

\begin{displaymath}
h = \mathcal{F}(\mathbf{x},\vec{d})
\end{displaymath} (3.20)

For an isotropic mesh density the dependence on $\vec{d}$ can obviously be omitted. The control function is not likely to be prescribed analytically or manually. It usually depends on a key variable of the physical problem. Hence, the control function itself must be defined on a different mesh. This background mesh is used to evaluate the control function $\mathcal{F}$ of the discrete key variable given at the mesh points. The background mesh must at least cover the entire simulation domain and is present during the generation of the actual boundary consistent simulation mesh. Such a background mesh is often provided by a simple ortho-product grid or an octree structure. The conjunction of the control function and the background mesh is called the control space3.3. For example, in semiconductor device simulation a typical key variable is the electron concentration $n$. Let $n$ be defined on a simple structural grid which is not consistent with the boundary. An appropriate definition of $\mathcal{F}=g(n)$ governs the mesh density. To achieve higher refinement and smaller elements in regions where the gradient is large one can define
\begin{displaymath}
\mathcal{F}(\mathbf{x},\vec{d}) = \frac{\Delta_{\max}}{\alpha + \vert\vec{d} \cdot
\nabla n\vert}
\end{displaymath} (3.21)

where $\alpha $ is a small regularizing term and $\Delta_{\max}$ is an approximate parameter for the maximum allowed increase of $n$ within a mesh element. The spacing of mesh points $h_{x}$ in the direction of the x-coordinate axis ( $\vec{d} = \vec{e}_{x}$) should be
\begin{displaymath}
h_{x} = \mathcal{F}(\mathbf{x},\vec{e}_{x}) < h_{x}^{B}
\frac{\Delta_{\max}}{\vert\Delta n\vert}
\end{displaymath} (3.22)

where $h_{x}^{B}$ is the spacing in the direction of the x-coordinate axis of the background mesh and $\Delta n$ is $(n(\mathbf{x})-n(\mathbf{x}+h_{x}^{B})$.

The aim to accurately discretize the solution quantities or to choose a control function $\mathcal{F}$ which depends on the solution itself leads to the problem that the required element size is not known a priori. A previous simulation mesh with an existing solution must be used as a background mesh to judge whether or not the mesh density needs to be increased. There exists no knowledge of how pronounced this increase should be. A solution dependent measure $Q_{sol}(\mathbf{x}, \vec{d})$ must be defined to assess the existing mesh. To achieve an anisotropic mesh spacing this metric $Q_{sol}$ must be capable to judge the mesh/solution with respect to the direction $\vec{d}$. Typically, $Q_{sol}$ reflects interpolation errors, error estimates, second order derivatives, and error indicators. Numerous approaches can be found in literature [17,9,6]

\begin{displaymath}
\int_{e} \vert\nabla(u_{quad} - u_{lin})\vert^{2} \, dx
\end{displaymath} (3.23)


\begin{displaymath}
\int_{e} (u_{quad} - u_{lin})^{2} \, dx
\end{displaymath} (3.24)


\begin{displaymath}
\int_{e} \vert u_{ref} - u_{lin}\vert \, dx
\end{displaymath} (3.25)

where $u_{quad}$ denotes a quadratic interpolant, $u_{lin}$ a linear interpolant, and $u_{ref}$ a reference solution. Error indicators or a posteriori error estimates for $(u - u_{lin})$ can be developed if specific properties of the solution, e.g. in the case of elliptic or parabolic problems, are known [10]. For anisotropic control the error contribution of each edge of the mesh element must be separately evaluated.

The control function $\mathcal{F}$ can be formally expressed as

\begin{displaymath}
h = \mathcal{F}(\mathbf{x},\vec{d}) = g(h^{B}(\mathbf{x},\vec{d}),
Q_{sol}(\mathbf{x},\vec{d}))
\end{displaymath} (3.26)

where $h^{B}$ is the local mesh spacing of the background mesh. For some applications, e.g. periodic systems, such an absolute value for $h$ serves as an upper bound to guarantee a certain accuracy. An explicit function for $h$ is also needed for global adaptation. The entire domain is remeshed with new elements which are not created from simple refinement of the old elements. The old mesh is used purely as background mesh providing the old solution and not for the actual construction of the adapted mesh. The meshing process guided by a measure $Q_{sol}$ becomes an iterative process which starts on an initial coarse mesh with a first solution. The initial mesh can only be controlled by geometrical constraints and/or key variables which are independent of the solution. However, most practical codes perform a less sophisticated adaptation. Adaptation usually means then local adaptation by means of local refinement. The function $\mathcal{F}$ is not known, instead threshold decisions based on $Q_{sol}$ determine whether or not an element is locally split in half. The mesh is only adapted isotropically and locally to the solution.


next up previous contents
Next: 3.4 Local Adaptation Up: 3. Mesh Generation Previous: 3.2.3 Simple, Distinctive Mesh
Peter Fleischmann
2000-01-20