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
| Type | Name | Default | Description |
|---|---|---|---|
| Boolean | animation | true | = true, if animation shall be enabled |
| beamXProperty | xprop | ||
| isotropicMaterialProperty | matProp | ||
| SI.Density | rho | matProp.rho | density |
| SI.ModulusOfElasticity | E | matProp.E | Elasitic Modulus |
| SI.PoissonNumber | nu | if matProp.nu > 0 then matProp.nu else matProp.E/2.0/matProp.G - 1.0 | Poisson's ratio |
| SI.ShearModulus | G | if matProp.G > 0 then matProp.G else matProp.E/2/(1 + matProp.nu) | Shear Modulus |
| Real | qsFacR | if DSLglb.quasiStatic then 1/DSLglb.quasiStaticFactor else 1.0 | Quasi-static factor |
| Real | alpha | matProp.alpha | Rayleigh damping coefficient (mass proportional) |
| Real | beta | matProp.beta | Rayleigh damping coefficient (stiffness proportional) |
| Boolean | steadyState | DSLglb.SteadyState | Initialize to steady state? |
| Boolean | useLumpedMassMatrix | false | =true, use a lumped mass matrix formulation else use a consistent mass matrix formulation |
| Boolean | useGravity | false | =true, use gravity in the simulation (computational speedup if not used) |
| Real | dim2 | DeployStructLib.Properties.BeamXProperties.getDim(xprop, 2) | |
| Real | dim3 | DeployStructLib.Properties.BeamXProperties.getDim(xprop, 3) | |
| Types.RotationSequence | sequence | {1, 2, 3} | Angles are returned to rotate frame_a around axes sequence[1], sequence[2] and finally sequence[3] into frame_b |
| Boolean | exact | false | true/false exact treatment/filtering the dLength input signal |
| Real | L_start | 1.0 | Start value for L |
| SI.Frequency | f_crit | 50 | critical frequency of filter to filter input signal |
| Animation › if animation = true | |||
| Types.ShapeType | shapeType | "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
| Type | Name | Default | Description |
|---|---|---|---|
| Interfaces.Frame_a | frame_a | Coordinate system fixed to the component with one cut-force and cut-torque | |
| Interfaces.Frame_b | frame_b | Coordinate system fixed to the component with one cut-force and cut-torque | |
| Modelica.Blocks.Interfaces.RealInput | dL_in |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| Types.Color | color | Modelica.Mechanics.MultiBody.Types.Defaults.RodColor | Color of shape |
| Types.SpecularCoefficient | specularCoefficient | world.defaultSpecularCoefficient | Reflection of ambient light (= 0: light is completely absorbed) |
| SI.Mass | mass | if DSLglb.quasiStatic then DSLglb.quasiStaticFactor*rho*xprop.A*L else rho*xprop.A*L | Beam 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.Orientation | R_rel | Relative orientation object from frame_a to frame_b | |
| Real | QeR | ||
| Real | Qet | ||
| Real | QvR | ||
| Real | Qvt | ||
| Real | Qef | ||
| Real | Qvf | ||
| Real | Qeg | ||
| Real | r_CM | ||
| Real | L | ||
| Real | dL | ||
| Real | ddL | ||
| Real | Kff | {{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}} | |
| Real | Mff | if 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_massless | BeamIttCalc(xprop, L) | Inertia tensor of body box with respect to center of mass, parallel to frame_a |
| SI.Inertia[3] | Itt | mass*(Itt_massless + {0, (L/2)^2, (L/2)^2}) | Inertia tensor of body box with respect frame_a |
| SI.Acceleration[3] | g_0 | Gravity acceleration resolved in world frame | |
| SI.Position[3] | r_0 | Position vector from origin of world frame to origin of frame_a | |
| SI.Angle[3] | phi | Dummy or 3 angles to rotate world frame into frame_a of body | |
| SI.AngularVelocity[3] | phi_d | = der(phi) |