modelBeam

Information

Standard beam model for DS Library. This block can be used to model either rigid or flexible beams, by setting the value of the "rigid" flag to either true or false.

The length of the beam should be set here in the beam block. Cross-sectional dimensions and cross section type should be passed in via one of the DeployStructLib.Properties.BeamXProperties records. Material properties should similarly be supplied by an DeployStructLib.Properties.MaterialProperties record.

For rigid beams only: If parameter useQuaternions is true (this is the default), then 4 quaternions are potential states. Additionally, the coordinates of the absolute angular velocity vector of the body are 3 potential states.
If useQuaternions in the "Advanced" menu is false, then 3 angles and the derivatives of these angles are potential states. The orientation of frame_a is computed by rotating the world frame along the axes defined in parameter vector "sequence_angleStates" (default = {1,2,3}, i.e., the Cardan angle sequence) around the angles used as potential states. For example, the default is to rotate the x-axis of the world frame around angles[1], the new y-axis around angles[2] and the new z-axis around angles[3], arriving at frame_a.

The quaternions have the slight disadvantage that there is a non-linear constraint equation between the 4 quaternions. Therefore, at least one non-linear equation has to be solved during simulation. A tool might, however, analytically solve this simple constraint equation. Using the 3 angles as states has the disadvantage that there is a singular configuration in which a division by zero will occur. If it is possible to determine in advance for an application class that this singular configuration is outside of the operating region, the 3 angles might be used as potential states by setting useQuaternions = false.

Copyright © 2018
ATA ENGINEERING, INC.
ALL RIGHTS RESERVED

Parameters

TypeNameDefaultDescription
Booleanrigidfalse
BooleanuseLumpedMassMatrixfalse=true, use a lumped mass matrix formulation else use a consistent mass matrix formulation
BooleanuseEAGJfalse=true, use the EAGJ formulation for the beam, requires EAGJ_BeamProperty input parameter
BooleanuseQuaternionstrue
BooleanuseGravityfalse=true, use gravity in the simulation (computational speedup if not used)
SI.LengthLBeam length
beamXPropertyxpropBeam cross-section properties
isotropicMaterialPropertymatPropBeam material properties
EAGJ_BeamPropertyEAGJpropBeam properties in EAGJ format
SI.Lengthcentroid{0, 0}Cross section centroid relative to frame_a
Booleananimationtrue
SI.Position[3]r_0_start{0, 0, 0}
Initialization
SI.Angle[3]angles_start{0, 0, 0}Initial values of angles to rotate frame_a around 'sequence_start' axes into frame_b
Types.RotationSequencesequence_start{1, 2, 3}Sequence of rotations to rotate frame_a into frame_b at initial time

Connectors

TypeNameDefaultDescription
Modelica.Mechanics.MultiBody.Interfaces.Frame_aframe_a
Modelica.Mechanics.MultiBody.Interfaces.Frame_bframe_b

Components

TypeNameDefaultDescription
Utilities.RigidBeambeamR
Utilities.FlexBeambeamF
Utilities.FlexBeamEAGJbeamEAGJ