modelFreeMotionScalarInit
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
| Type | Name | Default | Description |
|---|---|---|---|
| Boolean | animation | true | = 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 | |||
| Boolean | use_r | false | = true, if r_rel_a shall be used |
| StateSelect | r_rel_a_1_stateSelect | StateSelect.never | StateSelect of r_rel_a[1] |
| StateSelect | r_rel_a_2_stateSelect | StateSelect.never | StateSelect of r_rel_a[2] |
| StateSelect | r_rel_a_3_stateSelect | StateSelect.never | StateSelect of r_rel_a[3] |
| Translational initialization › Velocity vector v_rel_a = der(r_rel_a) | |||
| Boolean | use_v | false | = true, if v_rel_a shall be used |
| StateSelect | v_rel_a_1_stateSelect | StateSelect.never | StateSelect of v_rel_a[1] |
| StateSelect | v_rel_a_2_stateSelect | StateSelect.never | StateSelect of v_rel_a[2] |
| StateSelect | v_rel_a_3_stateSelect | StateSelect.never | StateSelect of v_rel_a[3] |
| Translational initialization › Acceleration vector a_rel_a = der(v_rel_a) | |||
| Boolean | use_a | false | = true, if a_rel_a shall be used |
| Angle initialization › Angles to rotate frame_a to frame_b along sequence_start | |||
| Boolean | use_angle | false | = true, if angle shall be used |
| Types.RotationSequence | sequence_start | {1, 2, 3} | Sequence of angle rotations |
| StateSelect | angle_1_stateSelect | StateSelect.never | StateSelect of angle_1 |
| StateSelect | angle_2_stateSelect | StateSelect.never | StateSelect of angle_2 |
| StateSelect | angle_3_stateSelect | StateSelect.never | StateSelect of angle_3 |
| Angle initialization › angle_d = der(angle) | |||
| Boolean | use_angle_d | false | = true, if angle_d shall be used |
| StateSelect | angle_d_1_stateSelect | StateSelect.never | StateSelect of angle_d_1 |
| StateSelect | angle_d_2_stateSelect | StateSelect.never | StateSelect of angle_d_2 |
| StateSelect | angle_d_3_stateSelect | StateSelect.never | StateSelect of angle_d_3 |
| Angle initialization › angle_dd = der(angle_d) | |||
| Boolean | use_angle_dd | false | = 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 | |||
| Boolean | use_w | false | = true, if w_rel_b shall be used |
| StateSelect | w_rel_b_1_stateSelect | StateSelect.never | StateSelect of w_rel_b[1] |
| StateSelect | w_rel_b_2_stateSelect | StateSelect.never | StateSelect of w_rel_b[2] |
| StateSelect | w_rel_b_3_stateSelect | StateSelect.never | StateSelect of w_rel_b[3] |
| Angular velocity initialization › Angular acceleration z_rel_b = der(w_rel_b) | |||
| Boolean | use_z | false | = true, if z_rel_b shall be used |
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| Interfaces.Frame_a | frame_a (from PartialTwoFrames) | Coordinate system a fixed to the component with one cut-force and cut-torque | |
| Interfaces.Frame_b | frame_b (from PartialTwoFrames) | Coordinate system b fixed to the component with one cut-force and cut-torque | |
| Modelica.Blocks.Interfaces.RealOutput | r_rel_a_1 | Relative distance r_rel_a[1] | |
| Modelica.Blocks.Interfaces.RealOutput | r_rel_a_2 | Relative distance r_rel_a[2] | |
| Modelica.Blocks.Interfaces.RealOutput | r_rel_a_3 | Relative distance r_rel_a[3] | |
| Modelica.Blocks.Interfaces.RealOutput | v_rel_a_1 | Relative velocity v_rel_a[1] | |
| Modelica.Blocks.Interfaces.RealOutput | v_rel_a_2 | Relative velocity v_rel_a[2] | |
| Modelica.Blocks.Interfaces.RealOutput | v_rel_a_3 | Relative velocity v_rel_a[3] | |
| Modelica.Blocks.Interfaces.RealOutput | a_rel_a_1 | Relative acceleration a_rel_a[1] | |
| Modelica.Blocks.Interfaces.RealOutput | a_rel_a_2 | Relative acceleration a_rel_a[2] | |
| Modelica.Blocks.Interfaces.RealOutput | a_rel_a_3 | Relative acceleration a_rel_a[3] | |
| Modelica.Blocks.Interfaces.RealOutput | angle_1 | First rotation angle or dummy | |
| Modelica.Blocks.Interfaces.RealOutput | angle_2 | Second rotation angle or dummy | |
| Modelica.Blocks.Interfaces.RealOutput | angle_3 | Third rotation angle or dummy | |
| Modelica.Blocks.Interfaces.RealOutput | angle_d_1 | = der(angle_1) | |
| Modelica.Blocks.Interfaces.RealOutput | angle_d_2 | = der(angle_2) | |
| Modelica.Blocks.Interfaces.RealOutput | angle_d_3 | = der(angle_3) | |
| Modelica.Blocks.Interfaces.RealOutput | angle_dd_1 | = der(angle_d_1) | |
| Modelica.Blocks.Interfaces.RealOutput | angle_dd_2 | = der(angle_d_2) | |
| Modelica.Blocks.Interfaces.RealOutput | angle_dd_3 | = der(angle_d_3) | |
| Modelica.Blocks.Interfaces.RealOutput | w_rel_b_1 | Relative angular velocity w_rel_b[1] | |
| Modelica.Blocks.Interfaces.RealOutput | w_rel_b_2 | Relative angular velocity w_rel_b[2] | |
| Modelica.Blocks.Interfaces.RealOutput | w_rel_b_3 | Relative angular velocity w_rel_b[3] | |
| Modelica.Blocks.Interfaces.RealOutput | z_rel_b_1 | Relative angular acceleration z_rel_b[1] | |
| Modelica.Blocks.Interfaces.RealOutput | z_rel_b_2 | Relative angular acceleration z_rel_b[2] | |
| Modelica.Blocks.Interfaces.RealOutput | z_rel_b_3 | Relative angular acceleration z_rel_b[3] |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| Types.Color | arrowColor | Modelica.Mechanics.MultiBody.Types.Defaults.SensorColor | Color of arrow |
| Types.SpecularCoefficient | specularCoefficient | world.defaultSpecularCoefficient | Reflection of ambient light (= 0: light is completely absorbed) |