Remeshing

Mesh generation is frequently an iterative process of meshing, deleting the mesh, and remeshing. The remesh command is a convenient tool to bypass the mesh deletion process when used to remesh a volume. You may also use the remesh command to replace a localized set of deformed triangles or tetrahedra after analysis. Thus, remeshing can become part of an optimization loop.

Use the following command to remesh hexahedra:

Remesh Volume <range>

Use the following command to remesh tetrahedra:

Remesh {Volume|Block|Tet} <range> [FIXED|free]

or to remesh a range of tets or tris based upon quality criteria:

Remesh Tet <id_range> | [quality <tet_metric> [less than|greater than] <value> ...] [inflate <value>][FIXED|free][preview]

Remesh Tri <id_range> | [quality <tri_metric> [less than|greater than] <value> ...] [inflate <value>][preview]

Remeshing a Swept Volume Mesh

The remesh command can be useful when using the sweep scheme. When a sweep scheme is applied to the volume, it will delete the target surface mesh on a volume with one of the sweeping schemes and then remesh the volume. It is useful when changing between sweep smooth options as in the following example below.

volume 1 scheme sweep
mesh volume 1

At this stage, the user may discover that poor quality elements may have been generated. The user could then do the following:

volume 1 sweep smooth winslow
remesh volume 1

At this point, the volume is remeshed using the sweep smooth winslow option.

Remeshing Tetrahedra

When used for tetrahedra, the Remesh command generates a new tetrahedral mesh after deleting the existing mesh described by the list of tetrahedra, volumes, or blocks. When remeshing a list of tetrahedra, the smallest set of tets possible is replaced, which often means a partial remeshing of volumes, surfaces and/or curves. This set will always include the input list of tetrahedra but may include more.

Each tetrahedron may only be in one volume or block, but the list of tetrahedra may span volumes or blocks. Each block is treated individually if multiple blocks are specified.

The default FIXED option will ensure that any triangle or edge in the tetrahedron list to be remeshed that lie on geometric surfaces or curves will not be affected by the remesh operation. In contrast, the free option allows edges and triangles on curves and surfaces to be removed and remeshed. Use the FIXED option when it is important to maintain the boundary mesh configuration fixed, otherwise the free option will remesh the portions of curves and surfaces in the remesh region.

The Remesh command can be used to selectively remove and remesh a small portion of tetrahedron in the mesh that have been identified as poor quality. This can be an effective tool for improving mesh quality on a deformed mesh following an analysis without the need to regenerate the full mesh.

The quality option will identify those tetrahedra from the full model and apply the remeshing opertaion only to those tetrahedra. Any of the standard quality metrics for tetrahedra may be used as the <tet_metric>. These include: Aspect Ratio Bet, Aspect Ratio Gam, Element Volume, Condition No., Jacobian, Scaled Jacobian, Shape, Relative Size, Shape And Size, Distortion, Allmetrics, Algebraic and Traditional. The metric specification is used in conjunction with a less than or greater than specification and a threshold value. For example, the syntax below would remesh all tetrahedra in the mesh who's scaled jacobian metric was less than 0.2.

remesh tet quality Scaled Jacobian less than 0.2 inflate 1 free

The inflate option can be used to expand the set of tets selected by the quality metric criteria. The <value> input following the inflate option is the number of tet layers surrounding the poor quality tets that will be included in the remesh region. Usually a value of 1 is sufficient to allow the tet mesher to generate better quality elements, however 2 or greater will remesh a larger portion of the mesh. A value of 0 is generally not recommended as it usually does not provide enough space for the tet mesher to improve element quality. The inflate option can also be used independently from the remesh command. See the Inflate command described below.

This command also allows for multiple quality criteria. For example, the following command would use both aspect ratio and scaled jacobian as criteria for remeshing. Any number of quality criteria may be included in the command syntax:

remesh tet quality Scaled Jacobian less than 0.2 quality Aspect Ratio Bet greater than 4 inflate 1 free

The preview option will display the tetrahedra selected by the quality criteria and inflate options without actually performing the remeshing operation.

Sizing functions may be used with tet remeshing. See Mesh Adaptivity and Sizing Functions and Exodus II-based Field Function for more information.

Inflating a set of Tets

In cases where a set of tets are to be remeshed, it is useful to be able to expand the set to include additional surrounding tets. This is to allow the mesher more freedom to place good quality elements, but also to ensure a valid shape in which the mesher has to work. The Inflate command starts with a given set of tetrahedra and will expand the set based on the number of user defined layers as well as manifold criteria. The result will be added to the curent group, or a new group can be created. The following describes the syntax and arguments to this command:

Inflate {group <id>|tet <ids>} {manifold|layer <value>}[{add|create <"name">}] [draw]

group<id>|tet<range>: input to this command can be with a group name, group id, or a range of tets. The group must contain at least 1 tet. The tets need not be contiguous.

manifold: This option will add tets to the set where the boundary or skin of the tets meet at a single edge or node. This ensures that a complete valid manifold definition of the boundary of the set of tetrahedra can be defined. This is important for the tetrahedral mesh generator which requires a manifold boundary definition. both layer and manifold can be used in the same command.

layer <value>: This option will add the number of layers of tets indicated by value to the set. A layer is defined by all tets connected by at least a node to the skin of the existing set. This option alone does not guarantee a valid manifold definition. Use both the layer and manifold in the same command options to ensure a manifold definition.

add|create<"name">: The add option will add tets in the inflated region to the input group. An input group must be specified for this to be a valid option. The create option will create a new group and add all tets (including the input), to a new group specified by <"name">. If neither add nor create are specified, a new default group named "inflated_tets" will be created. If a group of that name already exists, it will be added to.

draw: The draw option will display both the input set of tets and the inflated tets in the graphics window. The input tets will be displayed in green and the inflated tets will be displayed in red.

Examples:

Generate a simple tet mesh. For tets with ids 1 to 10, define a 1 layer buffer and ensure it maintains a manifold boundary. The result will be placed in a new group called "inflated_tets" and displayed in the graphics window.

brick x 10
vol 1 scheme tetmesh
mesh vol 1
inflate tet 1 to 10 layer 1 draw

Create a group called "bad_tets"containing all tets in volume 1 with quality metric (scaled Jacobian) less than 0.2. Expand that group by one layer and remesh it.

group 'bad_tets' equals qual vol 1 scaled high 0.2
inflate bad_tets layer 1 add
remesh tet in bad_tets

Remeshing Triangles

Remeshing triangles works in many of the same ways as remeshing tets, generating a new triangle mesh after deleting the existing mesh described by the list of triangles. When remeshing a list of triangles, the smallest set possible is replaced, which often means a partial remeshing of surfaces only. This set will always include the input list of triangles but may include more to ensure the set is non-manifold. Some important differences between remeshing triangles vs tets are: