The idea behind the Hessian refinement method is to use the Hessian
matrix, calculated for a given scalar data field
, stored on
the initial mesh, for the anisotropic metric function
, which is
used for the anisotropic tetrahedral bisection algorithm.
The Hessian for a three-dimensional function with non-zero second derivatives is given by
In general the entries of the Hessian matrix are possibly negative or may be zero. For the usage of the Hessian as metric for the refinement strategy, a transformation has to be performed. This transformation is done simply with the norm of all function derivatives and offsetting by the identity matrix. The corresponding matrix can be written as
Since the scalar function
is not known analytically,
which is almost the case for numerical calculations in TCAD tools, a method has
to be found, where a local approximation of the Hessian matrix can be
defined. Linear interpolation via the linear weighting functions (as depicted
in Equation 3.7) is not practicable, as the piecewise constant
gradient cannot be derived any more. Based on the scalar data function
values stored on the 0
-faces of the mesh which gives a scattered data
distribution (scalar data 0
-face relation, cf. Figure 3.2(a)) a
method is derived which allows to calculate an estimation of the Hessian matrix
based on a least squares fit of an three-dimensional model function.
For the fitting of a model function to some given scattered data, a function is
used which measures the closeness between the data and the model function
and determines all parameters of the model function for a best fit. An
established method for this task is so-called least squares fitting
which is is a procedure for finding the best-fitting curve by minimizing the sum of
the squares of the offsets, the so-called residuals, of the data points from the
curve [61].
The choice of a proper model function is difficult, because in general the
characteristic of the scattered data function is not known. Based on the
definition of the Hessian matrix, the model function should be continuous, twice
differentiable and sufficiently smooth. Preliminary experiments have shown
that model functions with the characteristics of a Gaussian bell curve fulfill
these requirements.
On this note, the following model function is used as local approximation function of the scattered scalar data, stored on the mesh:
The determination of the fitting parameter set
is
performed pointwise, i.e. for every vertex in the mesh a different set is
calculated. For the parameter set the degrees of freedom is seven, which is the
minimum of scattered data points to be considered. For the
calculation of the fitting parameters related to a particular vertex the
nearby vertices of this vertex have to be taken into account. This can be
carried out by looking at all vertices which are connected to the particular
vertex via edges, this is the so-called point batch of the particular
vertex. If this does not yield enough data points, the point batch has to be
extended by the point batches of all the points of the initial point batch and
so on, for instance.
The Hessian matrix can now be calculated from the model function
given
by Equation (3.20), which is a continuous approximation of the
scattered scalar data function and afterwards used as anisotropy metric
tensor function for the anisotropic tetrahedral bisection algorithm.
Since the set
is determined locally for each
vertex, the Hessian is also defined for each vertex. With respect to the
model function
the Hessian is given by
(3.21) |
For the metric tensor function and the anisotropic line length calculation, see Equation (2.2), the pointwise defined metric via the Hessian matrix is kept constant up to the middle of the edge. This is shown in Figure 3.12 for two mesh points and with the constant metric functions and and their region of validity.
To see the Hessian refinement method in action, an example was chosen, where an initial three-dimensional cylindric tetrahedral mesh structure holds a two-dimensional scalar data distribution given analytically for this propaedeutic example. The scalar data distribution reads to
A plot of this function over the used range for and is depicted in Figure 3.13(a).
In this exceptional case we are in the lucky position that the scalar data
function is given analytically which allows a direct calculation of the Hessian
matrix. For the later-on presented results, of course, the approximation via the
model function
, see Equation (3.20), as described in
Section 3.4.1 was used.
However, the Hessian for the function given in Equation (3.22) reads to:
The evaluation, with respect to Equation (3.19), of the transformed Hessian for three particular points , , and is depicted in Figure 3.14. Please notice that the spatial expansion of the ellipsoidal glyph are scaled. The blue ellipsoid at is almost a sphere, since the entries of the Hessian given in Equation (3.23) are almost zero for this point, and as described in the beginning of Section 3.4, for the metric definition, the Hessian is offset by the identity matrix.
In Figure 3.14 one can clearly observe, that the refinement
is directionally oriented so that there is no dilation along the
-axis. Along
the positive
-direction the intensity decreases to almost zero at
. This
behavior can also be observed along the
-axis. For the refinement only
regions are relevant where the ellipsoidal glyph representation of the
metric function have semiaxis larger than unity . Based on this note one can
expect significant refinement only for the region
to
. The
refinement does not influence edge lengths along the
-axis. For a first
guess the intensity of the refinement at the point
along the
-axis is of the same strength as that given for
the
-axis. Therefore one can expect approximately the same mesh density along the
- and
-axis in this region.
For the following results the Hessian matrix is calculated by a least squares
fit of a model function which shows the form of a three-dimensional Gaussian
bell curve, described in Section 3.4.1. It is in the nature of this
approach that the approximated Hessian shows slight differences compared to
the proper definition given in Equation 3.18, since the scalar data
function is usually not known analytically.
Figure 3.15 gives an overview of the initial and refined mesh
constellation. The upper left picture depicts the initial coarse cylindric mesh
structure, and the corresponding right picture shows additional iso-levels of the
scalar data distribution. The curvature of the iso-surfaces decreases with
increasing spatial
coordinates and shows almost no curvature along
the
-axis. To see both, the mesh and the iso-surfaces, the mesh structure is
fractionalized in the way that for negative
values only a couple of
iso-surfaces are visible.
The second row shows the same pictures for the Hessian refined structure. Again,
Figure 3.15(c) depicts the whole mesh structure and the according right
picture gives the truncated part with the iso-surfaces. One can clearly observe
that the
direction is influenced only slightly by the refinement and shows
almost a coarse mesh density, different to the mesh density along the
- and
the
-direction, which gives a most regular structure in regions of low
values. With increasing
values the mesh density decreases up to regions
beyond
which are not influenced by the refinement.
Figure 3.16 gives an orthographic view of one quarter of the refined mesh structure. Here again the mesh is fractionalized to see the shape of the mesh elements. In this picture one can clearly see, that the refinement follows the curvature of the iso-surfaces and leaves regions with flat surface levels untouched.