OpenSim::HuntCrossleyForce Class Reference

This force subclass implements a Hunt-Crossley contact model. More...

#include <HuntCrossleyForce.h>

Inheritance diagram for OpenSim::HuntCrossleyForce:
OpenSim::Force OpenSim::ModelComponent OpenSim::Object

List of all members.

Public Member Functions

 HuntCrossleyForce ()
 HuntCrossleyForce (const HuntCrossleyForce &copy)
 HuntCrossleyForce (ContactParameters *params)
void copyData (const HuntCrossleyForce &copy)
 Copy data members from one Force to another.
Objectcopy () const
 Copy this force and return a pointer to the copy.
ContactParametersSet & updContactParametersSet ()
const ContactParametersSet & getContactParametersSet ()
void addContactParameters (ContactParameters *params)
double getTransitionVelocity () const
 Get the transition velocity for switching between static and dynamic friction.
void setTransitionVelocity (double velocity)
 Set the transition velocity for switching between static and dynamic friction.
virtual OpenSim::Array
< std::string > 
getRecordLabels () const
 Provide name(s) of the quantities (column labels) of the force value(s) to be reported.
virtual OpenSim::Array< double > getRecordValues (const SimTK::State &state) const
 Provide the value(s) to be reported that correspond to the labels.
 ContactParameters ()
 ContactParameters (const ContactParameters &copy)
 ContactParameters (double stiffness, double dissipation, double staticFriction, double dynamicFriction, double viscousFriction)
void copyData (const ContactParameters &copy)
Objectcopy () const
 Construct and return a copy of this object.
const Array< std::string > & getGeometry () const
Array< std::string > & updGeometry ()
void addGeometry (const std::string &name)
double getStiffness () const
void setStiffness (double stiffness)
double getDissipation () const
void setDissipation (double dissipation)
double getStaticFriction () const
void setStaticFriction (double friction)
double getDynamicFriction () const
void setDynamicFriction (double friction)
double getViscousFriction () const
void setViscousFriction (double friction)
 ContactParametersSet ()
 ContactParametersSet (const ContactParametersSet &copy)
 ~ContactParametersSet (void)
Objectcopy () const
 Construct and return a copy of this object.
ContactParametersSet & operator= (const ContactParametersSet &copy)

Protected Member Functions

void createSystem (SimTK::MultibodySystem &system) const
 Create a SimTK::Force which implements this Force.

Protected Attributes

PropertyObj _contactParametersSetProp
ContactParametersSet & _contactParametersSet
PropertyDbl _transitionVelocityProp
double & _transitionVelocity

Detailed Description

This force subclass implements a Hunt-Crossley contact model.

It uses Hertz contact theory to model the interactions between a set of ContactSpheres and ContactHalfSpaces.

Author:
Peter Eastman

Constructor & Destructor Documentation

OpenSim::HuntCrossleyForce::HuntCrossleyForce (  ) 
OpenSim::HuntCrossleyForce::HuntCrossleyForce ( const HuntCrossleyForce copy  ) 
OpenSim::HuntCrossleyForce::HuntCrossleyForce ( ContactParameters *  params  ) 
OpenSim::HuntCrossleyForce::~ContactParametersSet ( void   ) 

Member Function Documentation

void OpenSim::HuntCrossleyForce::addContactParameters ( ContactParameters *  params  ) 
void OpenSim::HuntCrossleyForce::addGeometry ( const std::string &  name  ) 
OpenSim::HuntCrossleyForce::ContactParameters ( double  stiffness,
double  dissipation,
double  staticFriction,
double  dynamicFriction,
double  viscousFriction 
)
OpenSim::HuntCrossleyForce::ContactParameters ( const ContactParameters &  copy  ) 
OpenSim::HuntCrossleyForce::ContactParameters (  ) 
OpenSim::HuntCrossleyForce::ContactParametersSet ( const ContactParametersSet &  copy  ) 
OpenSim::HuntCrossleyForce::ContactParametersSet (  ) 
Object* OpenSim::HuntCrossleyForce::copy (  )  const [virtual]

Construct and return a copy of this object.

The object is allocated using the new operator, so the caller is responsible for deleting the returned object.

Returns:
Copy of this object.

Implements OpenSim::Force.

Object* OpenSim::HuntCrossleyForce::copy (  )  const [virtual]

Construct and return a copy of this object.

The object is allocated using the new operator, so the caller is responsible for deleting the returned object.

Returns:
Copy of this object.

Implements OpenSim::Force.

Object * OpenSim::HuntCrossleyForce::copy (  )  const [virtual]

Copy this force and return a pointer to the copy.

The copy constructor for this class is used.

Returns:
Pointer to a copy of this Force.

Implements OpenSim::Force.

void OpenSim::HuntCrossleyForce::copyData ( const ContactParameters &  copy  ) 
void OpenSim::HuntCrossleyForce::copyData ( const HuntCrossleyForce aForce  ) 

Copy data members from one Force to another.

Parameters:
aForce Force to be copied.

Reimplemented from OpenSim::Force.

void OpenSim::HuntCrossleyForce::createSystem ( SimTK::MultibodySystem &  system  )  const [protected, virtual]

Create a SimTK::Force which implements this Force.

Reimplemented from OpenSim::Force.

const HuntCrossleyForce::ContactParametersSet & OpenSim::HuntCrossleyForce::getContactParametersSet (  ) 
double OpenSim::HuntCrossleyForce::getDissipation (  )  const
double OpenSim::HuntCrossleyForce::getDynamicFriction (  )  const
const Array<std::string>& OpenSim::HuntCrossleyForce::getGeometry (  )  const
OpenSim::Array< std::string > OpenSim::HuntCrossleyForce::getRecordLabels (  )  const [virtual]

Provide name(s) of the quantities (column labels) of the force value(s) to be reported.

Provide names of the quantities (column labels) of the force value(s) reported.

Reimplemented from OpenSim::Force.

OpenSim::Array< double > OpenSim::HuntCrossleyForce::getRecordValues ( const SimTK::State &  state  )  const [virtual]

Provide the value(s) to be reported that correspond to the labels.

Reimplemented from OpenSim::Force.

double OpenSim::HuntCrossleyForce::getStaticFriction (  )  const
double OpenSim::HuntCrossleyForce::getStiffness (  )  const
double OpenSim::HuntCrossleyForce::getTransitionVelocity (  )  const

Get the transition velocity for switching between static and dynamic friction.

double OpenSim::HuntCrossleyForce::getViscousFriction (  )  const
ContactParametersSet& OpenSim::HuntCrossleyForce::operator= ( const ContactParametersSet &  copy  ) 
void OpenSim::HuntCrossleyForce::setDissipation ( double  dissipation  ) 
void OpenSim::HuntCrossleyForce::setDynamicFriction ( double  friction  ) 
void OpenSim::HuntCrossleyForce::setStaticFriction ( double  friction  ) 
void OpenSim::HuntCrossleyForce::setStiffness ( double  stiffness  ) 
void OpenSim::HuntCrossleyForce::setTransitionVelocity ( double  velocity  ) 

Set the transition velocity for switching between static and dynamic friction.

void OpenSim::HuntCrossleyForce::setViscousFriction ( double  friction  ) 
HuntCrossleyForce::ContactParametersSet & OpenSim::HuntCrossleyForce::updContactParametersSet (  ) 
Array<std::string>& OpenSim::HuntCrossleyForce::updGeometry (  ) 

Member Data Documentation

ContactParametersSet& OpenSim::HuntCrossleyForce::_contactParametersSet [protected]

The documentation for this class was generated from the following files:

Generated on Sun Sep 25 00:19:58 2011 for OpenSim by  doxygen 1.6.1