1 #ifndef SimTK_SIMBODY_SMOOTH_SPHERE_HALFSPACE_FORCE_H_
2 #define SimTK_SIMBODY_SMOOTH_SPHERE_HALFSPACE_FORCE_H_
34 class SmoothSphereHalfSpaceForceImpl;
169 Real dynamicFriction,
Real viscousFriction,
Real transitionVelocity,
216 SmoothSphereHalfSpaceForceImpl,
Force);
Includes internal headers providing declarations for the basic SimTK Core classes,...
Every Simbody header and source file should include this header before any other Simbody header.
#define SimTK_SIMBODY_EXPORT
Definition: Simbody/include/simbody/internal/common.h:68
This is the base class from which all Force element handle classes derive.
Definition: Force.h:50
This is a concrete subsystem which can apply arbitrary forces to a MultibodySystem.
Definition: GeneralForceSubsystem.h:47
A MobilizedBody is Simbody's fundamental body-and-joint object used to parameterize a system's motion...
Definition: MobilizedBody.h:169
This class models the forces generated by simple point contacts between a sphere and a half space.
Definition: SmoothSphereHalfSpaceForce.h:149
void setTransitionVelocity(Real transitionVelocity)
Set the transition velocity, default is 0.01 (m/s).
void setViscousFriction(Real viscousFriction)
Set the coefficient of viscous friction, default is 0.
void setContactSphereRadius(Real radius)
Set the radius of the contact sphere.
void setStaticFriction(Real staticFriction)
Set the coefficient of static friction, default is 0.
SmoothSphereHalfSpaceForce(GeneralForceSubsystem &forces)
Create a smooth sphere to half space Hunt-Crossley contact model.
Vec3 getContactSphereLocationInBody()
Get the location of the contact sphere in the body frame.
void setStiffness(Real stiffness)
Set the stiffness constant (i.e., plain strain modulus), default is 1 (N/m^2).
void setContactSphereBody(MobilizedBody bodyInput1)
Set the MobilizedBody to which the contact sphere is attached.
void setHuntCrossleySmoothing(Real bv)
Set the parameter that determines the smoothness of the transition of the tanh used to smooth the Hun...
void setContactHalfSpaceFrame(Transform halfSpaceFrame)
Set the transform of the contact half space in the body frame.
Transform getContactHalfSpaceTransform()
Get the transform of the contact half space.
void setContactHalfSpaceBody(MobilizedBody bodyInput2)
Set the MobilizedBody to which the contact half space is attached.
SimTK_INSERT_DERIVED_HANDLE_DECLARATIONS(SmoothSphereHalfSpaceForce, SmoothSphereHalfSpaceForceImpl, Force)
void setContactSphereLocationInBody(Vec3 locationSphere)
Set the location of the contact sphere in the body frame.
void setHertzSmoothing(Real bd)
Set the parameter that determines the smoothness of the transition of the tanh used to smooth the Her...
void setDissipation(Real dissipation)
Set the dissipation coefficient, default is 0 (s/m).
void setParameters(Real stiffness, Real dissipation, Real staticFriction, Real dynamicFriction, Real viscousFriction, Real transitionVelocity, Real cf, Real bd, Real bv)
Set the contact material parameters.
void setConstantContactForce(Real cf)
Set the constant that enforces non-null derivatives, default is 1e-5.
Real getContactSphereRadius()
Get the radius of the contact sphere.
void setDynamicFriction(Real dynamicFriction)
Set the coefficient of dynamic friction, default is 0.
MobilizedBody getBodySphere()
Get the MobilizedBody to which the contact sphere is attached.
MobilizedBody getBodyHalfSpace()
Get the MobilizedBody to which the contact half space is attached.
This is the top-level SimTK namespace into which all SimTK names are placed to avoid collision with o...
Definition: Assembler.h:37
SimTK_Real Real
This is the default compiled-in floating point type for SimTK, either float or double.
Definition: SimTKcommon/include/SimTKcommon/internal/common.h:607