class for contacts More...
#include <contact.h>
Classes | |
struct | saved_references |
Public Member Functions | |
Contact (const std::string &name="") | |
constructor More... | |
virtual | ~Contact () |
destructor | |
std::shared_ptr< OpenMBV::Group > | getOpenMBVGrp () |
virtual void | updatewb () |
virtual void | updateW (int i=0) |
virtual void | updateV (int i=0) |
virtual void | updateh (int i=0) |
virtual void | updateg () |
virtual void | updategd () |
virtual void | updateStopVector () |
virtual void | updateJacobians (int j=0) |
virtual void | updateWRef (const fmatvec::Mat &ref, int j=0) |
references to contact force direction matrix of dynamic system parent | |
virtual void | updateVRef (const fmatvec::Mat &ref, int j=0) |
references to condensed contact force direction matrix of dynamic system parent | |
virtual void | updatehRef (const fmatvec::Vec &hRef, int j=0) |
references to complete and link smooth force vector of dynamic system parent | |
virtual void | updaterRef (const fmatvec::Vec &hRef, int j=0) |
references to nonsmooth force vector of dynamic system parent | |
virtual void | updatewbRef (const fmatvec::Vec &ref) |
references to TODO of dynamic system parent | |
virtual void | updatelaRef (const fmatvec::Vec &ref) |
references to contact force parameter of dynamic system parent | |
virtual void | updateLaRef (const fmatvec::Vec &ref) |
references to contact force parameter of dynamic system parent | |
virtual void | updategRef (const fmatvec::Vec &ref) |
references to contact relative distances of dynamic system parent | |
virtual void | updategdRef (const fmatvec::Vec &ref) |
references to contact relative velocities of dynamic system parent | |
virtual void | updateresRef (const fmatvec::Vec &ref) |
references to residuum of nonlinear contact equations of dynamic system parent | |
virtual void | updaterFactorRef (const fmatvec::Vec &ref) |
references to rfactors of dynamic system parent | |
virtual void | updatesvRef (const fmatvec::Vec &ref) |
references to stopvector of dynamic system parent (root function for event driven integration) | |
virtual void | updatejsvRef (const fmatvec::VecInt &ref) |
references to stopvector evaluation of dynamic system parent (root detection with corresponding bool array by event driven integrator) | |
virtual void | updateLinkStatusRef (const fmatvec::VecInt &LinkStatusParent) |
reference to vector of link status (for set valued links with piecewise link equations) | |
virtual void | updateLinkStatusRegRef (const fmatvec::VecInt &LinkStatusRegParent) |
reference to vector of link status (for single-valued links) | |
virtual void | calcxSize () |
virtual void | calclaSize (int j) |
calculates size of contact force parameters | |
virtual void | calcgSize (int j) |
calculates size of relative distances | |
virtual void | calcgdSize (int j) |
calculates size of gap velocities More... | |
virtual void | calcrFactorSize (int j) |
calculates size of rfactors | |
virtual void | calcsvSize () |
calculates size of stopvector (root function for event driven integration) | |
virtual void | calcLinkStatusSize () |
calculates size of vector LinkStatus | |
virtual void | calcLinkStatusRegSize () |
calculates size of vector LinkStatusReg | |
virtual void | init (InitStage stage) |
plots time series header More... | |
virtual bool | isSetValued () const |
asks the link if it contains force laws that contribute to the lagrange multiplier and is therefore set valued More... | |
virtual bool | isSingleValued () const |
asks the link if it contains single valued force laws that contribute to the right-hand side vector h More... | |
virtual void | updateLinkStatus () |
virtual void | updateLinkStatusReg () |
virtual bool | isActive () const |
virtual bool | gActiveChanged () |
virtual bool | detectImpact () |
virtual void | solveImpactsFixpointSingle () |
virtual void | solveConstraintsFixpointSingle () |
virtual void | solveImpactsGaussSeidel () |
virtual void | solveConstraintsGaussSeidel () |
virtual void | solveImpactsRootFinding () |
virtual void | solveConstraintsRootFinding () |
virtual void | jacobianConstraints () |
computes JACOBIAN and mass action matrix of nonlinear contact equations | |
virtual void | jacobianImpacts () |
computes JACOBIAN and mass action matrix of nonlinear contact equations on velocity level | |
virtual void | updaterFactors () |
update relaxation factors for contact equations | |
virtual void | checkConstraintsForTermination () |
verify underlying force laws concerning given tolerances | |
virtual void | checkImpactsForTermination () |
verify underlying force laws on velocity level concerning given tolerances | |
virtual void | checkActive (int j) |
check if set-valued contacts are active and set corresponding attributes More... | |
virtual void | setlaTol (double tol) |
virtual void | setLaTol (double tol) |
virtual void | setgTol (double tol) |
virtual void | setgdTol (double tol) |
virtual void | setgddTol (double tol) |
virtual void | setrMax (double rMax_) |
virtual void | setLinkStatusInd (int LinkStatusInd_) |
virtual void | setLinkStatusRegInd (int LinkStatusRegInd_) |
virtual void | setsvInd (int svInd_) |
virtual void | setlaInd (int laInd_) |
virtual void | setgInd (int gInd_) |
virtual void | setgdInd (int gdInd_) |
virtual void | setrFactorInd (int rFactorInd_) |
virtual void | LinearImpactEstimation (double t, fmatvec::Vec &gInActive_, fmatvec::Vec &gdInActive_, int *IndInActive_, fmatvec::Vec &gAct_, int *IndActive_) |
get gap distance and calculate gap velocity of unilateral links to estimate impacts within the next step More... | |
virtual void | SizeLinearImpactEstimation (int *sizeInActive_, int *sizeActive_) |
calculates the number of active and inactive unilateral constraints and increments sizeActive/sizeInActive | |
virtual void | updatecorrRef (const fmatvec::Vec &ref) |
virtual void | updatecorr (int j) |
virtual void | calccorrSize (int j) |
virtual void | setcorrInd (int corrInd_) |
virtual void | checkRoot () |
virtual void | updateGeneralizedNormalForce () |
std::shared_ptr< OpenMBV::Frame > & | getOpenMBVFrame () |
std::shared_ptr< OpenMBV::Arrow > & | getOpenMBVNormalForceArrow () |
std::shared_ptr< OpenMBV::Arrow > & | getOpenMBVTangentialForceArrow () |
virtual std::string | getType () const |
virtual void | plot () |
plots time dependent data More... | |
virtual void | closePlot () |
closes plot file | |
void | resetUpToDate () |
BOOST_PARAMETER_MEMBER_FUNCTION ((void), enableOpenMBVContactPoints, tag,(optional(size,(double), 1)(offset,(double), 1)(transparency,(double), 0))) | |
Draw two OpenMBV::Frame's of size 'size' at the contact points if 'enable'==true, otherwise the object is available but disabled. If the contact is closed, then the two contact points are the same on each contour. If the contact is not closed, then the two contact point lie on the contours with minimal distance in between. The x-axis of this frames are orientated to the other frame origin (normal vector). | |
BOOST_PARAMETER_MEMBER_FUNCTION ((void), enableOpenMBVNormalForce, tag,(optional(scaleLength,(double), 1)(scaleSize,(double), 1)(referencePoint,(OpenMBV::Arrow::ReferencePoint), OpenMBV::Arrow::toPoint)(diffuseColor,(const fmatvec::Vec3 &),"[-1;1;1]")(transparency,(double), 0))) | |
Sets the OpenMBV::Arrow to be used for drawing the normal force vector. This vector is the force which is applied on the second contour. The reactio (not drawn) is applied on the first contour. | |
BOOST_PARAMETER_MEMBER_FUNCTION ((void), enableOpenMBVTangentialForce, tag,(optional(scaleLength,(double), 1)(scaleSize,(double), 1)(referencePoint,(OpenMBV::Arrow::ReferencePoint), OpenMBV::Arrow::toPoint)(diffuseColor,(const fmatvec::Vec3 &),"[-1;1;1]")(transparency,(double), 0))) | |
Sets the OpenMBV::Arrow to be used for drawing the friction force vector. This vector is the friction which is applied on the second contour. The reactio (not drawn) is applied on the frist contour. If using a set-valued friction law, then the arrow is drawn in green if the contact is in slip and in red, if the contact is in stick. | |
void | setNormalForceLaw (GeneralizedForceLaw *fcl_) |
GeneralizedForceLaw * | getNormalForceLaw () const |
void | setNormalImpactLaw (GeneralizedImpactLaw *fnil_) |
void | setTangentialForceLaw (FrictionForceLaw *fdf_) |
void | setTangentialImpactLaw (FrictionImpactLaw *ftil_) |
void | setContactKinematics (ContactKinematics *ck, size_t index=0) |
ContactKinematics * | getContactKinematics (size_t index=0) const |
ContactKinematics * | findContactKinematics (std::string cKName) const |
const std::vector< std::vector < SingleContact > > & | getSubcontacts () const |
virtual void | setPlotFeatureContactKinematics (std::string cKName, PlotFeature pf, PlotFeatureStatus value) |
virtual int | getFrictionDirections () |
void | connect (Contour *contour1, Contour *contour2, ContactKinematics *contactKinematics=0, const std::string &name="") |
Contour * | getContour (int i, int j=0) |
virtual void | initializeUsingXML (xercesc::DOMElement *element) |
void | setSearchAllContactPoints (bool searchAllCP_) |
void | setInitialGuess (const fmatvec::VecV &zeta0_) |
![]() | |
Link (const std::string &name) | |
constructor More... | |
virtual | ~Link () |
destructor | |
virtual void | updateb () |
virtual void | updatedx () |
virtual void | updatexd () |
virtual const fmatvec::Vec & | getx () const |
virtual fmatvec::Vec & | getx () |
virtual void | setxInd (int xInd_) |
virtual int | getxSize () const |
virtual void | updatexRef (const fmatvec::Vec &ref) |
virtual void | updatexdRef (const fmatvec::Vec &ref) |
virtual void | updatedxRef (const fmatvec::Vec &ref) |
virtual void | updatebRef (const fmatvec::Mat &hRef) |
virtual void | initz () |
virtual void | writez (H5::GroupBase *group) |
virtual void | readz0 (H5::GroupBase *group) |
virtual void | setbInd (int bInd_) |
std::string | getType () const |
virtual void | deletelaRef () |
delete reference to contact force parameter of dynamic system parent | |
virtual void | calcbSize () |
calculates size of rfactors | |
virtual bool | hasSmoothPart () const |
virtual double | evalPotentialEnergy () |
compute potential energy | |
void | setx (const fmatvec::Vec &x_) |
int | getsvSize () const |
int | getLinkStatusSize () const |
int | getLinkStatusRegSize () const |
const fmatvec::Vec & | getla (bool check=true) const |
const fmatvec::Vec & | getLa (bool check=true) const |
fmatvec::Vec & | getla (bool check=true) |
fmatvec::Vec & | getLa (bool check=true) |
int | getlaInd () const |
int | getlaSize () const |
int | getbSize () const |
const fmatvec::Vec & | evalg () |
const fmatvec::Vec & | evalgd () |
const fmatvec::Vec & | evalla () |
const fmatvec::Vec & | evalLa () |
const fmatvec::Vec & | evalwb () |
const fmatvec::Vec & | evalxd () |
int | getgdInd () const |
int | getgSize () const |
int | getgdSize () const |
int | getrFactorSize () const |
const fmatvec::VecInt & | getrFactorUnsure () const |
void | resetUpToDate () |
virtual void | updateGeneralizedPositions () |
virtual void | updateGeneralizedVelocities () |
virtual void | updateGeneralizedForces () |
const fmatvec::VecV & | evalGeneralizedRelativePosition () |
const fmatvec::VecV & | evalGeneralizedRelativeVelocity () |
const fmatvec::VecV & | evalGeneralizedForce () |
fmatvec::VecV & | getGeneralizedForce (bool check=true) |
void | savela () |
saves contact forces for use as starting value in next time step | |
void | saveLa () |
saves contact impulses for use as starting value in next time step | |
void | initla () |
load contact forces for use as starting value | |
void | initLa () |
load contact impulses for use as starting value | |
void | decreaserFactors () |
decrease rfactor if mass action matrix is not diagonal dominant (cf. Foerg: Dissertation, page 80 et seq.) | |
int | getcorrSize () const |
![]() | |
Element (const std::string &name) | |
constructor | |
virtual | ~Element () |
destructor | |
virtual void | initDataInterfaceBase (DynamicSystemSolver *parentds) |
TODO. | |
virtual void | setDynamicSystemSolver (DynamicSystemSolver *sys) |
sets the used dynamics system solver to the element More... | |
virtual void | plotAtSpecialEvent () |
plots time dependent data at special events More... | |
const std::string & | getName () const |
void | setName (const std::string &str) |
void | setPath (const std::string &str) |
DynamicSystemSolver * | getDynamicSystemSolver () |
virtual void | createPlotGroup () |
creates the plotGroup for H5-output | |
H5::GroupBase * | getPlotGroup () |
virtual void | setPlotFeature (PlotFeature pf, PlotFeatureStatus value) |
Set a plot feature. More... | |
void | setPlotFeatureForChildren (PlotFeature pf, PlotFeatureStatus value) |
Set a plot feature for the children of this object. More... | |
void | setPlotFeatureRecursive (PlotFeature pf, PlotFeatureStatus value) |
Set a plot feature for this object and the children of this object. More... | |
PlotFeatureStatus | getPlotFeature (PlotFeature pf) |
PlotFeatureStatus | getPlotFeatureForChildren (PlotFeature pf) |
PlotFeatureStatus | initializePlotFeatureStatusUsingXML (xercesc::DOMElement *e) |
PlotFeature | initializePlotFeatureUsingXML (xercesc::DOMElement *e) |
const std::vector < MBXMLUtils::EmbedDOMLocator > & | getLocationStack () const |
template<class T > | |
T * | getByPath (const std::string &path, bool initialCaller=true) const |
Get the object of type T represented by the path path. Do not set any argurment other than path! | |
std::string | getPath (const Element *relTo=NULL, std::string sep="/") const |
Return the path of this object. If relativeTo is not NULL return a relative path to relativeTo. Do not set any argurment other than relTo and sep! | |
virtual Element * | getChildByContainerAndName (const std::string &container, const std::string &name) const |
Get the Element named name in the container named container. | |
virtual Element * | getParent () |
virtual const Element * | getParent () const |
virtual void | setParent (Element *parent_) |
std::vector< Element * > | getDependencies () const |
checks dependency on other elements. More... | |
void | addDependency (Element *ele) |
int | computeLevel () |
computes the length of the pathes in the graph that represents the dependencies between all elements. More... | |
virtual void | updatePositions (Frame *frame) |
virtual void | updateVelocities (Frame *frame) |
virtual void | updateAccelerations (Frame *frame) |
virtual void | updateJacobians (Frame *frame, int j=0) |
virtual void | updateGyroscopicAccelerations (Frame *frame) |
const double & | getTime () const |
double | getStepSize () const |
![]() | |
Atom & | operator= (const Atom &) |
void | setMessageStreamActive (MsgType type, bool active) |
void | getMessageStream (MsgType type, std::shared_ptr< bool > &a, std::shared_ptr< std::ostream > &s) |
void | adoptMessageStreams (const Atom *src=NULL) |
std::ostream & | msg (MsgType type) |
bool | msgAct (MsgType type) |
Protected Attributes | |
std::vector< std::vector < SingleContact > > | contacts |
list of the single sub-contact(-points) | |
std::vector< ContactKinematics * > | contactKinematics |
list of the single contact kinematics | |
std::vector< std::vector < Contour * > > | contour |
std::vector< std::string > | ckNames |
names for the contact kinematics More... | |
std::map< std::pair < std::string, PlotFeature > , PlotFeatureStatus > | plotFeatureMap |
plotFeatures of sub-contacts More... | |
GeneralizedForceLaw * | fcl |
force laws in normal and tangential direction on acceleration and velocity level | |
FrictionForceLaw * | fdf |
force law defining relation between tangential velocities and tangential forces | |
GeneralizedImpactLaw * | fnil |
force law defining relation between penetration velocity and resulting normal impulses | |
FrictionImpactLaw * | ftil |
force law defining relation between tangential velocities and forces impulses | |
bool | searchAllCP |
fmatvec::VecV | zeta0 |
std::shared_ptr< OpenMBV::Group > | openMBVGrp |
group for the plotting of the openMBV sub elements | |
std::shared_ptr< OpenMBV::Frame > | openMBVFrame |
Frame of ContactFrames to draw. | |
std::shared_ptr< OpenMBV::Arrow > | contactArrow |
pointer to memory of normal and friction forces to draw | |
std::shared_ptr< OpenMBV::Arrow > | frictionArrow |
![]() | |
fmatvec::Vec | x |
order one parameters | |
fmatvec::Vec | xd |
differentiated order one parameters | |
fmatvec::Vec | dx |
fmatvec::Vec | x0 |
order one initial value | |
int | xSize |
size and local index of order one parameters | |
int | xInd |
fmatvec::Vec | sv |
stop vector for event driven integration (root function) | |
fmatvec::VecInt | jsv |
evaluation of roots of stop vector with a boolean vector | |
int | svSize |
size and local index of stop vector | |
int | svInd |
fmatvec::VecInt | LinkStatus |
status of link (default 0) describing which piece of the equation is valid (e.g. stick or slip) More... | |
int | LinkStatusSize |
size and local index of link status vector (set-valued) | |
int | LinkStatusInd |
fmatvec::VecInt | LinkStatusReg |
status of link More... | |
int | LinkStatusRegSize |
size and local index of single-valued link status vector | |
int | LinkStatusRegInd |
fmatvec::Vec | g |
relative distance, relative velocity, contact force parameters | |
fmatvec::Vec | gd |
fmatvec::Vec | la |
fmatvec::Vec | La |
fmatvec::Vec | laS |
contact forces of smooth contact laws | |
int | gSize |
size and local index of relative distances | |
int | gInd |
int | gdSize |
size and local index of relative velocities | |
int | gdInd |
int | laSize |
size and local index of contact force parameters | |
int | laInd |
int | bSize |
size and local index of contact force parameters | |
int | bInd |
fmatvec::RangeV | Ig |
local index of relative distances and contact force parameters | |
fmatvec::RangeV | Ila |
double | gTol |
tolerance for relative velocity, relative acceleration, force and impact | |
double | gdTol |
double | gddTol |
double | laTol |
double | LaTol |
fmatvec::Vec | la0 |
attribute to save contact force parameter of previous time step | |
fmatvec::Vec | La0 |
fmatvec::Vec | rFactor |
vector of rfactors for relaxation of contact equations | |
fmatvec::VecInt | rFactorUnsure |
boolean vector defining if rfactor belongs to not diagonal dominant mass action matrix (cf. Foerg Dissertation, page 80 et seq.) | |
int | rFactorSize |
size and local index of rfactors | |
int | rFactorInd |
double | rMax |
maximum r-factor | |
fmatvec::Vec | res |
std::vector< fmatvec::Mat > | W [2] |
force direction matrix for nonsmooth right hand side | |
std::vector< fmatvec::Mat > | V [2] |
reduced force direction matrix for nonsmooth right hand side | |
std::vector< fmatvec::Vec > | h [2] |
smooth complete and link right hand side | |
std::vector< fmatvec::Mat > | dhdq |
smooth Jacobians for implicit integration | |
std::vector< fmatvec::Mat > | dhdu |
std::vector< fmatvec::Vec > | dhdt |
std::vector< fmatvec::Vec > | r [2] |
nonsmooth right hand side | |
fmatvec::Vec | wb |
TODO. | |
fmatvec::Mat | b |
TODO. | |
int | corrSize |
int | corrInd |
fmatvec::Vec | corr |
fmatvec::VecV | rrel |
fmatvec::VecV | vrel |
fmatvec::VecV | lambda |
bool | updrrel |
bool | updvrel |
bool | updla |
![]() | |
Element * | parent |
std::string | name |
name of element | |
std::string | path |
The path of this object. Is set during the init stage reorganizeHierarchy. Before this the path is calculated dynamically using getPath() after this stage getPath just returns this value. | |
std::vector < MBXMLUtils::EmbedDOMLocator > | locationStack |
DynamicSystemSolver * | ds |
dynamic system | |
H5::VectorSerie< double > * | plotVectorSerie |
time series | |
std::vector< double > | plotVector |
one entry of time series | |
std::vector< std::string > | plotColumns |
columns of time series | |
H5::GroupBase * | plotGroup |
associated plot group | |
std::vector< Element * > | dependency |
vector containing all dependencies. | |
Private Attributes | |
std::vector< saved_references > | saved_ref |
Additional Inherited Members | |
![]() | |
enum | PlotFeatureStatus { enabled, disabled, unset } |
Plot feature status. More... | |
enum | PlotFeature { plotRecursive =0, separateFilePerGroup, state, stateDerivative, notMinimalState, rightHandSide, globalPosition, globalVelocity, globalAcceleration, energy, openMBV, generalizedLinkForce, linkKinematics, stopVector, debug, LASTPLOTFEATURE } |
Plot Features. More... | |
enum | InitStage { modelBuildup =0, resolveXMLPath, preInit, resize, plotting, reorganizeHierarchy, unknownStage, LASTINITSTAGE } |
The stages of the initialization. More... | |
![]() | |
enum | MsgType |
![]() | |
static double | getDouble (xercesc::DOMElement *e) |
static int | getInt (xercesc::DOMElement *e) |
static bool | getBool (xercesc::DOMElement *e) |
static fmatvec::Vec3 | getVec3 (xercesc::DOMElement *e) |
static fmatvec::Vec | getVec (xercesc::DOMElement *e, int rows=0) |
static fmatvec::Mat3xV | getMat3xV (xercesc::DOMElement *e, int cols=0) |
static fmatvec::Mat | getMat (xercesc::DOMElement *e, int rows=0, int cols=0) |
static fmatvec::SqrMat3 | getSqrMat3 (xercesc::DOMElement *e) |
static fmatvec::SqrMat | getSqrMat (xercesc::DOMElement *e, int size=0) |
static fmatvec::SymMat3 | getSymMat3 (xercesc::DOMElement *e) |
static fmatvec::SymMat | getSymMat (xercesc::DOMElement *e, int size=0) |
![]() | |
static void | setCurrentMessageStream (MsgType type, const std::shared_ptr< bool > &a=std::make_shared< bool >(true), const std::shared_ptr< std::ostream > &s=std::make_shared< std::ostream >(std::cout.rdbuf())) |
static std::ostream & | msgStatic (MsgType type) |
static bool | msgActStatic (MsgType type) |
![]() | |
void | updatePlotFeatures () |
![]() | |
Atom (const Atom &src) | |
class for contacts
basic class for contacts between contours, mainly implementing geometrical informations of contact-pairings
Remarks:
MBSim::Contact::Contact | ( | const std::string & | name = "" | ) |
constructor
name | of contact |
|
virtual |
calculates size of gap velocities
flag | to decide which contacts are included in the calculation |
see SingleContact for the implementation and DynamicSystem for explanation
Reimplemented from MBSim::Link.
|
virtual |
check if set-valued contacts are active and set corresponding attributes
flag | to decide which criteria are used to define 'activity' |
see SingleContact for the implementation and DynamicSystem for explanation
Reimplemented from MBSim::Link.
void MBSim::Contact::connect | ( | Contour * | contour1, |
Contour * | contour2, | ||
ContactKinematics * | contactKinematics = 0 , |
||
const std::string & | name = "" |
||
) |
connect two contours
contour0 | first contour |
contour1 | second contour |
contactKinematics | The contact kinematics that should be used to compute the contact point. |
name | Name of the contact in the output |
|
virtual |
Reimplemented from MBSim::Link.
|
virtual |
Implements MBSim::Link.
|
virtual |
|
inlinevirtual |
Reimplemented from MBSim::Element.
Reimplemented in MBSim::MaxwellContact.
|
virtual |
plots time series header
invocing | parent class |
Reimplemented from MBSim::Link.
Reimplemented in MBSim::MaxwellContact.
|
virtual |
Implements MBSim::Link.
|
virtual |
asks the link if it contains force laws that contribute to the lagrange multiplier and is therefore set valued
Reimplemented from MBSim::Link.
|
virtual |
asks the link if it contains single valued force laws that contribute to the right-hand side vector h
Reimplemented from MBSim::Link.
|
virtual |
get gap distance and calculate gap velocity of unilateral links to estimate impacts within the next step
gInActive | gap distance of inactive links (return) |
gdInActive | gap velocities of inactive links (return) |
IndInActive | index for gInActive/gdInActive; incremented with size after storage (return and input) |
gAct | gap distance of active links (return) |
IndActive | index for gActive; incremented with size after storage (return and input) |
Reimplemented from MBSim::Link.
|
virtual |
plots time dependent data
simulation | time |
simulation | time step size for derivative calculation |
Reimplemented from MBSim::Link.
|
virtual |
solve contact equations of motion with single step fixed point scheme
Reimplemented from MBSim::Link.
|
virtual |
solve contact equations of motion with Gauss-Seidel scheme
Reimplemented from MBSim::Link.
|
virtual |
solve contact equations of motion with Newton scheme
Reimplemented from MBSim::Link.
|
virtual |
solve impact equations of motion with single step fixed point scheme on velocity level
time | step-size |
Reimplemented from MBSim::Link.
|
virtual |
solve impact equations of motion with Gauss-Seidel scheme on velocity level
time | step-size |
Reimplemented from MBSim::Link.
|
virtual |
solve impact equations of motion with Newton scheme on velocity level
time | step-size |
Reimplemented from MBSim::Link.
|
protected |
names for the contact kinematics
|
protected |
plotFeatures of sub-contacts