*beamsectionsetdatashell

Updates the data for a shell type beam section.

Syntax

*beamsectionsetdatashell vertex_array vertex_array_length connectivity_array connectivity_array_length part_name_array part_name_array_length beam_sect_id

Type

HyperMesh Tcl Modify

Description

Updating a shell beam section requires two commands of which this is the second. This command will update all data for a shell type beam section. The command *beamsectionsetdataroot should precede use of this command.

Beam section data cannot be updated piecemeal with this command; all data must be known for the beam and sent in as arguments.

Results will be calculated for the beam section automatically after updating.

Inputs

vertex_array
The ID of the double array that contains the vertices defining the shell section. The double array is created using the *createdoublearray command. This should always be set to 1.
The contents of this array are stored in two groups. The first group contains the local Y and Z locations for each vertex. These are stored in pairs such that the first value is the Y location for the first vertex, the second value is the Z location of the first vertex, the third value is the Y location for the second vertex, the fourth value is the Z location of the second vertex, and so on. This repeats for all vertices. The second group contains the initial, minimum, and maximum thicknesses for each part. These are stored in threes such that the first three values are the current thickness, minimum thickness, and the maximum thickness for the first part. The second three values are the current thickness, minimum thickness, and the maximum thickness for the second part, and so on. This repeats for all parts.
vertex_array_length
Integer indicating the size (two times the number of vertices for the section (vertex_count) plus three times the number of parts for the section (part_count)) of the double array created using *createdoublearray.
connectivity_array
The ID of the integer array that defines the vertex connectivity. The integer array is created using the *createarray command. This should always be set to 1.
The contents of this array are stored in groups with the first value of each group denoting the number of vertices for the part and the following values being the IDs of the vertices for the part. This repeats for all parts.
Thus, if a shell type section has two parts, one going through 4 vertices: 1, 2, 3, and 4; and the other going through 3 vertices: 1, 5, and 4; the array should follow this pattern and be written as follows:
*createarray 9 4 1 2 3 4 3 1 5 4
Note that the list of vertices starts with an ID of 1. There is no vertex with an ID of 0.
connectivity_array_length
Integer indicating the size (part_count plus the number of vertices contained within each part for all parts) of the integer array created using *createarray.
part_name_array
The ID of the string array that defines the part names. The string array is created using the *createstringarray command. This should always be set to 1.
The contents of this array are stored as a list of names for each part. The order of this array should match the order used for the integer array when defining the connectivity.
part_name_array_length
Integer indicating the size (part_count) of the string array created using *createarray.
beam_sect_id
The ID of the beam section to update.
part_count
The number of parts in the section.
vertex_count
The number of vertices in the section.

Examples

To update the parameter data for a shell type section with ID 2. Note that this command should be used in tandem with *beamsectionsetdataroot as follows:
*beamsectionsetdataroot 2 1 0 3 7 1 0 0 0 0 0 0 0
*createdoublearray 15 3 -3 3 2 3 1 -2 1 -2 -3 0 -3 1 0.5 1.5
*createarray 6 5 1 2 3 4 5
*createstringarray 1 "shellpart.0"
*beamsectionsetdatashell 1 15 1 6 1 1 2 1 6

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

11.0.120