A rigid body with uniform mass calculated by the given density and extent. [1]
Modeling Approach[edit]
The rigid body box has two frames, frame_a and frame_b located at, notionally, two ends.
The shape is specified by length,width,and height, located at r_shape.
Specify inner width and height to form a rectangular cylinder.
Required Parameters[edit]
name |
type |
description
|
r |
SIunits.Position |
vector from frame_a to frame_b such that {1, 0, 0} describes a 1<unit> long box with the length in the x direction.
|
Optional Parameters[edit]
name |
type |
default |
description
|
r_shape |
SIunits.Position |
{0,0,0} |
vector that locates the box's shape (length, width, height) in frame_a
|
r_shape |
SIunits.Position |
{0,0,0} |
vector that locates the box's shape (length, width, height) in frame_a
|
length |
SIunits.Length |
length(r-r_shape) |
Length of box
|
lengthDirection |
Modelica.Mechanics.MultiBody.Types.Axis |
r-r_shape |
Vector in length direction of box, resolved in frame_a
|
width |
SIunits.Distance |
length/defaultWidth |
Width of box
|
innerWidth |
SIunits.Distance |
0 |
Width of inner box surface (0 <= innerWidth <= width)
|
widthDirection |
Modelica.Mechanics.MultiBody.Types.Axis |
{0,1,0} |
Vector in width direction of box, resolved in frame_a
|
height |
SIunits.Distance |
width |
Height of box
|
innerHeight |
SIunits.Distance |
innerWidth |
Height of inner box surface (0 <= innerHeight <= height)
|
density |
SIunits.Density |
7700 |
Density of matieral (e.g., steel: 7700 .. 7900, wood : 400 .. 800)
|
mo |
SIunits.Mass |
min=0, =density*length*width*height |
Mass of box without hole
|
mi |
SIunits.Mass |
min=0, =density*length*innerWidth*innerHeight |
Mass of hole of box
|
m |
SIunits.Mass |
(min=0) =mo-mi |
Mass of box
|
r_CM |
SIunits.Position |
=r_shape+normalize(lengthDirection)*length/2 |
Position vector from origin of frame_a to center of mass, resolved in frame_a
|
angles_fixed |
Boolean |
false |
if angles_start is used as initial values, else as guess values
|
angles_start |
SIunits.Angle |
{0,0,0} |
Initial values of angles to rotate frame_a around 'sequence_start' axes into frame_b
|
sequence_start |
Types.RotationSequence |
{1,2,3} |
Sequence of rotations to rotate frame_a into frame_b at initial time
|
w_0_fixed |
Boolean |
false |
if w_0_start are used as initial values, else as guess values
|
w_0_start |
SIunits.AngularVelocity |
{0,0,0} |
Initial or guess values of angular velocity of frame_a resolved in world frame
|
z_0_fixed |
Boolean |
false |
if z_0_start are used as initial values, else as guess values
|
z_0_start |
SIunits.AngularAcceleration |
{0,0,0} |
Initial values of angular acceleration z_0 = der(w_0)
|
enforceStates |
Boolean |
false |
if absolute variables of body object shall be used as states (StateSelect.always)
|
useQuaternions |
Boolean |
true |
if quaternions shall be used as potential states otherwise use 3 angles as potential states
|
sequence_angleStates |
Types.RotationSequence |
{1,2,3} |
Sequence of rotations to rotate world frame into frame_a around the 3 angles used as potential states
|
Public Fields[edit]
name |
type |
description
|
frame_a |
Interfaces.Frame_a |
Coordinate system fixed to the component with one cut-force and cut-torque
|
frame_b |
Interfaces.Frame_b |
Coordinate system fixed to the component with one cut-force and cut-torque
|
r_0 |
SIunits.Position |
Position vector from origin of world frame to origin of frame_a
|
v_0 |
SIunits.Velocity |
Absolute velocity of frame_a, resolved in world frame (= der(r_0))
|
a_0 |
SIunits.Acceleration |
Absolute acceleration of frame_a resolved in world frame (= der(v_0))
|
R |
Frames.Orientation |
Orientation object from frame_a to coordinates system spanned by r and widthDirection
|
I |
SIunits.Inertia |
Inertia tensor of body box with respect to center of mass, parallel to frame_a
|
Examples[edit]