modelFreeMotionScalarInit

Free motion joint with scalar initialization and state selection (6 degrees-of-freedom, 12 potential states)

Extends from Modelica.Mechanics.MultiBody.Interfaces.PartialTwoFrames (Base model for components providing two frame connectors + outer world + assert to guarantee that the component is connected).

Information

Joint which does not constrain the motion between frame_a and frame_b. Such a joint is meaningful if the relative distance and orientation between frame_a and frame_b, and their derivatives, shall be used as states or shall be used for non-standard initialization. This joint allows to initialize every scalar element of the relative quantities, as well as to define StateSelect attributes for every scalar element separately.

In the following figure the animation of a FreeMotionScalarInit joint is shown. The light blue coordinate system is frame_a and the dark blue coordinate system is frame_b of the joint. (here: r_rel_a_1(start = 0.5), r_rel_a_2(start = 0), r_rel_a_3(start = 0.5), angle_1(start = 45o), angle_2(start = 45o), angle_3(start = 45o)).

A example to use this joint for the initialization of a planar double pendulum by providing its tip position, is shown in Examples.Elementary.DoublePendulumInitTip.

Parameters

TypeNameDefaultDescription
Booleananimationtrue= true, if animation shall be enabled (show arrow from frame_a to frame_b)
Translational initialization › Position vector r_rel_a from origin of frame_a to origin of frame_b, resolved in frame_a
Booleanuse_rfalse= true, if r_rel_a shall be used
StateSelectr_rel_a_1_stateSelectStateSelect.neverStateSelect of r_rel_a[1]
StateSelectr_rel_a_2_stateSelectStateSelect.neverStateSelect of r_rel_a[2]
StateSelectr_rel_a_3_stateSelectStateSelect.neverStateSelect of r_rel_a[3]
Translational initialization › Velocity vector v_rel_a = der(r_rel_a)
Booleanuse_vfalse= true, if v_rel_a shall be used
StateSelectv_rel_a_1_stateSelectStateSelect.neverStateSelect of v_rel_a[1]
StateSelectv_rel_a_2_stateSelectStateSelect.neverStateSelect of v_rel_a[2]
StateSelectv_rel_a_3_stateSelectStateSelect.neverStateSelect of v_rel_a[3]
Translational initialization › Acceleration vector a_rel_a = der(v_rel_a)
Booleanuse_afalse= true, if a_rel_a shall be used
Angle initialization › Angles to rotate frame_a to frame_b along sequence_start
Booleanuse_anglefalse= true, if angle shall be used
Types.RotationSequencesequence_start{1, 2, 3}Sequence of angle rotations
StateSelectangle_1_stateSelectStateSelect.neverStateSelect of angle_1
StateSelectangle_2_stateSelectStateSelect.neverStateSelect of angle_2
StateSelectangle_3_stateSelectStateSelect.neverStateSelect of angle_3
Angle initialization › angle_d = der(angle)
Booleanuse_angle_dfalse= true, if angle_d shall be used
StateSelectangle_d_1_stateSelectStateSelect.neverStateSelect of angle_d_1
StateSelectangle_d_2_stateSelectStateSelect.neverStateSelect of angle_d_2
StateSelectangle_d_3_stateSelectStateSelect.neverStateSelect of angle_d_3
Angle initialization › angle_dd = der(angle_d)
Booleanuse_angle_ddfalse= true, if angle_dd shall be used
Angular velocity initialization › Angular velocity w_rel_b of frame_b with respect to frame_a, resolved in frame_b
Booleanuse_wfalse= true, if w_rel_b shall be used
StateSelectw_rel_b_1_stateSelectStateSelect.neverStateSelect of w_rel_b[1]
StateSelectw_rel_b_2_stateSelectStateSelect.neverStateSelect of w_rel_b[2]
StateSelectw_rel_b_3_stateSelectStateSelect.neverStateSelect of w_rel_b[3]
Angular velocity initialization › Angular acceleration z_rel_b = der(w_rel_b)
Booleanuse_zfalse= true, if z_rel_b shall be used

Connectors

TypeNameDefaultDescription
Interfaces.Frame_aframe_a (from PartialTwoFrames)Coordinate system a fixed to the component with one cut-force and cut-torque
Interfaces.Frame_bframe_b (from PartialTwoFrames)Coordinate system b fixed to the component with one cut-force and cut-torque
Modelica.Blocks.Interfaces.RealOutputr_rel_a_1Relative distance r_rel_a[1]
Modelica.Blocks.Interfaces.RealOutputr_rel_a_2Relative distance r_rel_a[2]
Modelica.Blocks.Interfaces.RealOutputr_rel_a_3Relative distance r_rel_a[3]
Modelica.Blocks.Interfaces.RealOutputv_rel_a_1Relative velocity v_rel_a[1]
Modelica.Blocks.Interfaces.RealOutputv_rel_a_2Relative velocity v_rel_a[2]
Modelica.Blocks.Interfaces.RealOutputv_rel_a_3Relative velocity v_rel_a[3]
Modelica.Blocks.Interfaces.RealOutputa_rel_a_1Relative acceleration a_rel_a[1]
Modelica.Blocks.Interfaces.RealOutputa_rel_a_2Relative acceleration a_rel_a[2]
Modelica.Blocks.Interfaces.RealOutputa_rel_a_3Relative acceleration a_rel_a[3]
Modelica.Blocks.Interfaces.RealOutputangle_1First rotation angle or dummy
Modelica.Blocks.Interfaces.RealOutputangle_2Second rotation angle or dummy
Modelica.Blocks.Interfaces.RealOutputangle_3Third rotation angle or dummy
Modelica.Blocks.Interfaces.RealOutputangle_d_1= der(angle_1)
Modelica.Blocks.Interfaces.RealOutputangle_d_2= der(angle_2)
Modelica.Blocks.Interfaces.RealOutputangle_d_3= der(angle_3)
Modelica.Blocks.Interfaces.RealOutputangle_dd_1= der(angle_d_1)
Modelica.Blocks.Interfaces.RealOutputangle_dd_2= der(angle_d_2)
Modelica.Blocks.Interfaces.RealOutputangle_dd_3= der(angle_d_3)
Modelica.Blocks.Interfaces.RealOutputw_rel_b_1Relative angular velocity w_rel_b[1]
Modelica.Blocks.Interfaces.RealOutputw_rel_b_2Relative angular velocity w_rel_b[2]
Modelica.Blocks.Interfaces.RealOutputw_rel_b_3Relative angular velocity w_rel_b[3]
Modelica.Blocks.Interfaces.RealOutputz_rel_b_1Relative angular acceleration z_rel_b[1]
Modelica.Blocks.Interfaces.RealOutputz_rel_b_2Relative angular acceleration z_rel_b[2]
Modelica.Blocks.Interfaces.RealOutputz_rel_b_3Relative angular acceleration z_rel_b[3]

Components

TypeNameDefaultDescription
Types.ColorarrowColorModelica.Mechanics.MultiBody.Types.Defaults.SensorColorColor of arrow
Types.SpecularCoefficientspecularCoefficientworld.defaultSpecularCoefficientReflection of ambient light (= 0: light is completely absorbed)