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
| Type | Name | Default | Description |
|---|---|---|---|
| Boolean | animation | true | = true, if animation shall be enabled |
| SI.Length | L | Beam length | |
| 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 |
| SI.Mass | mass | if DSLglb.quasiStatic then DSLglb.quasiStaticFactor*rho*xprop.A*L else rho*xprop.A*L | Beam mass |
| 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) |
| SI.Position[3] | r | {L, 0, 0} | Vector from frame_a to undeformed frame_b resolved in frame_a |
| 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 |
| 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 |
| 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 |
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.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 | ||
| 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) |