modelPrismatic
Extends from Modelica.Mechanics.MultiBody.Interfaces.PartialElementaryJoint (Base model for elementary joints (has two frames + outer world + assert to guarantee that the joint is connected)).
Information
Joint where frame_b is translated along axis n which is fixed in frame_a. The two frames coincide when the relative distance "s = 0".
Optionally, two additional 1-dimensional mechanical flanges (flange "axis" represents the driving flange and flange "support" represents the bearing) can be enabled via parameter useAxisFlange. The enabled axis flange can be driven with elements of the Modelica.Mechanics.Translational library.
In the "Advanced" menu it can be defined via parameter stateSelect that the relative distance "s" and its derivative shall be definitely used as states by setting stateSelect=StateSelect.always. Default is StateSelect.prefer to use the relative distance and its derivative as preferred states. The states are usually selected automatically. In certain situations, especially when closed kinematic loops are present, it might be slightly more efficient, when using the StateSelect.always setting.
In the following figure the animation of a prismatic joint is shown. The light blue coordinate system is frame_a and the dark blue coordinate system is frame_b of the joint. The black arrow is parameter vector "n" defining the translation axis (here: n = {1,1,0}).
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Boolean | useAxisFlange | false | = true, if axis flange is enabled |
| Boolean | animation | true | = true, if animation shall be enabled |
| Modelica.Mechanics.MultiBody.Types.Axis | n | {1, 0, 0} | Axis of translation resolved in frame_a (= same as in frame_b) |
| Real[3] | e | Modelica.Math.Vectors.normalizeWithAssert(n) | Unit vector in direction of prismatic axis n |
| Animation › if animation = true | |||
| Types.Axis | boxWidthDirection | {0, 1, 0} | Vector in width direction of box, resolved in frame_a |
| SI.Distance | boxWidth | world.defaultJointWidth | Width of prismatic joint box |
| SI.Distance | boxHeight | boxWidth | Height of prismatic joint box |
| Advanced | |||
| StateSelect | stateSelect | StateSelect.prefer | Priority to use distance s and v=der(s) as states |
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| Interfaces.Frame_a | frame_a (from PartialElementaryJoint) | Coordinate system fixed to the joint with one cut-force and cut-torque | |
| Interfaces.Frame_b | frame_b (from PartialElementaryJoint) | Coordinate system fixed to the joint with one cut-force and cut-torque | |
| Modelica.Mechanics.Translational.Interfaces.Flange_a | axis | 1-dim. translational flange that drives the joint | |
| Modelica.Mechanics.Translational.Interfaces.Flange_b | support | 1-dim. translational flange of the drive support (assumed to be fixed in the world frame, NOT in the joint) |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| Types.Color | boxColor | Modelica.Mechanics.MultiBody.Types.Defaults.JointColor | Color of prismatic joint box |
| Types.SpecularCoefficient | specularCoefficient | world.defaultSpecularCoefficient | Reflection of ambient light (= 0: light is completely absorbed) |
| SI.Position | s | Relative distance between frame_a and frame_b | |
| SI.Velocity | v | First derivative of s (relative velocity) | |
| SI.Acceleration | a | Second derivative of s (relative acceleration) | |
| SI.Force | f | Actuation force in direction of joint axis |