*smooth3d

Optimizes node locations of 3D elements aginst user supplied quality criteria.

Syntax

*smooth3d entity_type mark_id options

Type

HyperMesh Tcl Modify

Description

Optimizes node locations of 3D elements aginst user supplied quality criteria.

For nodes on the boundary of the selected elements, tolerances to limit node movement off and along boundary may be defined to improve the quality near the boundary. Please note that nodes that are adjecent to unselected elements are always fixed and these tolerances have no effect.

For practical use, it is better to set the off/along boundary tolerances small and do multiple runs.

Inputs

entity_type
The type of entities to smooth. Valid values are comps and elems.
mark_id
The ID of the mark of entities to smooth. Valid values are 1 and 2.
options
A quoted string of space separated name=value options, which specify the run parameters and one or more quality criteria with the corresponding thresholds and weights.
The run parameters options the substrings below. If an option is not given, it takes the default value. Options can be given in any order. Valid options are:
feature_angle=<angle>
The feature angle. Default 60.
niter=<number>
The maximim number of smooth iterations. Default 50.
shell_dev=<off_tol>,<along_tol>
The boundary node move limits for off and along boundary relative to local elems size. Defaults are 0.01,0.1.
show_dim=<flag>
Show before move node locations using temp nodes.
0 - Do not show (default)
1 - Show edge node moves
2 - Show surface node moves
The quality parameters have one or more substrings as shown below. Only specified criteria are considered. Options can be given in any order. Valid options are:
angle2d=<min_tria_angle>,<max_tria_angle>,<min_quad_angle>,<max_quad_angle>,<weight>
The improve face angle for both tria and quad faces.
aspect=<thr>,<weight>
The improve aspect ratio.
jcbr=<thr>,<weight>
The improve jacobian ratio.
size=<min_size>,<max_size>,<weight>
The improve min/max size. The size is not something that is optimized. Iternally, the size is just equalized/smoothed.
skew=<angle>,<weight>
The improve skew.
warp=<angle>,<weight>
The improve warpage of quad faces.

Examples

*smooth3d elems 1 "niter=100 shell_dev=0.02,0.1 feature_angle=45 show_dim=2 warp=25,2 size=1.0,5.0,1 angle2d=20,120,40,140,1 aspect=3,1"

Errors

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

Version History

2019