WOLFRAM SYSTEM MODELER

BodyCylinder

Rigid body with cylinder shape. Mass and animation properties are computed from cylinder data and density (12 potential states)

Diagram

Wolfram Language

In[1]:=
SystemModel["DocumentationExamples.Simulation.Catapult.Components.BodyCylinder"]
Out[1]:=

Information

Rigid body with cylinder shape. The mass properties of the body (mass, center of mass, inertia tensor) are computed from the cylinder data. Optionally, the cylinder may be hollow. The cylinder shape is by default used in the animation. The two connector frames frame_a and frame_b are always parallel to each other.

A BodyCylinder component has potential states. For details of these states and of the "Advanced" menu parameters, see model MultiBody.Parts.Body.

Parameters (25)

animation

Value: true

Type: Boolean

Description: = true, if animation shall be enabled (show cylinder between frame_a and frame_b)

r

Value:

Type: Position[3] (m)

Description: Vector from frame_a to frame_b, resolved in frame_a

r_shape

Value: {0, 0, 0}

Type: Position[3] (m)

Description: Vector from frame_a to cylinder origin, resolved in frame_a

lengthDirection

Value: to_unit1(r - r_shape)

Type: Axis

Description: Vector in length direction of cylinder, resolved in frame_a

length

Value: Modelica.Math.Vectors.length(r - r_shape)

Type: Length (m)

Description: Length of cylinder

diameter

Value: length / world.defaultWidthFraction

Type: Distance (m)

Description: Diameter of cylinder

innerDiameter

Value: 0

Type: Distance (m)

Description: Inner diameter of cylinder (0 <= innerDiameter <= Diameter)

density

Value: 7700

Type: Density (kg/m³)

Description: Density of cylinder (e.g., steel: 7700 .. 7900, wood : 400 .. 800)

angles_fixed

Value: false

Type: Boolean

Description: = true, if angles_start are used as initial values, else as guess values

angles_start

Value: {0, 0, 0}

Type: Angle[3] (rad)

Description: Initial values of angles to rotate frame_a around 'sequence_start' axes into frame_b

sequence_start

Value: {1, 2, 3}

Type: RotationSequence

Description: Sequence of rotations to rotate frame_a into frame_b at initial time

w_0_fixed

Value: false

Type: Boolean

Description: = true, if w_0_start are used as initial values, else as guess values

w_0_start

Value: {0, 0, 0}

Type: AngularVelocity[3] (rad/s)

Description: Initial or guess values of angular velocity of frame_a resolved in world frame

z_0_fixed

Value: false

Type: Boolean

Description: = true, if z_0_start are used as initial values, else as guess values

z_0_start

Value: {0, 0, 0}

Type: AngularAcceleration[3] (rad/s²)

Description: Initial values of angular acceleration z_0 = der(w_0)

sequence_angleStates

Value: {1, 2, 3}

Type: RotationSequence

Description: Sequence of rotations to rotate world frame into frame_a around the 3 angles used as potential states

radius

Value: diameter / 2

Type: Distance (m)

Description: Radius of cylinder

innerRadius

Value: innerDiameter / 2

Type: Distance (m)

Description: Inner-Radius of cylinder

mo

Value: density * pi * length * radius * radius

Type: Mass (kg)

Description: Mass of cylinder without hole

mi

Value: density * pi * length * innerRadius * innerRadius

Type: Mass (kg)

Description: Mass of hole of cylinder

I22

Value: (mo * (length * length + 3 * radius * radius) - mi * (length * length + 3 * innerRadius * innerRadius)) / 12

Type: Inertia (kg⋅m²)

Description: Inertia with respect to axis through center of mass, perpendicular to cylinder axis

m

Value: mo - mi

Type: Mass (kg)

Description: Mass of cylinder

R

Value: Modelica.Mechanics.MultiBody.Frames.from_nxy(r, {0, 1, 0})

Type: Orientation

Description: Orientation object from frame_a to frame spanned by cylinder axis and axis perpendicular to cylinder axis

r_CM

Value: r_shape + Modelica.Math.Vectors.normalizeWithAssert(lengthDirection) * length / 2

Type: Position[3] (m)

Description: Position vector from frame_a to center of mass, resolved in frame_a

I

Value: Modelica.Mechanics.MultiBody.Frames.resolveDyade1(R, diagonal({(mo * radius * radius - mi * innerRadius * innerRadius) / 2, I22, I22}))

Type: Inertia[3,3] (kg⋅m²)

Description: Inertia tensor of cylinder with respect to center of mass, resolved in frame parallel to frame_a

Inputs (2)

color

Default Value: Modelica.Mechanics.MultiBody.Types.Defaults.BodyColor

Type: Color

Description: Color of cylinder

specularCoefficient

Default Value: world.defaultSpecularCoefficient

Type: SpecularCoefficient

Description: Reflection of ambient light (= 0: light is completely absorbed)

Connectors (2)

frame_a

Type: Frame_a

Description: Coordinate system fixed to the component with one cut-force and cut-torque

frame_b

Type: Frame_b

Description: Coordinate system fixed to the component with one cut-force and cut-torque

Components (4)

R

Type: Orientation

Description: Orientation object from frame_a to frame spanned by cylinder axis and axis perpendicular to cylinder axis

body

Type: Body

Description: Rigid body with mass, inertia tensor and one frame connector (12 potential states)

frameTranslation

Type: FixedTranslation

Description: Fixed translation of frame_b with respect to frame_a

world

Type: World

Description: World coordinate system + gravity field + default animation definition

Used in Components (2)

ProjectileAndDraggingRope

DocumentationExamples.Simulation.Catapult.Components

A model of the projectile and dragging rope in a catapult

ropeSegment

DocumentationExamples.Simulation.Catapult.Components

A model of a segment of a rope