mbsim  4.0.0
MBSim Kernel
MBSim::ContactKinematicsCircleFrustum Class Reference

contact kinematics for unilateral contact between circle and frustum with at most one contact point More...

#include <circle_frustum.h>

Inheritance diagram for MBSim::ContactKinematicsCircleFrustum:
[legend]

Public Member Functions

 ContactKinematicsCircleFrustum ()
 constructor \default no debugging \default no warnings \default global search
 
 ~ContactKinematicsCircleFrustum () override
 destructor
 
void search_ ()
 
void calcisSize () override
 
void assignContours (const std::vector< Contour * > &contour) override
 treats ordering of contours More...
 
void setInitialGuess (const fmatvec::MatV &zeta0_) override
 set initial guess for root-finding More...
 
void updateg (SingleContact &contact, int i=0) override
 compute contact kinematics for a single contact More...
 
- Public Member Functions inherited from MBSim::ContactKinematics
 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 More...
 
void setTolerance (double tol_)
 set tolerance for root-finding
 
void setMaximumNumberOfContacts (int maxNumContacts_)
 set maximum number of contacts
 

Protected Attributes

int icircle
 contour index
 
int ifrustum
 
Frustumfrustum
 contour classes
 
Circlecircle
 
FuncPairConeSectionCirclefuncRho
 
JacobianPairConeSectionCirclejacRho
 
std::vector< double > nodes
 
- Protected Attributes inherited from MBSim::ContactKinematics
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}
 

Additional Inherited Members

- Static Public Member Functions inherited from MBSim::ContactKinematics
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)
 

Detailed Description

contact kinematics for unilateral contact between circle and frustum with at most one contact point

Author
Thorsten Schindler
Bastian Esefeld

\theoretical background: "Spatial Dynamics of Pushbelt CVTs" (Schindler 2010 p.34 ff)

Member Function Documentation

◆ assignContours()

void MBSim::ContactKinematicsCircleFrustum::assignContours ( const std::vector< Contour * > &  contour_)
overridevirtual

treats ordering of contours

Parameters
contourvector

Reimplemented from MBSim::ContactKinematics.

◆ calcisSize()

void MBSim::ContactKinematicsCircleFrustum::calcisSize ( )
inlineoverridevirtual

Reimplemented from MBSim::ContactKinematics.

◆ setInitialGuess()

void MBSim::ContactKinematicsCircleFrustum::setInitialGuess ( const fmatvec::MatV &  zeta0_)
overridevirtual

set initial guess for root-finding

Reimplemented from MBSim::ContactKinematics.

◆ updateg()

void MBSim::ContactKinematicsCircleFrustum::updateg ( SingleContact contact,
int  i = 0 
)
overridevirtual

compute contact kinematics for a single contact

Parameters
conctactsingle contact
iindex of the contact that should be updated

Reimplemented from MBSim::ContactKinematics.


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