*morphsmoothmorphbased

Uses a morphing based smoothing algorithm to smooth a mesh and improve element quality.

Syntax

*morphsmoothmorphbased d_entity_type d_mark_id f_entity_type f_mark_id iter quality_level fix_type fix_angle

Type

HyperMesh Tcl Modify Command

Description

This command will smooth any shell or solid element mesh, trying to improve the quality of the mesh while preserving the shape of the mesh. The smoothing of the mesh will be stored as a morph and thus can be undone, redone, or saved as part of a shape.

Two ways are provided to allow the user to fix nodes during the smoothing. The first is manual selection: any nodes on the node mark will be held fixed. The second is automatic selection via the fix_type option where you can select all nodes that lie on edges, faces, or feature lines and fix them all at once. All nodes selected using both methods will be fixed.

Inputs

d_entity_type
Valid values are domains and elems.
d_mark_id
The mark ID of the domains or elements to be smoothed. Valid values are 1 and 2.
f_entity_type
Valid values are nodes.
f_mark_id
The mark ID of the nodes to be held fixed. Valid values are 1 and 2.
iter
The number of smoothing iterations that will be performed on the mesh. A normal value is 50.
quality_level
The desired quality level you wish to attain. The higher the level, the more time required to smooth the mesh.
  • 1 - low quality, faster solving
  • 2 - Balance between quality and solution speed
  • 3 - High quality, slower solving
fix_type
Specifies which parts of the mesh should be automatically fixed in addition to any fixed nodes. Nodes associated with morph constraints will automatically be fixed. For best results, at least one node should be fixed using either this parameter or the mark of fixed nodes.
  • 0 - Nodes at handles (only when domains have been selected)
  • 1 - Fix edge domains or any nodes around the edge of selected elements
  • 2 - Fix nodes on feature edges
  • 3 - Fix nodes on the faces of the domains or elements
fix_angle
If fix_type is 3, the feature angle for determining the feature lines must be provided. For all other fix types this value is ignored.
If the angle between two shell elements or the faces of two solid elements exceeds this value, a feature line will be placed between the two elements which will fix the nodes along that line. Valid values are between 0.0 and 180.0 with 0.0 meaning that the elements are perfectly flat. A normal value is 30.0.

Examples

To smooth a 2D domain at a balanced quality level with only the edge domains around it fixed:

*createmark domains 1 9
*createmark nodes 1 
*morphsmoothmorphbased domains 1 nodes 1 50 2 1 30
To smooth a solid mesh at the best quality level while fixing the edges, feature lines, and a few user specified nodes, but not the face nodes:
*createmark elements 1 "all"
*createmark nodes 1 6079 6080 6108 6112 6113 6114
*morphsmoothmorphbased elements 1 nodes 1 50 3 2 30

Errors

Incorrect usage results in a Tcl error. To detect errors, you can use the catch command:
if { [ catch {command_name...} ] } {
   # Handle error
}