WOLFRAM SYSTEM MODELER
CylindricalBeamSegmentClass with a flexible cylindrical beam |
SystemModel["RotatingMachinery.Shafts.SingleFiniteElements.CylindricalBeamSegment"]
This model is an extended version of an Euler–Bernoulli Beam element. In addition to the Euler–Bernoulli Beam element, axial and twisting deformation is also taken into account. Background theory can be found in [1].
The axial direction of the beam is by default in the z direction, i.e. [3]-direction. See the following figure.
Figure 1: Euler–Bernouilli beam element.
The forces to deformation relation can be written as:
where the mass matrix M can be written as:
the damping matrix C can be written as:
the stiffness matrix K can be written as:
The load vector f, which describes loads and moments in the two directions that are not the axial for the beam (i.e. x and y axes) can be written as:
The deformation vector q can be written as:
where f is forces, t is the bending moment, r is displacement, and θ is the rotation angle. The index a refers to frame_a, and b refers to frame_b. The x, y and z directions correspond to the Modelica notation [1], [2] and [3], respectively. For instance, fax is the force in direction [1] on flange a and tby is the bending moment around axis [2] on flange b.
The velocities and accelerations become:
In addition to the Euler–Bernoulli Beam element axial, and twisting deformation is also taken into account. The axial deformation becomes:
Parameters:
A vibration due to material damping is frequency dependent, i.e. alpha needs to be adjusted depending which mode is studied.
As a rule of thumb, enforceStates_a is false for all elements and enforceStates_b is true for all elements until it is rooted, i.e. normally the last element. Several examples describe this; see RotatingMachinery.Examples.Shafts.
Normally, the default value for resolveInFrame is sufficient. If the model is built from "left to right", i.e. from frame_a to frame_b, this value should be the default. If a beam is connected only in frame_b, this value might have to be changed to frame_b instead.
[1] Wikipedia. "Euler-Bernoulli Beam." https://en.wikipedia.org/wiki/Euler%E2%80%93Bernoulli_beam_theory.
[2] Adams, M. L . Rotating Machinery Vibration: From Analysis to Troubleshooting (2nd ed.). CRC Press, 2010.
animation |
Value: true Type: Boolean Description: =false, if the animation is disabled |
---|---|
shapeType |
Value: "pipecylinder" Type: ShapeType Description: Shape of beam |
length |
Value: Type: Length (m) Description: Length vector from frame_a to frame_b, resolved resolveInFrame |
diameter |
Value: Type: Diameter (m) Description: Outer radius of beam |
innerDiameter |
Value: 0 Type: Diameter (m) Description: Inner radius of beam |
density |
Value: 7850 Type: Density (kg/m³) Description: Density of beam material |
Emod |
Value: 210000000000.0 Type: ModulusOfElasticity (Pa) Description: Young's Modulus |
G |
Value: 80000000000.0 Type: ShearModulus (Pa) Description: Element material modulus of rigidity (Shear modulus) |
alpha |
Value: 1 / 1000 Type: Real Description: Rayleigh constant |
enforceStates_a |
Value: false Type: Boolean Description: = true, if absolute variables of frame_a shall be used as states (StateSelect.always) |
enforceStates_b |
Value: true Type: Boolean Description: = true, if absolute variables of frame_b shall be used as states (StateSelect.always) |
resolveInFrame |
Value: Shafts.Types.ResolveInFrame.frame_a Type: ResolveInFrame Description: Enumeration to define the frame in which the beam equations are resolved (frame_a, frame_b) |
theta_start |
Value: if theta_b_Fixed then theta_b_start else theta_a_start Type: Angle[3] (rad) |
r_a_Fixed |
Value: false Type: Boolean Description: = true, if theta_a_start are used as initial values, else as guess values |
r_a_start |
Value: {0, 0, 0} Type: Position[3] (m) Description: Initial values of position |
r_b_Fixed |
Value: false Type: Boolean Description: = true, if theta_b_start are used as initial values, else as guess values |
r_b_start |
Value: {0, 0, 0} Type: Position[3] (m) Description: Initial values of position |
v_a_Fixed |
Value: false Type: Boolean Description: = true, if v_a_start are used as initial values, else as guess values |
v_a_start |
Value: {0, 0, 0} Type: Velocity[3] (m/s) Description: Initial values of velocity |
v_b_Fixed |
Value: false Type: Boolean Description: = true, if v_b_start are used as initial values, else as guess values |
v_b_start |
Value: {0, 0, 0} Type: Velocity[3] (m/s) Description: Initial values of velocity |
theta_a_Fixed |
Value: false Type: Boolean Description: = true, if theta_a_start are used as initial values, else as guess values |
theta_a_start |
Value: {0, 0, 0} Type: Angle[3] (rad) Description: Initial values of angles |
theta_b_Fixed |
Value: false Type: Boolean Description: = true, if theta_b_start are used as initial values, else as guess values |
theta_b_start |
Value: {0, 0, 0} Type: Angle[3] (rad) Description: Initial values of angles |
thetad_a_Fixed |
Value: false Type: Boolean Description: = true, if der(theta_a_start) are used as initial values, else as guess values |
thetad_a_start |
Value: {0, 0, 0} Type: AngularVelocity[3] (rad/s) Description: Initial values of angles |
thetad_b_Fixed |
Value: false Type: Boolean Description: = true, if der(theta_b_start) are used as initial values, else as guess values |
thetad_b_start |
Value: {0, 0, 0} Type: AngularVelocity[3] (rad/s) Description: Initial values of angles |
cylindricalBeamElement |
Type: CylindricalBeamElement Description: Class containing beam elements based on Euler–Bernoulli beam theory |
|
---|---|---|
fixedShape |
Type: FixedShape Description: Visualizing an elementary shape with dynamically varying shape attributes (has one frame connector) |
|
bodyCylinder |
Type: BodyCylinder Description: Rigid body with cylinder shape. Mass and animation properties are computed from cylinder data and density (12 potential states) |
|
world |
Type: World Description: World coordinate system + gravity field + default animation definition |
RotatingMachinery.Shafts Class with a flexible cylindrical beam |