SphericalSpherical
Spherical - spherical joint aggregation (1 constraint, no potential states) with an optional point mass in the middle
Library
Modelica/Mechanics/MultiBody/Joints
Description
Joint that has a spherical joint on each of its two ends.The rod connecting the two spherical joints is approximated by apoint mass that is located in the middle of the rod. When the massis set to zero (default), special code for a massless body is generated.In the following default animation figure, the two spherical joints arerepresented by two red spheres, the connecting rod by a grey cylinderand the point mass in the middle of the rod by a light blue sphere:
This joint introduces one constraint defining that the distance betweenthe origin of frame_a and the origin of frame_b is constant (= rodLength).It is highly recommended to use this joint in loopswhenever possible, because this enhances the efficiencyconsiderably due to smaller systems of non-linear algebraicequations.
It is sometimes desirable to compute the rodLengthof the connecting rod during initialization. For this, parametercomputeLength has to be set to true and instead one other,easier to determine, position variable in the same loopneeds to have a fixed attribute of true. For example,if a loop consists of one Revolute joint, one Prismatic joint anda SphericalSpherical joint, one may fix the start values of the revolutejoint angle and of the relative distance of the prismatic jointin order to compute the rodLength of the rod.
It is not possible to connect other components, such as a body with massproperties or a special visual shape object to the rod connectingthe two spherical joints. If this is needed, use instead joint Joints.UniversalSphericalthat has this property.
Parameters
Name | Label | Description | Data Type | Valid Values |
---|---|---|---|---|
mo_animation | animation | = true, if animation shall be enabled | Scalar | true |
mo_showMass | showMass | = true, if mass shall be shown (provided animation = true and m > 0) | Scalar | true |
mo_computeRodLength | computeRodLength | = true, if rodLength shall be computed during initialization (see info) | Scalar | true |
mo_rodLength | rodLength | Distance between the origins of frame_a and frame_b (if computeRodLength=true, guess value) | Scalar | |
mo_m | m | Mass of rod (= point mass located in middle of rod) | Scalar |
Name | Label | Description | Data Type | Valid Values |
---|---|---|---|---|
mo_sphereDiameter | sphereDiameter | Diameter of spheres representing the spherical joints | Scalar | |
mo_sphereColor | sphereColor | Color of spheres representing the spherical joints | Vector of size 3 | |
mo_rodDiameter | rodDiameter | Diameter of rod connecting the two spherical joint | Scalar | |
mo_rodColor | rodColor | Color of rod connecting the two spherical joints | Vector of size 3 | |
mo_specularCoefficient | specularCoefficient | Reflection of ambient light (= 0: light is completely absorbed) | Scalar | |
mo_massDiameter | massDiameter | Diameter of sphere representing the mass point | Scalar | |
mo_massColor | massColor | Color of sphere representing the mass point | Vector of size 3 |
Name | Label | Description | Data Type | Valid Values |
---|---|---|---|---|
mo_kinematicConstraint | kinematicConstraint | = false, if no constraint shall be defined, due to analytically solving a kinematic loop ("false" should not be used by user, but only by MultiBody.Joints.Assemblies joints) | Scalar | true |
mo_checkTotalPower | checkTotalPower | = true, if total power flowing into this component shall be determined (must be zero) | Scalar | true |
mo_constraintResidue | constraintResidue | Constraint equation of joint in residue form: Either length constraint (= default) or equation to compute rod force (for analytic solution of loops in combination with Internal.RevoluteWithLengthConstraint/PrismaticWithLengthConstraint) | Scalar |
Name | Label | Description | Data Type | Valid Values |
---|---|---|---|---|
mo__nmodifiers | Number of Modifiers | Specifies the number of modifiers | Number | |
mo__modifiers | Modifiers | Add new modifier | Structure | |
mo__modifiers/varname | Variable name | Cell of strings | 'f_rod' | |
mo__modifiers/attribute | Attribute | Cell of strings | 'start' | |
mo__modifiers/value | Value |
Ports
Name | Type | Description | IO Type | Number |
---|---|---|---|---|
frame_a | implicit | Coordinate system a fixed to the component with one cut-force and cut-torque | input | 1 |
frame_b | implicit | Coordinate system b fixed to the component with one cut-force and cut-torque | output | 1 |