Three levels of mesh size specification are considered -- global mesh size specification, local mesh size specification and adaptive mesh size specification. The global mesh size specification uses the global weighted functions to control the mesh size description over the domain. The local mesh size specification concept prescribes the desired mesh size variation on model entities. In the adaptive mesh size specification strategy, various mesh size sources built according to preceding problem analysis are used.
The local mesh size specification consists of two parts -- required mesh size specification and curvature based mesh size control. The former concept is used to explicitly prescribe the mesh size at individual model entities. Mesh size specification is stored at each vertex and at each control point of any curve or surface. These values are used to extract the mesh size specification on a curve or surface. Moreover, each model entity (except vertices) stores an upper bound limit on mesh size which is not allowed to be exceeded. The latter concept is employed to enable accurate representation of curve or surface by its discretization even if no particular mesh size is required. The criterion is based on the ratio between the appropriate mesh size and the radius of curvature at a given location on the curve or surface.
The adaptive mesh size specification is based on a background mesh (typically identical with the mesh used in the previous step of the adaptive analysis) with mesh size specification at nodes and linear interpolation over the elements.
In order to control the element size gradation, an octree is built
around the domain to be discretized. The size of
individual octants corresponds approximately to the required element
spacing specified by the user while the nodes of the octants are storing
the required spacing exactly. To ensure the gradual variation of element
size the maximum one octree level difference of octants sharing an
edge is enforced followed by appropriate modification to the octant
nodal values of size. This will guarantee creation of well shaped
elements. During the actual mesh generation the
required element size is extracted from the octree for a given location using
the interpolation of octree nodal values of mesh size. Note that the
same octree is used as means for spatial localization.