Whisker Weave

 

Whisker Weave


Applies to: Volumes

Summary: Research algorithm for all-hexahedral meshing of arbitrary 3D volumes

Syntax:

Volume <range> Scheme Weave

Related Commands:

Pillow Volume <range>

{Volume|Surface|Curve} <range> Mesh [Fixed|Free]

Set AutoWeaveShrink [on|off]

Set Statelist [on|off]

Discussion:

Whisker Weaving (Tautges, 96; Tautges, 95; Folwell, 98) is a volume meshing algorithm currently being researched and is not released for general use. However, daring users may find the current form of the algorithm useful for mostly-convex geometries.

Whisker Weaving holds the promise of being able to fill arbitrary geometries with hexahedra that conform to a fixed surface mesh. The algorithm is based on the rich information contained in the Spatial Twist Continuum (STC) (Murdoch, 95), which is the grouping of the dual of an all-hexahedral mesh into an arrangement of surfaces called sheets. Given a bounding quadrilateral surface mesh, Whisker Weaving constructs sheets advancing from the boundary inward. The sheets are then modified so that the arrangement dualizes to a well defined hexahedral mesh. Once the primal hex-mesh is generated, interior node positions are generated by smoothing.

Examples of meshes generated using the whisker weaving algorithm are shown in the following figure.

Some simple Whisker Weaving meshes with good quality


Whisker Weaving Basic Commands

The basic steps for meshing a volume with Whisker Weaving are the following:

  • Set the meshing scheme for the volume to weave,

Volume <range> Scheme Weave

  • Mesh the volume, which generates hexes,

Mesh Volume <range>

  • Pillow the volume to remove certain additional degenerate hexes,

Pillow Volume <range>

  • and typically, smooth the mesh to improve quality, e.g.

Volume <range> Smooth Scheme Condition Number

Smooth Volume <range>

Whisker Weaving Options

Currently, Whisker Weaving relies on being able to perturb the bounding quadrilateral mesh. However, a bounding surface's mesh will not be changed if it is contained in another volume that is already meshed.

The user may also explicitly prevent Whisker Weaving from changing a bounding mesh by fixing it with the following command:

{Volume|Surface|Curve} <range> Mesh [Fixed|Free]

The user may select an optional control strategy that doesn't change the surface mesh by setting AutoWeaveShrink off, and setting Statelist on with the following commands:

Set AutoWeaveShrink [on|off]

Set Statelist [on|off]

Numerous developer commands are available for stepping through the algorithm, examining results, and toggling options. These are available via the command line help but are not detailed here.