mbsim 4.0.0 MBSim Kernel

Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
MBSim::ContactKinematics Class Reference

basic class for contact kinematical calculations More...

`#include <contact_kinematics.h>`

Inheritance diagram for MBSim::ContactKinematics:
[legend]

## Public Member Functions

| ContactKinematics (int maxNumContacts_=1)
| constructor
| ~ContactKinematics () override=default
| destructor
virtual void | assignContours (const std::vector< Contour * > &contour_)
| treats ordering of contours More...
virtual void | calcisSize ()
void | setisInd (int ind)
int | getisSize ()
virtual void | updateInternalStateRef (fmatvec::Vec &curisParent, fmatvec::Vec &nextisParent)
virtual void | search ()
virtual void | updateg (std::vector< SingleContact > &contact)
| compute contact kinematics for all contacts More...
virtual void | updateg (SingleContact &contact, int i=0)
| compute contact kinematics for a single contact More...
virtual void | updatewb (std::vector< SingleContact > &contact)
| compute contact kinematics on acceleration level for all contacts More...
virtual void | updatewb (SingleContact &contact, int i=0)
| compute contact kinematics on acceleration level for a single contact More...
void | assignContours (Contour *contour1, Contour *contour2)
| treats ordering of contours More...
int | getMaximumNumberOfContacts () const
void | setGlobalSearch (bool gS_=true)
void | setInitialGlobalSearch (bool iGS_=true)
virtual void | setInitialGuess (const fmatvec::MatV &zeta0_)
| set initial guess for root-finding
void | setTolerance (double tol_)
| set tolerance for root-finding
void | setMaximumNumberOfContacts (int maxNumContacts_)
| set maximum number of contacts

## Static Public Member Functions

static std::vector< double > | searchPossibleContactPoints (Function< double(double)> *func, double eta, const std::vector< double > &nodes, double tol)
static std::vector< double > | searchPossibleContactPoints (Function< fmatvec::Vec(fmatvec::Vec)> *func, int i, fmatvec::Vec &zeta, const std::vector< double > &nodes, double tol)

## Protected Attributes

double | tol {1e-10}
| tolerance for root-finding
int | maxNumContacts {1}
| maximum number of contacts
fmatvec::Vec | curis
fmatvec::Vec | nextis
int | isInd { 0 }
int | isSize { 0 }
std::vector< Contour * > | contour
bool | gS {false}
bool | iGS {false}

## Detailed Description

basic class for contact kinematical calculations

Author
  Martin Foerg

Date
  2009-03-18 some comments (Thorsten Schindler)
  2009-04-02 velocity part deleted (Thorsten Schindler)
  2009-07-28 updates are pure virtual (Thorsten Schindler)

## Member Function Documentation

## ◆ assignContours() [1/2]

virtual void MBSim::ContactKinematics::assignContours | ( | const std::vector< Contour * > & | contour_ | ) |

inline virtual

treats ordering of contours

Parameters

  contour | vector

Reimplemented in MBSim::ContactKinematicsPlatePolynomialFrustum, MBSim::ContactKinematicsPointPolynomialFrustum, MBSim::ContactKinematicsSpherePolynomialFrustum, MBSim::ContactKinematicsCircleFrustum, MBSim::ContactKinematicsCircleExtrusion, MBSim::ContactKinematicsCirclePlanarContour, MBSim::ContactKinematicsLinePlanarContour, MBSim::ContactKinematicsPlaneSpatialContour, MBSim::ContactKinematicsPointPlanarContour, MBSim::ContactKinematicsPointSpatialContour, MBSim::ContactKinematicsBevelGearPlanarGear, MBSim::ContactKinematicsCylindricalGearRack, MBSim::ContactKinematicsBevelGearBevelGear, MBSim::ContactKinematicsCylindricalGearCylindricalGear, MBSim::ContactKinematicsPointContourInterpolation, MBSim::ContactKinematicsCompoundContourCompoundContour, MBSim::ContactKinematicsCompoundContourContour, MBSim::ContactKinematicsCircleSpatialContour, MBSim::ContactKinematicsSphereSpatialContour, MBSim::ContactKinematicsPointFrustum, MBSim::ContactKinematicsSpherePlate, MBSim::ContactKinematicsPlanarContourPlanarContour, MBSim::ContactKinematicsPointPlaneWithFrustum, MBSim::ContactKinematicsSpatialContourSpatialContour, MBSim::ContactKinematicsCircleLine, MBSim::ContactKinematicsCircleLineSegment, MBSim::ContactKinematicsPointLine, MBSim::ContactKinematicsCirclePlanarFrustum, MBSim::ContactKinematicsCirclePlane, MBSim::ContactKinematicsPointCircle, MBSim::ContactKinematicsPointCylinder, MBSim::ContactKinematicsPointLineSegment, MBSim::ContactKinematicsPointPlane, MBSim::ContactKinematicsPointPlate, MBSim::ContactKinematicsPointSphere, MBSim::ContactKinematicsSphereFrustum, MBSim::ContactKinematicsSpherePlane, MBSim::ContactKinematicsCircleCircle, MBSim::ContactKinematicsEdgeEdge, and MBSim::ContactKinematicsSphereSphere.

## ◆ assignContours() [2/2]

void MBSim::ContactKinematics::assignContours | ( | Contour * | contour1,
|  | Contour * | contour2
| ) |  |

inline

treats ordering of contours

Parameters

  first | contour
  second | contour

## ◆ getMaximumNumberOfContacts()

int MBSim::ContactKinematics::getMaximumNumberOfContacts | ( |  | ) | const

inline

Returns
  maximum number of contacts

## ◆ updateg() [1/2]

virtual void MBSim::ContactKinematics::updateg | ( | std::vector< SingleContact > & | contact | ) |

virtual

compute contact kinematics for all contacts

Parameters

  contact | vector of all contacts
  i | index of the contact point that should be updated

Reimplemented in MBSim::ContactKinematicsCompoundContourCompoundContour, and MBSim::ContactKinematicsCompoundContourContour.

## ◆ updateg() [2/2]

virtual void MBSim::ContactKinematics::updateg | ( | SingleContact & | contact,
|  | int | i = `0`
| ) |  |

inline virtual

compute contact kinematics for a single contact

Parameters

  conctact | single contact
  i | index of the contact that should be updated

Reimplemented in MBSim::ContactKinematicsPlatePolynomialFrustum, MBSim::ContactKinematicsPointPolynomialFrustum, MBSim::ContactKinematicsSpherePolynomialFrustum, MBSim::ContactKinematicsCircleFrustum, MBSim::ContactKinematicsCircleExtrusion, MBSim::ContactKinematicsCirclePlanarContour, MBSim::ContactKinematicsLinePlanarContour, MBSim::ContactKinematicsPlaneSpatialContour, MBSim::ContactKinematicsPointExtrusion, MBSim::ContactKinematicsPointPlanarContour, MBSim::ContactKinematicsPointSpatialContour, MBSim::ContactKinematicsBevelGearPlanarGear, MBSim::ContactKinematicsCylindricalGearRack, MBSim::ContactKinematicsBevelGearBevelGear, MBSim::ContactKinematicsCylindricalGearCylindricalGear, MBSim::ContactKinematicsCircleSpatialContour, MBSim::ContactKinematicsPointContourInterpolation, MBSim::ContactKinematicsSphereSpatialContour, MBSim::ContactKinematicsPlanarContourPlanarContour, MBSim::ContactKinematicsSpatialContourSpatialContour, MBSim::ContactKinematicsPointFrustum, MBSim::ContactKinematicsSpherePlate, MBSim::ContactKinematicsPointPlaneWithFrustum, MBSim::ContactKinematicsCircleLine, MBSim::ContactKinematicsCircleLineSegment, MBSim::ContactKinematicsPointLine, MBSim::ContactKinematicsCirclePlanarFrustum, MBSim::ContactKinematicsCirclePlane, MBSim::ContactKinematicsPointCircle, MBSim::ContactKinematicsPointCylinder, MBSim::ContactKinematicsPointLineSegment, MBSim::ContactKinematicsPointPlane, MBSim::ContactKinematicsPointPlate, MBSim::ContactKinematicsPointSphere, MBSim::ContactKinematicsSphereFrustum, MBSim::ContactKinematicsSpherePlane, MBSim::ContactKinematicsCircleCircle, MBSim::ContactKinematicsEdgeEdge, and MBSim::ContactKinematicsSphereSphere.

## ◆ updatewb() [1/2]

virtual void MBSim::ContactKinematics::updatewb | ( | std::vector< SingleContact > & | contact | ) |

inline virtual

compute contact kinematics on acceleration level for all contacts

Parameters

  conctact | single contact
  i | index of the contact that should be updated

## ◆ updatewb() [2/2]

void MBSim::ContactKinematics::updatewb | ( | SingleContact & | contact,
|  | int | i = `0`
| ) |  |

virtual

compute contact kinematics on acceleration level for a single contact

Parameters

  conctact | single contact
  i | index of the contact that should be updated

Reimplemented in MBSim::ContactKinematicsCircleExtrusion, MBSim::ContactKinematicsCirclePlanarContour, MBSim::ContactKinematicsLinePlanarContour, MBSim::ContactKinematicsPlaneSpatialContour, MBSim::ContactKinematicsPointPlanarContour, MBSim::ContactKinematicsPointSpatialContour, MBSim::ContactKinematicsBevelGearPlanarGear, MBSim::ContactKinematicsCylindricalGearRack, MBSim::ContactKinematicsBevelGearBevelGear, MBSim::ContactKinematicsCylindricalGearCylindricalGear, MBSim::ContactKinematicsPlanarContourPlanarContour, MBSim::ContactKinematicsCircleLine, MBSim::ContactKinematicsCircleLineSegment, MBSim::ContactKinematicsPointLine, MBSim::ContactKinematicsCirclePlane, MBSim::ContactKinematicsPointCircle, MBSim::ContactKinematicsPointCylinder, MBSim::ContactKinematicsPointLineSegment, MBSim::ContactKinematicsPointPlane, MBSim::ContactKinematicsPointSphere, MBSim::ContactKinematicsSpherePlane, and MBSim::ContactKinematicsCircleCircle.

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

- /mbsim-env/mbsim/kernel/mbsim/contact_kinematics/contact_kinematics.h
- /mbsim-env/mbsim/kernel/mbsim/contact_kinematics/contact_kinematics.cc