BodyBox

From Mechanomy Composer Wiki
Revision as of 16:49, 6 November 2019 by Unknown user (talk)
Jump to navigation Jump to search

A rigid body with uniform mass calculated by specified parameters.

Modeling Approach

The rigid body box has two frames, frame_a and frame_b located at, notionally, two ends.

Required Parameters

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

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 of box
width SIunits.Distance Width of box
height SIunits.Distance width Height of box
innerWidth SIunits.Distance 0 Width of inner box surface (0 <= innerWidth <= width)
innerHeight SIunits.Distance innerWidth Height of inner box surface (0 <= innerHeight <= height)
density SIunits.Density 7700 Density of cylinder (e.g., steel: 7700 .. 7900, wood : 400 .. 800)
lengthDirection r-r_shape Modelica.Mechanics.MultiBody.Types.Axis Vector in length direction of box, resolved in frame_a
widthDirection {0,1,0} Modelica.Mechanics.MultiBody.Types.Axis Vector in width direction of box, resolved in frame_a
angles_fixed Boolean false if angles_start is used as initial values, else as guess values
angles_start SIunits.Angle 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 false Boolean 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
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

Public Fields

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