All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Pages
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
MBSim::LemkeAlgorithm Class Reference
Inheritance diagram for MBSim::LemkeAlgorithm:
fmatvec::Atom

Public Member Functions

 LemkeAlgorithm (const bool &DEBUGLEVEL_=0)
 
 LemkeAlgorithm (const fmatvec::SqrMat &M_, const fmatvec::Vec &q_, const bool &DEBUGLEVEL_=0)
 
 LemkeAlgorithm (const fmatvec::SymMat &M_, const fmatvec::Vec &q_, const bool &DEBUGLEVEL_=0)
 
int getInfo ()
 return info of solution process
 
int getSteps (void)
 get the number of steps until the solution was found
 
void setSystem (const fmatvec::SqrMat &M_, const fmatvec::Vec &q_)
 set system with Matrix M and vector q
 
void setSystem (const fmatvec::SymMat &M_, const fmatvec::Vec &q_)
 set system with Matrix M and vector q
 
fmatvec::Vec solve (unsigned int maxloops=0)
 solve algorithm adapted from : Fast Implementation of Lemke’s Algorithm for Rigid Body Contact Simulation (John E. Lloyd)
 
- Public Member Functions inherited from fmatvec::Atom
Atomoperator= (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 Member Functions

int findLexicographicMinimum (const fmatvec::Mat &A, const int &pivotColIndex)
 
bool LexicographicPositive (const fmatvec::Vec &v)
 
void GaussJordanEliminationStep (fmatvec::Mat &A, int pivotRowIndex, int pivotColumnIndex, const std::vector< size_t > &basis)
 
bool greaterZero (const fmatvec::Vec &vector)
 
bool validBasis (const std::vector< size_t > &basis)
 
- Protected Member Functions inherited from fmatvec::Atom
 Atom (const Atom &src)
 

Protected Attributes

fmatvec::SqrMat M
 
fmatvec::Vec q
 
unsigned int steps
 number of steps until the Lemke algorithm found a solution
 
bool DEBUGLEVEL
 define level of debug output
 
int info
 did the algorithm find a solution More...
 

Additional Inherited Members

- Public Types inherited from fmatvec::Atom
enum  MsgType
 
- Static Public Member Functions inherited from fmatvec::Atom
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)
 

Member Data Documentation

int MBSim::LemkeAlgorithm::info
protected

did the algorithm find a solution

-1 : not successful 0 : successful


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

Impressum / Disclaimer / Datenschutz Generated by doxygen 1.8.5 Valid HTML