*morphshrinkmvols

Applies shrinking to selected morph volumes.

Syntax

*morphshrinkmvols ctype cmark buffer iface itermax uvec vec

Type

HyperMesh Tcl Modify Command

Description

This command performs one or more iterations of shrinking to the selected morph volumes with the objective of meeting the target buffer percentage regardless of the shape of the mesh.

Two methods are supported: implicit and explicit; and can be set with the iface option. Explicit is the older, slower method which uses externally calculated sensitivities for the interior nodes, and implicit is the newer, faster method which uses internally calculated sensitivities for the interior nodes. After using the intrinsic method, this command should be called with iface = 6 to clear the memory allocated for quicker iterations.

To perform iterations one at a time, call this command with itermax set to -1 for the first iteration and then decrement the value for each subsequent iteration (i.e. -1 first, then -2, -3, etc.). This enables proper convergence while retaining the option to abort the process at any time.

Assigning a vector and setting the uvec flag will restrict the movements of the nodes which define the morph volumes so that they can only move in the direction of the vector. This will apply to all the nodes of the morph volumes.

Inputs

ctype
morphvolumes
cmark
Mark ID of morph volumes to be shrunk. Valid values are 1 and 2.
buffer
Percentage buffer zone target.
iface
0 - extrinsic mode + do not allow inner faces to move
1 - extrinsic mode + allow inner faces to move
3 - extrinsic mode + grow faces to full height
4 - intrinsic mode + do not allow inner faces to move
5 - intrinsic mode + allow inner faces to move
6 - intrinsic mode, clear memory allocated (no shrinking is performed)
itermax
A positive value indicates the maximum number of iterations allowed.
A negative value indicates that one iteration is performed.
uvec
0 - Allow morph volume nodes to move in all directions.
1 - Limit morph volume nodes to move only along vector.
vec
Vector constraining the movement of morph volume nodes.

Examples

To shrink all the morph volumes in the model while allowing internal face movement and not restricting the movement of the corner nodes for four iterations:

*createvector 1 1.0 0.0 0.0
*createmark morphvolumes 1 "all"
*morphshrinkmvols morphvolumes 1 10.0 1 4 0 1

To shrink all the morph volumes in the model, allowing internal face movement and not restricting the movement of the corner nodes, for four consecutive iterations:

*createvector 1 1.0 0.0 0.0
*createmark morphvolumes 1 "all"
*morphshrinkmvols morphvolumes 1 10.0 1 0 0 1
*createvector 1 1.0 0.0 0.0
*createmark morphvolumes 1 "all"
*morphshrinkmvols morphvolumes 1 10.0 1 -1 0 1
*createvector 1 1.0 0.0 0.0
*createmark morphvolumes 1 "all"
*morphshrinkmvols morphvolumes 1 10.0 1 -2 0 1
*createvector 1 1.0 0.0 0.0
*createmark morphvolumes 1 "all"
*morphshrinkmvols morphvolumes 1 10.0 1 -3 0 1

Errors

This command does not return any errors that can be handled.

Version History

9.0