modelPrismaticWithLengthConstraint

Prismatic joint where the translational distance is computed from a length constraint (1 degree-of-freedom, no potential state)

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 where frame_b is translated along axis n which is fixed in frame_a. The two frames coincide when "s + s_offset = 0", where "s_offset" is a parameter with a zero default and "s" is the relative distance.

This variant of the prismatic joint is designed to work together with a length constraint in a kinematic loop. This means that the relative distance "s" of the joint is computed such that the length constraint is fulfilled.

Usually, this joint should not be used by a user of the MultiBody library. It is only provided to built-up the Modelica.Mechanics.MultiBody.Joints.Assemblies.JointXYZ joints.

In releases before version 3.0 of the Modelica Standard Library, it was possible to activate the force projection equation (= cut-force projected to the translation axis must be identical to the driving force of flange axis) via parameter axisForceBalance. This is no longer possible, since otherwise this model would not be "balanced" (= same number of unknowns as equations). Instead, when using this model in version 3.0 and later versions, the force in the length constraint component (Joints.SphericalSpherical or Joints.UniversalSpherical) must be calculated such that the driving force in direction of the translation axis is (RC shall be the name of the instance of PrismaticWithLengthConstraint):

0 = RC.axis.f + RC.e*RC.frame_b.f;

If this equation is used, usually the force in the length constraint and the second derivative of the prismatic distance will be part of a linear algebraic system of equations. In some cases it is possible to solve this system of equations locally, i.e., provide the rod force directly as function of the prismatic constraint force. In any case, this projection equation or an equivalent one has to be provided via variable "constraintResidue" in the "Advanced" menu of "Joints.SphericalSpherical" or "Joints.UniversalSpherical".

Parameters

TypeNameDefaultDescription
Booleananimationtrue= true, if animation shall be enabled
SI.PositionlengthFixed length of length constraint
Modelica.Mechanics.MultiBody.Types.Axisn{1, 0, 0}Axis of translation resolved in frame_a (= same as in frame_b)
SI.Positions_offset0Relative distance offset (distance between frame_a and frame_b = s(t) + s_offset)
SI.Positions_guess0Select the configuration such that at initial time |s(t0)-s_guess| is minimal
BooleanpositiveBranchSelection of one of the two solutions of the non-linear constraint equation
Real[3]eModelica.Math.Vectors.normalizeWithAssert(n)Unit vector in direction of translation axis, resolved in frame_a
Animation › if animation = true
Types.AxisboxWidthDirection{0, 1, 0}Vector in width direction of box, resolved in frame_a
SI.DistanceboxWidthworld.defaultJointWidthWidth of prismatic joint box
SI.DistanceboxHeightboxWidthHeight of prismatic joint box

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.Mechanics.Translational.Interfaces.Flange_aaxis1-dim. translational flange that drives the joint
Modelica.Mechanics.Translational.Interfaces.Flange_bbearing1-dim. translational flange of the drive bearing
Modelica.Blocks.Interfaces.RealInput[3]position_aPosition vector from frame_a to frame_a side of length constraint, resolved in frame_a of prismatic joint
Modelica.Blocks.Interfaces.RealInput[3]position_bPosition vector from frame_b to frame_b side of length constraint, resolved in frame_b of prismatic joint

Components

TypeNameDefaultDescription
Types.ColorboxColorModelica.Mechanics.MultiBody.Types.Defaults.JointColorColor of prismatic joint box
Types.SpecularCoefficientspecularCoefficientworld.defaultSpecularCoefficientReflection of ambient light (= 0: light is completely absorbed)
SI.PositionsRelative distance between frame_a and frame_b along axis n = s + s_offset)
SI.PositiondistanceRelative distance between frame_a and frame_b along axis n
SI.Position[3]r_rel_aPosition vector from frame_a to frame_b resolved in frame_a
SI.Forcef= axis.f (driving force in the axis)

Contents

NameDescription
selectBranchprotectedDetermine branch which is closest to initial angle=0