*beamsectionsetdatasolidelems

Calculates results for selected beam sections.

Syntax

*beamsectionsetdatasolidelems vertices_double_array number_of_doubles elemverts_int_array number_of_ints beam_sect_id

Type

HyperMesh Tcl Modify

Description

Updating a solid beam section requires two commands of which this is the second. This command will update all data for a solid 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.

The solid beam section interior elements are explicitly sent in using this command and results will be calculated for the beam section automatically after updating. Unlike the command *beamsectionsetdatasolid, no internal meshing of the beam will occur.

Inputs

vertices_double_array
The ID of the double array that contains pairs representing a series of local y and z locations for the vertices of all the elements defining the section. The double array is created using the *createdoublearray command. This should always be set to 1.
As an example, to define a rectangular section consisting of a single quad4 element with vertices at points (5,5), (5,0), (0,0), and (0,5), and two tria3 elements, one with vertices at points (5,5), (5,0), and (7,2), and one with vertices at points (0,0), (0,5), and (-2,2), use the following input to *createdoublearray:
*createdoublearray 12 5 5 5 0 0 0 0 5 7 2 -2 2 
Note that vertices (5,5), (5,0), (0,0), and (0,5) are each shared by two elements and so they do not need to be repeated. Extra spaces were added for clarity.
number_of_doubles
Integer indicating the size (number of doubles) in the double array created using *createdoublearray.
This should be equal to two times the number of vertices for the section.
elemverts_int_array
The ID of the integer array that contains four groups, with each group containing the number of elements in the group followed by the vertex IDs for each element in the group listed one after the other. The groups follow a specific order with tria3 coming first, quad4 second, tria6 third, and quad8 last. The integer array is created using the *createarray command. This should always be set to 1.
As an example, to define a rectangular section consisting of a single quad4 type element at vertices 4, 3, 2, and 1 and two tria3 type elements, one at vertices 1, 2, and 5, and the other at vertices 3, 4, and 6, use the following input to *createarray:
*createarray 14 2 1 2 5 3 4 6 1 4 3 2 1 0 0 
Note the four groups (separated by extra spaces for clarity) starting with the two tria3s and that a zero must be used to denote that there are no elements of a certain type (tria6 and quad8).
Also note that it is critical to order the vertices in a clockwise direction given that the Y axis points upward and the Z axis points to the right. Also, for second order elements you must list the corner vertices first and then the mid-side vertices second. For the mid-side vertices, start with the mid-side located clockwise after the first corner vertex listed.
number_of_ints
Integer indicating the size (number of integers) in the double array created using *createarray.
This should be equal to four plus three times the number of tria3 elements, plus four times the number of quad4 elements, plus six times the number of tria6 elements, plus eight times the number of quad8 elements.
beam_sect_id
The ID of the shell or solid beam section to update.

Examples

To update the element data for a solid type section:
*beamsectionsetdataroot 3 1 0 0 7 1 0 1 1 0 0 0 0
*createdoublearray 12 5 5 5 0 0 0 0 5 7 2 -2 2
*createarray 14 2 1 2 5 3 4 6 1 4 3 2 1 0 0
*beamsectionsetdatasolidelems 1 12 1 14 3

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

12.0.110