The contact incident marker is defined such that the x-direction is always in the slip velocity direction. I'd like to limit the friction force to only act relative to a direction cosine given by another part, and so break the contact friction into x- and y- forces in the contact incident reference frame to accomplish this.
Think of a box rolling on a surface with roller bearings, where the surface is inclined down at 45 degrees relative to the rotation axis of the roller bearings.
Thanks for the reply. The issue in this case is that there is no marker (that I know of) in the model .adm for a contact point, so I can't pass a non-existent marker ID into the CFFSUB through the PAR-array. I think the contact point marker is built on the fly by the solver when a contact is detected.
As a workaround, I'm using your idea: pass in the two parts CM markers adams_IDs into the PAR-array associated with the i- and j- contact parts. Then I am using the CFFSUB inputs for loci and locj to find the translational velocity at the contact point on each body, taking the difference, then calculating the relative velocity to the reference frame I want to get the slip velocity in.
What I'm really after is the direction cosines in global coordinates of the contact slip velocity. I know they have already been calculated by the solver, so I'd like to access those rather than re-calculate them by hand.
So the question is more along the lines of: is it possible to get contact friction direction cosines using SYSARY?
Those are the contact point locations. I'm interested in marker IDs on each body at the contact point, so I can easily determine the velocity in a different marker's x-direction using SYSARY function calls as: UVX(CONTACT_POINT_I_MARKER_ID, CONTACT_POINT_J_MARKER_ID, TARGET_OUTPUT_REFERENCE_MARKER_ID).
If I can't get access to those marker's, getting the direction unit vector of the contact point slip velocity in global coordinates would be the next best thing. That would be analogous to the contact track results in the post-processor for I_Friction_Unit_Vector or J_Friction_Unit_Vector.
Using those location parameters will work, but I'll have to calculate the global velocity of each contact point, take the difference, then transform the slip global velocity vector to a local reference frame without being able to use utility subroutine functions.