modelFlexBeam

Model of flexible beam

Information

This block provides an Euler-Bernoulli model of a flexible beam. It is recommended that this model not be used directly. Instead, use DeployStructLib.Parts.Beam and set the "rigid" flag to false.

Copyright © 2018
ATA ENGINEERING, INC.
ALL RIGHTS RESERVED

Parameters

TypeNameDefaultDescription
Booleananimationtrue= true, if animation shall be enabled
SI.LengthLBeam length
beamXPropertyxprop
isotropicMaterialPropertymatProp
SI.DensityrhomatProp.rhodensity
SI.ModulusOfElasticityEmatProp.EElasitic Modulus
SI.PoissonNumbernuif matProp.nu > 0 then matProp.nu else matProp.E/2.0/matProp.G - 1.0Poisson's ratio
SI.ShearModulusGif matProp.G > 0 then matProp.G else matProp.E/2/(1 + matProp.nu)Shear Modulus
SI.Massmassif DSLglb.quasiStatic then DSLglb.quasiStaticFactor*rho*xprop.A*L else rho*xprop.A*LBeam mass
RealqsFacRif DSLglb.quasiStatic then 1/DSLglb.quasiStaticFactor else 1.0Quasi-static factor
RealalphamatProp.alphaRayleigh damping coefficient (mass proportional)
RealbetamatProp.betaRayleigh damping coefficient (stiffness proportional)
BooleansteadyStateDSLglb.SteadyStateInitialize to steady state?
BooleanuseLumpedMassMatrixfalse=true, use a lumped mass matrix formulation else use a consistent mass matrix formulation
BooleanuseGravityfalse=true, use gravity in the simulation (computational speedup if not used)
SI.Position[3]r{L, 0, 0}Vector from frame_a to undeformed frame_b resolved in frame_a
Realdim2DeployStructLib.Properties.BeamXProperties.getDim(xprop, 2)
Realdim3DeployStructLib.Properties.BeamXProperties.getDim(xprop, 3)
Types.RotationSequencesequence{1, 2, 3}Angles are returned to rotate frame_a around axes sequence[1], sequence[2] and finally sequence[3] into frame_b
RealKff{{E*xprop.A/L, 0, 0, 0, 0, 0}, {0, 12*E*xprop.Izz/L^3, 0, 0, 0, -6*E*xprop.Izz/L^2}, {0, 0, 12*E*xprop.Iyy/L^3, 0, 6*E*xprop.Iyy/L^2, 0}, {0, 0, 0, G*xprop.J/L, 0, 0}, {0, 0, 6*E*xprop.Iyy/L^2, 0, 4*E*xprop.Iyy/L, 0}, {0, -6*E*xprop.Izz/L^2, 0, 0, 0, 4*E*xprop.Izz/L}}
RealMffif useLumpedMassMatrix then mass*{{1/2, 0, 0, 0, 0, 0}, {0, 1/2, 0, 0, 0, 0}, {0, 0, 1/2, 0, 0, 0}, {0, 0, 0, 1/2*Itt_massless[1], 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}} else mass*{{1/2, 0, 0, 0, 0, 0}, {0, 13/35, 0, 0, 0, -11*L/210}, {0, 0, 13/35, 0, 11*L/210, 0}, {0, 0, 0, 1/2*Itt_massless[1], 0, 0}, {0, 0, 11*L/210, 0, L*L/105, 0}, {0, -11*L/210, 0, 0, 0, L*L/105}}
Real[3]Itt_masslessBeamIttCalc(xprop, L)Inertia tensor of body box with respect to center of mass, parallel to frame_a
SI.Inertia[3]Ittmass*(Itt_massless + {0, (L/2)^2, (L/2)^2})Inertia tensor of body box with respect frame_a
Animation › if animation = true
Types.ShapeTypeshapeType"box"Type of shape
Initialization
SI.Position[3]r_0_start{0, 0, 0}Initial values of position of frame_a
SI.Angle[3]angles_start{0, 0, 0}Initial values of angles to rotate frame_a around 'sequence_start' axes into frame_b

Connectors

TypeNameDefaultDescription
Interfaces.Frame_aframe_aCoordinate system fixed to the component with one cut-force and cut-torque
Interfaces.Frame_bframe_bCoordinate system fixed to the component with one cut-force and cut-torque

Components

TypeNameDefaultDescription
Types.ColorcolorModelica.Mechanics.MultiBody.Types.Defaults.RodColorColor of shape
Types.SpecularCoefficientspecularCoefficientworld.defaultSpecularCoefficientReflection of ambient light (= 0: light is completely absorbed)
SI.Position[6]qf
Real[6]dqf
Real[6]ddqf
SI.Velocity[3]v
SI.Velocity[3]v0
SI.Acceleration[3]a
SI.AngularVelocity[3]w
SI.AngularAcceleration[3]z
SI.Force[3]Fb_a
SI.Torque[3]Tb_a
Frames.OrientationR_relRelative orientation object from frame_a to frame_b
RealQeR
RealQet
RealQvR
RealQvt
RealQef
RealQvf
RealQeg
Realr_CM
SI.Acceleration[3]g_0Gravity acceleration resolved in world frame
SI.Position[3]r_0Position vector from origin of world frame to origin of frame_a
SI.Angle[3]phiDummy or 3 angles to rotate world frame into frame_a of body
SI.AngularVelocity[3]phi_d= der(phi)