The IMPACT function models collisions.
IMPACT (x,
, x1, k, e, cmax,
d)
| x | An expression that specifies a distance variable used to compute the IMPACT function. For example, if you use the x displacement of Marker 0201 with respect to Marker 0301, then x is DX(0201,0301,0301). See DX. |
| An expression that specifies the time derivative of x to IMPACT. For
example, if x is DX(0201,0301), then | |
| x1 | A positive real variable that specifies the free length of x. If x is less than x1, then ADAMS/Solver (FORTRAN) calculates a positive value for the force. Otherwise, the force value is zero. You can define x1 as a real number, function, or variable. |
| k | A non-negative real variable that specifies the stiffness of the boundary surface interaction. |
| e | A positive real variable that specifies the exponent of the force deformation characteristic. For a stiffening spring characteristic, e > 1.0. For a softening spring characteristic, 0 < e < 1.0. |
| cmax | A non-negative real variable that specifies the maximum damping coefficient. |
| d | A positive real variable that specifies the boundary penetration at which ADAMS/Solver (FORTRAN) applies full damping. |
The IMPACT function activates when the distance between the I and the J markers falls below a nominal free length (x1), that is, when two parts collide. As long as the distance between the I and J markers is greater than x1, the force is zero. An example of a system you can model with the IMPACT function is a ball falling towards the ground. Figure 1 below shows the free length value x1 at which the IMPACT force turns on.
The force has two components, a spring or stiffness component and a damping or viscous component. The stiffness component is proportional to k, and is a function of the penetration of the I marker within the free length distance from the J marker. The stiffness component opposes the penetration. The damping component of the force is a function of the speed of penetration. The damping opposes the direction of relative motion. To prevent a discontinuity in the damping force at contact, the damping coefficient is, by definition, a cubic step function of the penetration. Therefore, at zero penetration, the damping coefficient is always zero. The damping coefficient achieves a maximum, cmax, at a user-defined penetration, d.
Figure 1. Example Illustrating the IMPACT Function

The equation defining IMPACT is:
![]()
Note that when:
x > x1, no penetration occurs and the force is zero (penetration p = 0)
x < x1, penetration occurs at the end closer to the J marker, and the force is > 0 (penetration p = x1 - x).
Also note that when p < d, the instantaneous damping coefficient is a cubic step function of the penetration p.
When p > d, the instantaneous damping coefficient is cmax.
ADAMS/Solver (FORTRAN) never returns a negative force for IMPACT. If the above expression is negative, ADAMS/Solver (FORTRAN) returns a value of zero.
Figure 2 below is a plot of damping coefficient versus penetration.
Figure 2. Damping Coefficient versus Penetration

Tips
Define the exponent value as: e > 2.1 for the contact modeling fu. According to design studies models run better using this exponent value in the IMPACT function.
For maximum performance, define e > 1. When e is < 1, the defined force contains a slope discontinuity that may cause difficulty for the integrator.
If your model uses different
length units than the stiffness properties you would like to use, you
need to scale the stiffness by:
length conversion
factor**exponent
The reason for this is that the contact force due to penetration is
defined as:
![]()
ADAMS/View performs this conversion if you change the units under Settings. However, you need to change the units again if you enter the parameters in different units.
Example:
k = 3800 N/mm
e = 2.0
current model units: force = N, length = m
stiffness to enter for contact = 3800*(1000**2)
= 3.8e9
Also note that only length is raised to the exponent, so if you have a
different force unit, you would only scale it by the force conversion
factor.
IMPACT(DZ(11,21,21),, VZ(11,21,21,21),1.0, 100, 1.5, 25, 0.1)
This function defines an impact when a ball penetrates another object, such as a table. The force is a single-component force at Marker 11 and along the z-axis of Marker 21. DZ(11,21,21) defines the instantaneous displacement of Marker 11 with respect to Marker 21 along the z-axis of Marker 21. VZ(11,21,21,21) defines the instantaneous velocity.