Simbody
3.7

This provides deformed geometry and force details for one element of a contact patch that may be composed of many elements. More...
Public Member Functions  
const Vec3 &  getContactPoint () const 
This is the point at which this contact element applies equal and opposite forces to the two bodies. More...  
const UnitVec3 &  getContactNormal () const 
This is the normal direction for this contact element, pointing away from body 1's exterior and towards body 2's interior, that is, in the direction of the normal force applied to body 2 by body1. More...  
const Vec3 &  getSlipVelocity () const 
Get the relative slip velocity between the bodies at the contact point, as body 2's velocity in body 1. More...  
const Vec3 &  getForceOnSurface2 () const 
Get the total force applied to body 2 at the contact point by this contact element; negate this to find the force on body 1 at the same point. More...  
Real  getDeformation () const 
Get the total normal material deformation at the contact point; this is the sum of the deformations of the two surfaces there. More...  
Real  getDeformationRate () const 
Get the instantaneous rate at which the material at the contact point is deforming; this is the material derivative of the deformation and does not reflect that fact that the contact point itself is changing with time. More...  
Real  getPatchArea () const 
This is the surface area represented by this contact element. More...  
Real  getPeakPressure () const 
This is the peak pressure on this element; typically it is just the normal force divided by the patch area since most contact models assume constant force across a contact element's patch. More...  
Real  getPotentialEnergy () const 
Get the amount of potential energy currently stored in the deformation of this contact element. More...  
Real  getPowerDissipation () const 
Get the energy dissipation rate (power loss) due to the deformation rate and friction losses for this element (this is a signed value with positive indicating dissipation). More...  
void  changeFrameInPlace (const Transform &X_BA) 
This object is currently in an assumed frame A; given a transform from another frame B to A we'll remeasure and reexpress this in B. More...  
void  changeFrameAndSwitchSurfacesInPlace (const Transform &X_BA) 
Assuming that this object is currently reporting surface 2 information in frame A, here we want to both change the frame to B and swap which surface is to be considered as surface 2. More...  
This provides deformed geometry and force details for one element of a contact patch that may be composed of many elements.
Every element generates equal and opposite forces on both surfaces so we can use a consistent patchcentered convention for reporting details regardless of the original source of the element.
Vector results are expressed in Ground. We return
It is important to note that we are interested in the motion (deformations) of material points here, not the motion of the contact point which is a nonmaterial concept and thus not directly involved in producing forces. The patch area is provided separately and its significance also depends on the model.
We report the combined deformation (>= 0) of the two surfaces at C, along the normal n. We do not attempt to report angular deformation of the element. Elastic deformation rate is also provided. This is the rate that the material points currently at C are compressing or relaxing along the normal. That is, we are not including the fact that the contact point C may be moving along the surfaces, we just report what is happening to the material in its own frame. Note that we do not attempt to report angular deformation rate.
Slip velocity measures the relative velocity of the body stations that are instantaneously coincident with C. This will be in the plane for which n is the normal, but it is expressed in Ground so is a 3d vector.
Contact force is the force being applied to surface 2 by surface 1 at the contact point C. This includes the normal force due to elasticity and dissipation, and the tangential force due to friction and to tangential elasticity and dissipation, if any.
Peak pressure is a scalar providing the worstcase pressure present somewhere in the patch, if the model can provide that. Otherwise it will be the normal force divided by the patch area to give the average pressure across the patch.
Potential energy is the amount of energy currently stored in the elastic deformation of this element. Summing this over all the contact detail elements should yield the same value as is reported as the resultant potential energy for this contact.
Power loss is the rate at which energy is being lost due to dissipation and to friction, but not due to elastic deformation because that is contributing to potential energy and we expect to get it back. Summing this over all the contact detail elements should yield the same value as is reported as the resultant power loss for this contact.

inline 
This is the point at which this contact element applies equal and opposite forces to the two bodies.

inline 
This is the normal direction for this contact element, pointing away from body 1's exterior and towards body 2's interior, that is, in the direction of the normal force applied to body 2 by body1.

inline 
Get the relative slip velocity between the bodies at the contact point, as body 2's velocity in body 1.
This is a vector in the contact plane, that is, it is perpendicular to the contact normal.

inline 
Get the total force applied to body 2 at the contact point by this contact element; negate this to find the force on body 1 at the same point.

inline 
Get the total normal material deformation at the contact point; this is the sum of the deformations of the two surfaces there.
This is sometimes called the "approach" of the two bodies and represents the amount of overlap of the undeformed surfaces at this point; that is, they have to deform this much in order not to overlap.

inline 
Get the instantaneous rate at which the material at the contact point is deforming; this is the material derivative of the deformation and does not reflect that fact that the contact point itself is changing with time.
Energy dissipation in the material depends on the rate at which the material is deforming, it does not depend on contact point changes.

inline 
This is the surface area represented by this contact element.

inline 
This is the peak pressure on this element; typically it is just the normal force divided by the patch area since most contact models assume constant force across a contact element's patch.

inline 
Get the amount of potential energy currently stored in the deformation of this contact element.

inline 
Get the energy dissipation rate (power loss) due to the deformation rate and friction losses for this element (this is a signed value with positive indicating dissipation).

inline 
This object is currently in an assumed frame A; given a transform from another frame B to A we'll remeasure and reexpress this in B.
Cost is 63 flops.

inline 
Assuming that this object is currently reporting surface 2 information in frame A, here we want to both change the frame to B and swap which surface is to be considered as surface 2.
Cost is 72 flops.
Vec3 SimTK::ContactDetail::m_contactPt 
UnitVec3 SimTK::ContactDetail::m_patchNormal 
Vec3 SimTK::ContactDetail::m_slipVelocity 
Vec3 SimTK::ContactDetail::m_forceOnSurface2 
Real SimTK::ContactDetail::m_deformation 
Real SimTK::ContactDetail::m_deformationRate 
Real SimTK::ContactDetail::m_patchArea 
Real SimTK::ContactDetail::m_peakPressure 
Real SimTK::ContactDetail::m_potentialEnergy 
Real SimTK::ContactDetail::m_powerLoss 