www.kxcad.net Home > CAE Index > MSC Software Index > Adams MD R2 Index
The JPRIM statement describes a joint primitive, which constrains one, two, or three degrees of either translational or rotational freedom. JPRIMs do not usually have a physical analogue and are predominantly useful in enforcing standard geometric constraints.
Indicates a three-degree-of-freedom primitive that allows only rotational motion of one part with respect to another (see the figure below).
For an atpoint primitive, Adams/Solver (C++) constrains all three translational displacements so that the I and J markers are always superimposed. Specifies the identifier of one fixed marker in each part the primitive connects. Adams/Solver (C++) connects one part at the I marker to another at the J marker. Indicates a four-degree-of-freedom primitive that allows one translational and three rotational motions of one part with respect to another (see the figure below).
For an inline primitive, Adams/Solver (C++) imposes two translational constraints, which confine the translational motion of the I marker to the line defined by the z-axis of the J marker. Indicates a five-degree-of-freedom primitive that allows both translational and rotational motion of one part with respect to another (see the figure below).
For an inplane primitive, Adams/Solver (C++) imposes one translational constraint, which confines the translational motion of the I marker to the x-y plane of the J marker. Indicates a three-degree-of-freedom primitive that allows only translational motion of one part with respect to another (see the figure below).
For an orientation primitive, Adams/Solver (C++) imposes three rotational constraints to keep the orientation of the I marker identical to the orientation of the J marker. Indicates a four-degree-of-freedom primitive that allows both translational and rotational motion of one part with respect to another (see the figure below).
For a parallel axes primitive, Adams/Solver (C++) imposes two rotational constraints so that the z-axis of the I marker stays parallel to the z-axis of the J marker. This primitive permits relative rotation about the common z-axis of I and J and permits all relative displacements. Indicates a five-degree-of-freedom primitive that allows both translational and rotational motion of one part with respect to another (see the figure below).
For a perpendicular primitive, Adams/Solver (C++) imposes a single rotational constraint on the I and the J markers so that their z-axes remain perpendicular. This allows relative rotations about either z-axis, but does not allow any relative rotation in the direction perpendicular to both z-axes.The JPRIM statement describes a joint primitive, which constrains one, two, or three degrees of either translational or rotational freedom. The joint primitives, in general, do not have physical counterparts. The next figure shows the degrees of freedom each joint primitive allows.
In these and subsequent joint primitive figures, thick solid arrows show permissible motions of the I marker with respect to the J marker, thick dashed arrows show forbidden motions of the I marker with respect to the J marker, and thin solid lines show the I marker. Ghost constructs suggest spatial relationships.
This type of Joint Primitive: Removes No. Translational DOF Removes No. of Rotational DOF Removes Total
Number DOF The reaction force on the part containing the I marker always acts at the I marker. The reaction force on the part containing the J marker acts at the instantaneous location of the I marker; that is, the point of application can vary with time if the I and J markers translate with respect to one another. The reaction force on the part containing the J marker is always equal and opposite to the reaction force on the part containing the I marker.
Joint primitives can be combined to define a complex constraint. In fact, they can be used to create any of the recognizable joints (except for RACKPIN and SCREW). However, motions cannot be applied on joint primitives as they can be on recognizable joints. For more information on recognizable joints, see JOINT.
• Just as the JPRIM elements are the primitive forms of the JOINT elements, the GCON element is an even more primite or abstract way to represent constraints in the system. The GCON element can easily represent some of the constraints that users have looked for in the JPRIM element. For example, users have occasionally requested a distance JPRIM, a constraint that keeps two markers offset by a specified distance. To do this, use:
GCON/id, I=i, FUN=DM(i,j)-<offset>
which will keep two markers, i and j, apart by the distance <offset> and report, as a result, the reaction force applied to i to accomplish this. Note that <offset> must be non-negative. Furthermore, an <offset> of zero should not be considered equivalent to an ATPOINT JPRIM that removes three DOFs, when the GCON only removes one. The <offset> value does not need to be constant, nor is it limited to functions of time.
In Adams/Solver (C++), any joint primitive can be attached to a marker on a flexible body, thereby lifting restrictions in the Adams/Solver (FORTRAN). Joint primitives, however, which do not keep the I and J markers coincident require special consideration when the J marker is on a flexible body. In general, joint reaction forces only act on flexible bodies at the marker attachment. If the joint permits the markers to move relative to each other, the offset between the markers is treated as a rigid lever. That is, a reaction force-moment pair (Fi, Mi) at marker I will cause a reaction force-moment pair (Fj, Mj) at marker J according to:Where r is the instantaneous position vector from marker J to marker I.For example, an I marker on a part that is constrained by an inline joint primitive to move on the z-axis of a J marker on a flexible body should not be considered to be sliding over the surface of the flexible body because the true effect of the primitive is that of a part sliding on a rigid rod that is welded to the flexible body at the location of J.
• Some JPRIM elements purport to align marker axes so that they are parallel and point in the same direction. In actuality, the JPRIM only guarantees that the axes are either parallel or anti-parallel (pointing in the opposite direction). Because the parallel orientation is verified during model input, and because markers are very unlikely to instantaneously to flip by 180 degrees, the likelihood of anti-parallel axes has been very low. However, with the advent of curve-markers, which will experience an orientation flip when passing through an inflection point, the situation has become a possibility.
Although it would have been possible to forbid anti-parallel assembly of JPRIM axes and enforce this at run-time, the overhead of such checking would not be justifiable, given the low probability of the occurrence. Furthermore, because the only recourse would be to stop the simulation, it is not clear that this check would be very useful.
If the user requires that two axes (for example, the Z axes) remain parallel, as opposed to anti-parallel, we recommend that the following GCON be added to the model:
GCON/id, FUN=UVZ(i)*UVZ(j)-1
(replace UVZ with UVX or UVY for X and Y axes, respectively). The GCON will be flagged as a redundant constraint, but since Adams/Solver (C++) stops as soon as a redundant constraint becomes a conflicting constraint, a solution involving anti-parallel axes will be prevented.This JPRIM statement indicates that Adams/Solver (C++) is to use an inline joint primitive to connect one part to another. This connects the first part at Marker 0140 to the second at Marker 0240.