3.1.12: Orientate Element
Last updated
Last updated
The “Orientate Element” component allows for the orientation of beams and shells by selecting the element type from the drop-down list under “Element Type”.
In Karamba3D the default orientation of the local coordinate system of a beam or truss follows these conventions:
The local X-axis (red) is the beam axis, pointing from the starting node to the end node.
The local Y-axis (green) is perpendicular to the local X-axis and parallel to the global XY-plane. This specifies the local Y-axis uniquely unless the local X-axis is perpendicular to the XY-plane, in which case the local Y-axis is chosen to be parallel to the global Y-axis. The default criterion for verticality is that the Z-component of the unit vector in the axial direction is larger or equal to a specified value, which can be changed in the "karamba.ini" file via the “limit_parallel” property under Settings.
The local Z-axis (blue) is derived from the local X- and Y-axes, forming a right-handed coordinate system.
The local coordinate system affects the direction of locally defined loads and the orientation of the element’s cross section. Use the “Orientate Beam”-component to set the local coordinate system (see fig. 3.1.14.1):
The “X-axis” input plug accepts a vector. The local X-axis will be oriented such that its angle with the given vector is less than 90 degrees, allowing for consistent orientation of a group of beams.
The local Y-axis lies in the plane defined by the local X-axis and the vector plugged into the “Y-axis” input. If the Y-axis is parallel to the beam axis, it is not applicable.
If no vector is supplied at the “Y-axis” input, or if the given Y-axis is not applicable, the local Z-axis of the beam lies in the plane defined by the local X-axis and the vector plugged into the “Z-axis” input.
“Alpha” represents an additional rotation angle (in degrees) of the local Z-axis about the local X-axis.
To control the orientation of a beam, the “Orientate Beam” component can be applied in two ways:
Flow-through: Plug it between a “LineToBeam” component and an “Assemble” component. The changes will be applied to all beam elements passing through it. For shell elements, the output is “Null”.
Agent: Specify beams by identifier via the “BeamId” input and plug the resulting beam agent directly into the “Elem” input of the “Assemble” component. This method allows for the use of regular expressions to select elements (see section 3.1.13).
For shells the default orientation of their local coordinate systems can be seen in fig. 3.1.14.2. The following convention applies: The local x-axis is parallel to the global x-direction unless the element normal is parallel to the global x-direction. In that case the local x-axis points in the global y-direction. The local z-axis is always perpendicular to the shell element and its orientation depends on the order of the vertices of the underlying mesh face: If the z-axis points towards ones nose, the order of the face vertices is counter-clockwise (See fig. 6.17 in [12] for an unforgettable way of remembering the right-hand rule of rotation.).
The “Orientate Shell”-component lets one control local x- and z- directions of the faces which make up a shell: “X-Oris” and “Z-Oris” inputs expect lists of direction vectors, one for each mesh face. In case the number of vectors does not match the number of faces the longest list principle applies. Infeasible directions (e.g. a prescribed z-vector which lies in the plane of an element) get ignored.
Regarding the application of the “Orientate Shell”-component the same two options (“flow-through” or “agent”) exist as for the “Orientate Beam”-component.