modelVariableLengthBeam

Model of flexible beam, wherein length and inertia change with time

Information

This block provides a flexible beam model with a changing length and inertia.

As with a 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.

The changing length is supplied to the block by an DeployStructLib.Utilities.VariableLengthSource block. Connect the "dL" output of the VariableLengthSource block to the "dL_in" input of this block. The VariableLengthSource block allows startLength, minLength, and maxLength to be set.

Copyright © 2018
ATA ENGINEERING, INC.
ALL RIGHTS RESERVED

Parameters

TypeNameDefaultDescription
Booleananimationtrue= true, if animation shall be enabled
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
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)
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
Booleanexactfalsetrue/false exact treatment/filtering the dLength input signal
RealL_start1.0Start value for L
SI.Frequencyf_crit50critical frequency of filter to filter input signal
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
Modelica.Blocks.Interfaces.RealInputdL_in

Components

TypeNameDefaultDescription
Types.ColorcolorModelica.Mechanics.MultiBody.Types.Defaults.RodColorColor of shape
Types.SpecularCoefficientspecularCoefficientworld.defaultSpecularCoefficientReflection of ambient light (= 0: light is completely absorbed)
SI.Massmassif DSLglb.quasiStatic then DSLglb.quasiStaticFactor*rho*xprop.A*L else rho*xprop.A*LBeam mass
SI.Position[3]r{L, 0, 0}Vector from frame_a to undeformed frame_b resolved in frame_a
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
RealL
RealdL
RealddL
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
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)