*morphvolumecreateflex

Creates a series of morph volumes using a selected profile (elements, morph volumes, lines, matrix) along a line, vector, through elements, or about an axis.

Syntax

*morphvolumecreateflex e_entity_type e_mark_id xd yd zd buff system_id han order tan m_entity_type m_mark_id alines apoints mlines mpoints plane method drag

Type

HyperMesh Tcl Modify Command

Description

This command will create one or more morph volumes starting from a profile defined by morph volumes, elements, lines, x-y densities, or rho-theta densities, and dragging them along a line, a nodelist, along a vector, about an axis, or through the element or nodes on the mark. It can also be used to generate a morph volume matrix using the global system or a local system although profile shrinking is not available for this option.

After generation the matrix will be enlarged to fit the selected nodes or elements if the initial drag does not contain them. Thus, the edges of the morph volumes may not fit the initial profile or be limited by the specified drag distance or angle.

Profile shrinking will shrink each profile along the drag direction in order to fit the morph volume matrix close to the mesh taking into account the specified buffer zone value.

Inputs

e_entity_type
Valid values are nodes and elems.
e_mark_id
The ID of the mark containing the nodes or elements. Valid values are 1 and 2.
xd
Density of the profile mesh in the x or radial direction (for off-axis profiles, the x direction is the direction closest to either the global x axis or the global y axis if the global x axis is parallel to the drag direction).
yd
Density of the profile mesh in the y or tangential direction.
zd
Density of the morph volume matrix in the dragged direction.
buff
Percentage buffer zone between matrix and enclosed entities.
system_id
ID of system used to orient matrix (method 0). If the specified system is cylindrical, the matrix will be laid out in a cylindrical fashion.
han
0 - Do not create handles for morph volumes
1 - Create handles for morph volumes
order
The order of morph volumes:
1 - No mid-edge handles
2 - One mid-edge handle
3 - 6 - Two to five mid-edge handles
tan
0 - No tangency
1 - Make neighboring morph volume edges continuously tangent
m_entity_type
Valid values are hypercubes and elems.
m_mark_id
The ID of the mark containing the hypercubes or elements for the profile. Valid values are 1 and 2.
a_lines_list
The ID of the list containing the lines used to create line to drag matrix. Valid values are 1 and 2.
a_points_list
The ID of the list containing the nodes used to create line to drag matrix. Valid values are 1 and 2.
m_lines_list
The ID of the list containing the lines used to create the profile. Valid values are 1 and 2.
m_points_list
The ID of the list containing the nodes used to create the profile. Valid values are 1 and 2.
plane
The ID of the plane created using *createplane for the dragging vector or the axis of rotation for dragging about an axis.
method
Select the dragging method and add the desired profile to calculate the method.
Dragging method:
  • 0 - Create matrix with densities x, y, and z in global system if sysid is 0 otherwise use specified system
  • 1 - Drag profile along line
  • 2 - Drag profile along node list
  • 3 - Drag profile along vector
  • 4 - Drag profile about an axis
  • 5 - Drag profile through a mesh (profile must be defined by mvol, elements, lines, or a node list to use this option
  • 6 - Drag profile along vector, forcing the center to be the base point of the defined plane (for this method, the profile must be cylindrical fit to mesh and thus the method value must be either 36 or 1036)
Profile selection:
  • +0 - Rectangular profile fit to mesh
  • +10 - Rectangular profile fit to lines
  • +20 - Rectangular profile fit to node list
  • +30 - Cylindrical profile fit to mesh
  • +40 - Cylindrical profile fit to lines
  • +50 - Cylindrical profile fit to node list
  • +60 - Use morph volume faces for profile
  • +70 - Use shell elements for profile
  • +1000 add profile shrinking after creation
drag
Distance or angle for drag (useable for along vector and about axis method).

Examples

To create a rectangular matrix 2x2x5 dragged along a line:

*createmark nodes 1 "all"
*createmark elems 1
*createlist lines 1 3
*createlist nodes 1
*createlist lines 2
*createlist nodes 2
*createplane 1,1.0 0.0 0.0 1.0 0.0 0.0
*morphvolumecreateflex nodes 1 2 2 5 10.0 0 1 1 1 elems 1 1 1 2 2 1 1 0.0

To create a cylindrical matrix 1x4x5 dragged from morph volumes along a vector (note that the plane normal is used for the vector direction):

*createmark nodes 1 "all"
*createmark hypercubes 1 "all"
*createlist lines 1
*createlist nodes 1
*createlist lines 2
*createlist nodes 2
*createplane 1,1.0 0.0 0.0 1.0 0.0 0.0
*morphvolumecreateflex nodes 1 1 4 5 10.0 0 1 1 1 hypercubes 1 1 1 2 2 1 63 0.0

Errors

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

Version History

10.0