Building Models Constraints
Building Models Constraints
Constraints define how parts (rigid bodies, Flexible bodies, or Point mass) are attached to one another and
how they are allowed to move relative to each other. Constraints restrict relative movement between parts
and represent idealized connections.
Types of Constraints
Adams/View provides a library of constraints including:
• Idealized joints
• Primitive joints
• Motions generators
• Higher-pair constraints
The following figure shows some of the different types of idealized joints that Adams/View supports.
to one another regardless of any motion or force in the model. Each constraint in Adams/View removes
different DOF.
For example, a revolute joint removes all three translational DOF and two of the rotational DOF between
two parts. If each part had a point on the joint that was on the centerline of the revolute pin, then the two
points would always remain coincident. They would only rotate with respect to one another about one
axis: the centerline of the revolute joint.
The total number of DOF in a model is equal to the difference between the number of allowed part
motions and the number of active constraints in the model. When you run a simulation of your model,
Adams/Solver calculates the number of DOF in your model as it determines the algebraic equations of
motion to be solved in your model. You can also calculate the DOF in your model before running a
simulation as explained in Verifying Your Model.
For a list of the DOF that the different constraints in Adams/View remove, see the following:
• DOF Removed by Idealized Joints
• DOF Removed by Primitive Joints
• DOF Removed by Higher-Pair Constraints
• DOF Removed by Motion
There are other constraints, such as Hooke/universal, inline, and perpendicular, which are very
sensitive to which part is the first part and which is the second. When you create these
constraints, you should explicitly select the parts to be connected.
• Explicitly select the parts to be connected. The first part that you select moves relative to the
second part that you select.
• If you created your model in exploded view, which lets you create individual parts and then
assemble them together into a model, you can specify the parts to be connected by the constraint
and then select a different location for the constraint on each part. When you assemble the parts
into a model, Adams/View joins the parts together at the location on the first part that you
selected. Learn about Performing Initial Conditions Simulation.
Try to find only one constraint that removes all the DOF that you need to remove. If you define
more than one constraint between two parts, you get the union of the DOF that each constraint
removes, which may not be what you expected. For example, if you have two concentric,
cylindrical parts that you want to allow to rotate and translate with respect to each other, and you
use one translational and one revolute joint between the parts, you lock the parts together. They
lock together because the translational joint allows no relative rotational movement and the
revolute joint allows no relative translational movement. In this case, instead of using the two
joints, you should use a single cylindrical joint.
• Check the DOF in your system periodically.
Use the Verify command to check the DOF in your model to make sure you have the correct
number of parts and constraints. Learn about Verifying Your Model.
• Run a Kinematic simulation to test your model without forces.
If possible, run a kinematic simulation before performing a dynamic simulation. By running a
kinematic simulation, you can ensure that connections are correct before you add forces to your
model. You may have to add temporary constraints to your model to run a kinematic simulation.
• Remove redundant constraints from your model even if a simulation of your model runs
correctly. See More on Redundant Constraint Checking.
Point-Curve Constraints
The point-curve constraint restricts a fixed point defined on one part to lie on a curve defined on a second
part. The first part is free to roll and slide on the curve that is fixed to a second part. The curve on the
second part can be planar or spatial or open or closed. The first part cannot lift off the second part; it must
always lie on the curve. A point-curve constraint removes two translational Degrees of freedom from
your model.
When you specify the location of the point-curve constraint on the first part, Adams/View creates a
marker at that location. The marker is called the I marker. The I marker can only translate in one direction
relative to the curve. The I marker, however, is free to rotate in all three directions.
You can use the point-curve constraint to model a Pin-in-slot mechanism or a Simple Cam Follower
mechanism where a lever arm is articulated by the profile of a revolving cam.
When modeling a pin-in-slot mechanism, the point-curve constraint keeps the center of the pin in the
center of the slot, while allowing it to move freely along the slot and rotate in the slot.
5
Overview of Constraints
Note: You can also modify constraint properties using the Table Editor.
1. Display the Constraint Modify Higher Pair Contact Point Curve dialog box as explained in
Accessing Modify Dialog Boxes.
2. Assign a unique ID number to it. Learn about Adams/Solver IDs.
3. In the Comments text box, add any comments about the cam that you want to enter to help you
manage and identify the cam. Learn about Comments.
4. Set the basic properties as explained in the table below.
Ref Marker Name Enter marker that is fixed on the part containing the curve on which the point
must move. Adams/Solver uses the reference marker to associate the shape
defined by the curve to the part on which the reference marker lies. The
curve coordinates are, therefore, specified in the coordinate system of the
reference marker.
Displacement Ic/ Select either:
No Displacement Ic
• Displacement Ic - Enter the initial point of contact along the curve. If
the point you specify is not exactly on the curve, Adams/View uses a
point on the curve nearest to the point you specify. By default, you
specify the initial point of contact in the coordinate system of the part
containing the curve or specify it in the coordinate system of the marker
you specify for Ic Ref Marker Name.
• No Displacement Ic - Leaves the initial displacement unset.
Learn about Higher-Pair Constraints Initial Conditions.
7
Overview of Constraints
• Enter the marker with which the initial point of contact on the curve is
specified.
• Leave blank. Adams/View uses the coordinate system of the part
containing the curve.
5. Set the initial conditions as explained in the table below, and then select OK.
• Enter the marker with which the initial point of contact on the curve is
specified.
• Leave blank. Adams/View uses the coordinate system of the part containing
the curve.
Curve-Curve Constraints
A curve-curve constraint restricts a curve defined on the first part to remain in contact with a second
curve defined on a second part. The curve-curve constraint is useful for modeling cams where the point
8 Adams/View
Overview of Constraints
of contact between two parts changes during the motion of the mechanism. The curve-curve constraint
removes two Degrees of freedom from your model.
An example of a curve-curve constraint is a valve lifter where a cam lifts a plate-like object. The point
of contact between the plate and the cam changes depending on the position and shape of the cam.
The two curves of the constraint, which you define by selecting edges in your model, must lie in the same
plane. You can initially select curves that are not in the same plane, but Adams/Solver moves the parts
during Simulation to ensure that the two curves are constrained to the same plane of motion with respect
to each other. Both curves can be open or closed.
The curves always maintain contact, even when the dynamics of the model might actually lift one curve
off the other. You can examine the constraint forces to determine if any lift-off should have occurred. If
your results require an accurate simulation of intermittent contact, you should model the contact forces
directly using a vector force.
The curve-curve constraint models only one contact. Therefore, if the curves have contact at more than
one point, you need to create a curve-curve constraint for each contact, each with a initial condition
displacement near the appropriate point. Learn about Higher-Pair Constraints Initial Conditions.
Note: Instead of defining a curve by selecting a curve on a part, you can also use a curve element
that you create to define the curve. To specify a curve element, you can create geometry for
the curve and select that geometry as you create the cam or modify the cam to reference
the curve element. Learn about Creating and Modifying Curve Data Elements.
2. In the settings container, for each part, set whether or not you will be selecting an edge or curve:
• Curves - Splines, chains, and data element curves are all considered curves.
• Edge - An edge is one of the wireframe outlines drawn on a solid. For example, you can use
a Parasolid object representing a cam that you imported into Adams/View.
3. Select a curve or edge that will travel along a second curve.
4. Select the curve along which the first curve will travel. The curve can be closed or open. Note that
when you select a closed curve, Adams/View highlights only a portion of the curve. Adams/View
will use the entire curve.
Note: You can also modify constraint properties using the Table Editor.
1. Display the Constraint Modify Higher Pair Contact Curve Curve as explained in Accessing Modify
Dialog Boxes.
2. Assign a unique ID number to it. Learn about Adams/Solver IDs.
3. In the Comments text box, add any comments about the cam that you want to enter to help you
manage and identify the cam. Learn about Comments.
4. Set the basic properties as explained in the table below.
5. Set the initial conditions as explained in the table below, and then select OK. Learn about Higher-
Pair Constraints Initial Conditions.
• Enter the marker with which the initial point of contact (displacement) on
the first curve (I curve) is specified.
• Leave blank. Adams/View uses the coordinate system of the part
containing the curve.
J Ic Ref Marker Name You can:
• Enter the marker with which the initial point of contact (displacement) on
the second curve (J curve) is specified.
• Leave blank. Adams/View uses the coordinate system of the part
containing the curve
• You can create more than one contact using the same curve.
• It is easy to over-constrain a model using the curve-to-curve constraint. For example, in a cam-
follower configuration, the cam should usually be rotating on a cylindrical joint, not a revolute
joint. If the follower is held by a translational joint and the cam by a cylindrical joint, the curve-
to-curve cam between the follower and cam prevents the cam from translating along the axis of
rotation, which is the axis of the cylindrical joint. A revolute joint would add a redundant
constraint in that direction.
13
Overview of Constraints
setting an initial condition to zero. Setting an initial condition to zero means that the constraint will not
be moving in the specified direction or from a specified point when the simulation starts, regardless of
any forces and constraints acting upon it. For a Kinematic simulation, the initial conditions are redundant.
Therefore, for a model with zero Degrees of freedom, you should always leave the initial conditions
unset.
General Constraints
Available with Adams/Solver (C++) only
You can create a general constraint that defines an arbitrary constraint specific to a model. As its name
implies, it is more general than the Idealized joints, which describe physically recognizable combination
of constraints that are used to connect bodies together. You can also use the general constraint to
equivalently define an existing idealized joint. Read more about the GCON statement in Adams/Solver
(C++) help.
We advise that you use the general constraint with caution. Be sure to read the Known Limitations in the
GCON statement.
15
Overview of Constraints
Constraint tool .
• To modify a general constraint, from the Edit menu, select Modify. From the Database
Navigator that appears, select the general constraint to modify.
2. The Create/Modify General Constraint dialog box appears.
3. If you are creating a general constraint, in the Name text box, change the name for the constraint.
Adams/View assigns a default name to the constraint.
4. Enter a runtime function that Adams/Solver (C++) forces to zero during the simulation. To enter
a function expression, next to the f (q) = text box, select the More tool to display the
Adams/View Function Builder. For information on using the Function Builder, see the Function
Builder online help. Learn more about defining a runtime function for a general constraint.
5. In the Report reaction forces on marker text box, enter a marker whose reaction forces are
measured and reported as part of standard results. The reaction force reported is the force that is
exerted on the marker to satisfy the constraint equation. Note that if you specify a marker and the
runtime function has no dependency on it, the general constraint reports a zero force. The default
is the ground coordinate system (GCS).
Note: You cannot enter the Adams ID for the marker; you must enter the name of the
marker. Learn about Adams/Solver IDs.
6. Select OK.