I used the Cnfsub to print out the contact normal force and noticed that the force estimated by the impact function doesn't directly translate to the force components inside Adams. How does Adams calculate the contact force components? Are the direction vectors and area of contact used in the estimation?
I am not sure about all the specifics behind this, but one thing could be that you have multiple contact points between your contact geometries, and the cnfsub is called for each contact point.
In general the standard contact should be using the impact function to calculate the contact force.
One more question, is cnfsub called regardless of the existence of penetration or is it only called when gap < 0? I am asking because I want to model the loss/regaining of contact and would like to see how calling cnfsub works.
To rephrase this, is it possible that the input of gap to the cnfsub be 0 or >0? I tested this with a benchmark problem (ball bouncing on surface), printing the values for gap, and it didn't seem to print any positive values (i.e. loss of contact) even though I made sure there was loss of contact and by viewing the graphics.