dynamic system as topmost hierarchical level More...
#include <dynamic_system.h>
Public Member Functions | |
DynamicSystem (const std::string &name) | |
constructor | |
virtual | ~DynamicSystem () |
destructor | |
virtual void | updateT () |
virtual void | updateh (int i=0) |
virtual void | updateM () |
virtual void | updatedq () |
virtual void | updatezd ()=0 |
virtual void | updatedu ()=0 |
virtual void | sethSize (int hSize_, int i=0) |
virtual int | gethSize (int i=0) const |
virtual int | getqSize () const |
virtual int | getuSize (int i=0) const |
virtual void | calcqSize () |
virtual void | calcuSize (int j=0) |
virtual int | getuInd (int i=0) |
virtual void | setqInd (int qInd_) |
virtual void | setuInd (int uInd_, int i=0) |
virtual void | sethInd (int hInd_, int i=0) |
virtual void | setxInd (int xInd_) |
virtual const fmatvec::Vec & | getq () const |
virtual fmatvec::Vec & | getq () |
virtual const fmatvec::Vec & | getu () const |
virtual fmatvec::Vec & | getu () |
void | setq (const fmatvec::Vec &q_) |
void | setu (const fmatvec::Vec &u_) |
void | setjsv (const fmatvec::VecInt &jsv_) |
virtual H5::GroupBase * | getPlotGroup () |
virtual PlotFeatureStatus | getPlotFeature (PlotFeature fp) |
virtual PlotFeatureStatus | getPlotFeatureForChildren (PlotFeature fp) |
virtual std::shared_ptr < OpenMBV::Group > | getOpenMBVGrp () |
virtual void | updatewb () |
virtual void | updateW (int j=0) |
virtual void | updateV (int j=0) |
virtual void | updateg () |
virtual void | updategd () |
virtual void | updateStopVector () |
virtual void | updateLinkStatus () |
virtual void | updateLinkStatusReg () |
virtual void | updateWInverseKinetics () |
virtual void | updatebInverseKinetics () |
virtual void | updatedx () |
virtual void | calcxSize () |
const fmatvec::Vec & | getx () const |
fmatvec::Vec & | getx () |
int | getxSize () const |
void | updatexRef (const fmatvec::Vec &ref) |
void | updatexdRef (const fmatvec::Vec &ref) |
void | updatedxRef (const fmatvec::Vec &ref) |
virtual void | init (InitStage stage) |
plots time series header More... | |
virtual void | initz () |
virtual void | writez (H5::GroupBase *group) |
virtual void | readz0 (H5::GroupBase *parent) |
virtual std::string | getType () const |
virtual void | setDynamicSystemSolver (DynamicSystemSolver *sys) |
sets the used dynamics system solver to the element More... | |
virtual void | plot () |
plots time dependent data More... | |
virtual void | plotAtSpecialEvent () |
plots time dependent data at special events More... | |
virtual void | closePlot () |
closes plot file | |
virtual void | updateLLM ()=0 |
compute Cholesky decomposition of mass matrix TODO necessary? | |
virtual int | solveConstraintsFixpointSingle () |
solve contact equations with single step fixed point scheme More... | |
virtual int | solveImpactsFixpointSingle () |
solve impact equations with single step fixed point scheme on velocity level More... | |
virtual int | solveConstraintsGaussSeidel () |
solve contact equations with Gauss-Seidel scheme More... | |
virtual int | solveImpactsGaussSeidel () |
solve impact equations with Gauss-Seidel scheme on velocity level More... | |
virtual int | solveConstraintsRootFinding () |
solve contact equations with Newton scheme More... | |
virtual int | solveImpactsRootFinding () |
solve impact equations with Newton scheme on velocity level More... | |
virtual int | jacobianConstraints () |
compute JACOBIAN of contact equations | |
virtual int | jacobianImpacts () |
compute JACOBIAN of contact equations on velocity level | |
virtual void | checkConstraintsForTermination () |
validate force laws concerning given tolerances | |
virtual void | checkImpactsForTermination () |
validate force laws concerning given tolerances on velocity level | |
virtual void | updaterFactors () |
update relaxation factors for contact equations | |
virtual Frame * | getFrame (const std::string &name, bool check=true) const |
virtual Contour * | getContour (const std::string &name, bool check=true) const |
void | setPosition (const fmatvec::Vec3 &PrPF_) |
void | setOrientation (const fmatvec::SqrMat3 &APF_) |
void | setFrameOfReference (Frame *frame) |
const fmatvec::Vec3 & | getPosition () const |
const fmatvec::SqrMat3 & | getOrientation () const |
const Frame * | getFrameOfReference () const |
const fmatvec::Vec & | getx0 () const |
fmatvec::Vec & | getx0 () |
const fmatvec::Mat & | getT (bool check=true) const |
const fmatvec::Vec & | geth (int j=0, bool check=true) const |
const fmatvec::SymMat & | getM (bool check=true) const |
const fmatvec::SymMat & | getLLM (bool check=true) const |
const fmatvec::Vec & | getdq (bool check=true) const |
const fmatvec::Vec & | getdu (bool check=true) const |
const fmatvec::Vec & | getdx (bool check=true) const |
const fmatvec::Mat & | getW (int i=0, bool check=true) const |
const fmatvec::Mat & | getV (int i=0, bool check=true) const |
const fmatvec::Vec & | getla (bool check=true) const |
const fmatvec::Vec & | getLa (bool check=true) const |
const fmatvec::Vec & | getg (bool check=true) const |
const fmatvec::Vec & | getgd (bool check=true) const |
fmatvec::Vec & | getla (bool check=true) |
fmatvec::Vec & | getLa (bool check=true) |
void | setla (const fmatvec::Vec &la_) |
void | setLa (const fmatvec::Vec &La_) |
fmatvec::VecInt & | getjsv () |
const fmatvec::VecInt & | getjsv () const |
fmatvec::Mat & | getW (int i=0, bool check=true) |
fmatvec::SymMat & | getLLM (bool check=true) |
fmatvec::Vec & | getdq (bool check=true) |
fmatvec::Vec & | getdu (bool check=true) |
fmatvec::Vec & | getdx (bool check=true) |
fmatvec::VecInt & | getLinkStatus () |
fmatvec::VecInt & | getLinkStatusReg () |
const fmatvec::VecInt & | getLinkStatus () const |
const fmatvec::VecInt & | getLinkStatusReg () const |
const fmatvec::Mat & | evalT () |
const fmatvec::Vec & | evalh (int i=0) |
const fmatvec::SymMat & | evalM () |
const fmatvec::SymMat & | evalLLM () |
const fmatvec::Mat & | evalW (int i=0) |
const fmatvec::Mat & | evalV (int i=0) |
const fmatvec::Vec & | evalwb () |
const fmatvec::Vec & | evalr (int i=0) |
const fmatvec::Vec & | evalrdt () |
const fmatvec::Vec & | evalg () |
const fmatvec::Vec & | evalgd () |
const fmatvec::Mat & | evalWInverseKinetics () |
const fmatvec::Mat & | evalbInverseKinetics () |
void | setx (const fmatvec::Vec &x_) |
void | setx0 (const fmatvec::Vec &x0_) |
void | setx0 (double x0_) |
void | setqd (const fmatvec::Vec &qd_) |
void | setud (const fmatvec::Vec &ud_) |
void | setxd (const fmatvec::Vec &xd_) |
int | getxInd () |
int | getlaInd () const |
int | gethInd (int i=0) |
void | setlaInd (int ind) |
void | setgInd (int ind) |
void | setgdInd (int ind) |
void | setrFactorInd (int ind) |
virtual void | setsvInd (int svInd_) |
void | setLinkStatusInd (int LinkStatusInd_) |
void | setLinkStatusRegInd (int LinkStatusRegInd_) |
int | getzSize () const |
void | setqSize (int qSize_) |
void | setuSize (int uSize_, int i=0) |
void | setxSize (int xSize_) |
int | getlaSize () const |
int | getgSize () const |
int | getgdSize () const |
int | getrFactorSize () const |
int | getsvSize () const |
int | getLinkStatusSize () const |
int | getLinkStatusRegSize () const |
const std::vector< Object * > & | getObjects () const |
const std::vector< Link * > & | getLinks () const |
const std::vector < DynamicSystem * > & | getDynamicSystems () const |
const std::vector< Frame * > & | getFrames () const |
const std::vector< Contour * > & | getContours () const |
const std::vector< Link * > & | getSetValuedLinks () const |
void | updateqRef (const fmatvec::Vec &ref) |
references to positions of dynamic system parent More... | |
void | updateqdRef (const fmatvec::Vec &ref) |
references to differentiated positions of dynamic system parent More... | |
void | updatedqRef (const fmatvec::Vec &ref) |
void | updateuRef (const fmatvec::Vec &ref) |
references to velocities of dynamic system parent More... | |
void | updateuallRef (const fmatvec::Vec &ref) |
references to velocities of dynamic system parent More... | |
void | updateudRef (const fmatvec::Vec &ref) |
references to differentiated velocities of dynamic system parent More... | |
void | updateduRef (const fmatvec::Vec &ref) |
void | updateudallRef (const fmatvec::Vec &ref) |
references to velocities of dynamic system parent More... | |
void | updatehRef (const fmatvec::Vec &hRef, int i=0) |
references to smooth right hand side of dynamic system parent More... | |
void | updaterRef (const fmatvec::Vec &ref, int j=0) |
references to nonsmooth right hand side of dynamic system parent More... | |
void | updaterdtRef (const fmatvec::Vec &ref) |
references to nonsmooth right hand side of dynamic system parent More... | |
void | updateTRef (const fmatvec::Mat &ref) |
references to linear transformation matrix between differentiated positions and velocities of dynamic system parent More... | |
void | updateMRef (const fmatvec::SymMat &ref) |
references to mass matrix of dynamic system parent More... | |
void | updateLLMRef (const fmatvec::SymMat &ref) |
references to Cholesky decomposition of dynamic system parent More... | |
virtual void | updategRef (const fmatvec::Vec &ref) |
references to relative distances of dynamic system parent More... | |
virtual void | updategdRef (const fmatvec::Vec &ref) |
references to relative velocities of dynamic system parent More... | |
void | updatelaRef (const fmatvec::Vec &ref) |
references to contact forces of dynamic system parent More... | |
void | updateLaRef (const fmatvec::Vec &ref) |
references to contact impulses of dynamic system parent More... | |
void | updatelaInverseKineticsRef (const fmatvec::Vec &ref) |
void | updatebInverseKineticsRef (const fmatvec::Mat &ref) |
virtual void | updatewbRef (const fmatvec::Vec &ref) |
references to TODO of dynamic system parent More... | |
virtual void | updateWRef (const fmatvec::Mat &ref, int i=0) |
references to contact force direction matrix of dynamic system parent More... | |
void | updateWInverseKineticsRef (const fmatvec::Mat &ref) |
references to contact force direction matrix of dynamic system parent More... | |
virtual void | updateVRef (const fmatvec::Mat &ref, int i=0) |
references to condensed contact force direction matrix of dynamic system parent More... | |
void | updatesvRef (const fmatvec::Vec &ref) |
references to stopvector (rootfunction for event driven integrator) of dynamic system parent More... | |
void | updatejsvRef (const fmatvec::VecInt &ref) |
references to boolean evaluation of stopvector concerning roots of dynamic system parent More... | |
void | updateLinkStatusRef (const fmatvec::VecInt &LinkStatusParent) |
references to status vector of set valued links with piecewise link equations (which piece is valid) More... | |
void | updateLinkStatusRegRef (const fmatvec::VecInt &LinkStatusRegParent) |
references to status vector of single valued links More... | |
void | updateresRef (const fmatvec::Vec &ref) |
references to residuum of contact equations of dynamic system parent More... | |
void | updaterFactorRef (const fmatvec::Vec &ref) |
references to relaxation factors for contact equations of dynamic system parent More... | |
void | clearElementLists () |
void | buildListOfDynamicSystems (std::vector< DynamicSystem * > &sys) |
build flat list of dynamic systems More... | |
void | buildListOfObjects (std::vector< Object * > &obj) |
build flat list of objects More... | |
void | buildListOfLinks (std::vector< Link * > &lnk) |
build flat list of links More... | |
void | buildListOfConstraints (std::vector< Constraint * > &crt) |
build flat list of all constraints More... | |
void | buildListOfFrames (std::vector< Frame * > &frm) |
build flat list of frames More... | |
void | buildListOfContours (std::vector< Contour * > &cnt) |
build flat list of contours More... | |
void | buildListOfModels (std::vector< ModellingInterface * > &model) |
build flat list of models More... | |
void | buildListOfInverseKineticsLinks (std::vector< Link * > &lnk) |
build flat list of inverse kinetics links More... | |
void | buildListOfObservers (std::vector< Observer * > &obsrv) |
build flat list of observers More... | |
void | setUpInverseKinetics () |
analyse constraints of dynamic systems for usage in inverse kinetics | |
void | setUpLinks () |
distribute links to set- and single valued container | |
bool | gActiveChanged () |
bool | gActiveChangedReg () |
bool | detectImpact () |
void | calcsvSize () |
calculates size of stop vector | |
void | calclaSize (int j) |
calculates size of contact force parameters | |
void | calcLinkStatusSize () |
calculates size of set-valued link status vector | |
void | calcLinkStatusRegSize () |
calculates size of single-valued link status vector | |
void | calclaInverseKineticsSize () |
calculates size of contact force parameters | |
void | calcbInverseKineticsSize () |
calculates size of contact force parameters | |
void | calcgSize (int j) |
calculates size of relative distances | |
void | calcgdSize (int j) |
calculates size of gap velocities More... | |
void | calcrFactorSize (int j) |
calculates size of relaxation factors for contact equations | |
void | setUpActiveLinks () |
rearrange vector of active setvalued links | |
void | checkActive (int i) |
check if set-valued contacts are active and set corresponding attributes More... | |
void | checkActiveReg (int i) |
check if single-valued contacts are active | |
virtual void | setgTol (double tol) |
virtual void | setgdTol (double tol) |
virtual void | setgddTol (double tol) |
virtual void | setlaTol (double tol) |
virtual void | setLaTol (double tol) |
void | setrMax (double rMax) |
int | frameIndex (const Frame *frame_) const |
void | addFrame (FixedRelativeFrame *frame) |
void | addContour (RigidContour *contour) |
void | addGroup (DynamicSystem *dynamicsystem) |
DynamicSystem * | getGroup (const std::string &name, bool check=true) const |
void | addObject (Object *object) |
Object * | getObject (const std::string &name, bool check=true) const |
void | addLink (Link *link) |
void | addConstraint (Constraint *constraint) |
void | addInverseKineticsLink (Link *link) |
Observer * | getObserver (const std::string &name, bool check=true) const |
void | addObserver (Observer *element) |
Link * | getLink (const std::string &name, bool check=true) const |
Constraint * | getConstraint (const std::string &name, bool check=true) const |
void | addModel (ModellingInterface *modell) |
ModellingInterface * | getModel (const std::string &name, bool check=true) const |
Frame * | getFrameI () |
virtual Element * | getChildByContainerAndName (const std::string &container, const std::string &name) const |
Get the Element named name in the container named container. | |
virtual void | updatecorr (int j) |
void | updatecorrRef (const fmatvec::Vec &ref) |
void | calccorrSize (int j) |
void | checkRoot () |
void | resetUpToDate () |
![]() | |
Element (const std::string &name) | |
constructor | |
virtual | ~Element () |
destructor | |
virtual void | initDataInterfaceBase (DynamicSystemSolver *parentds) |
TODO. | |
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) |
virtual void | initializeUsingXML (xercesc::DOMElement *element) |
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 * | 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 | |
Frame * | R |
parent frame | |
fmatvec::Vec3 | PrPF |
relative translation with respect to parent frame | |
fmatvec::SqrMat3 | APF |
relative rotation with respect to parent frame | |
std::vector< Object * > | object |
container for possible ingredients | |
std::vector< Link * > | link |
std::vector< Link * > | linkSingleValued |
std::vector< Link * > | linkSetValued |
std::vector< Link * > | linkSetValuedActive |
std::vector< ModellingInterface * > | model |
std::vector< DynamicSystem * > | dynamicsystem |
std::vector< Link * > | inverseKineticsLink |
std::vector< Observer * > | observer |
std::vector< Link * > | linkSmoothPart |
std::vector< std::vector < Element * > > | elementOrdered |
std::vector< std::vector< Link * > > | linkOrdered |
std::vector< Constraint * > | constraint |
fmatvec::Mat | T |
linear relation matrix of position and velocity parameters | |
fmatvec::SymMat | M |
mass matrix | |
fmatvec::SymMat | LLM |
Cholesky decomposition of mass matrix. | |
fmatvec::Vec | q |
positions, differentiated positions, initial positions | |
fmatvec::Vec | qd |
fmatvec::Vec | dq |
fmatvec::Vec | q0 |
fmatvec::Vec | u |
velocities, differentiated velocities, initial velocities | |
fmatvec::Vec | ud |
fmatvec::Vec | du |
fmatvec::Vec | u0 |
fmatvec::Vec | x |
order one parameters, differentiated order one parameters, initial order one parameters | |
fmatvec::Vec | xd |
fmatvec::Vec | dx |
fmatvec::Vec | x0 |
fmatvec::Vec | h [2] |
smooth, smooth with respect to objects, smooth with respect to links and nonsmooth | |
fmatvec::Vec | r [2] |
fmatvec::Vec | rdt |
fmatvec::Mat | W [2] |
fmatvec::Mat | V [2] |
fmatvec::Vec | la |
contact force parameters | |
fmatvec::Vec | La |
fmatvec::Vec | g |
relative distances and velocities | |
fmatvec::Vec | gd |
fmatvec::Vec | wb |
TODO. | |
fmatvec::Vec | res |
residuum of nonlinear contact equations for Newton scheme | |
fmatvec::Vec | rFactor |
rfactors for relaxation nonlinear contact equations | |
fmatvec::Vec | sv |
stop vector (root functions for event driven integration | |
fmatvec::VecInt | jsv |
boolean evaluation of stop vector concerning roots | |
fmatvec::VecInt | LinkStatus |
status of set-valued links | |
fmatvec::VecInt | LinkStatusReg |
status of single-valued links | |
int | qSize |
size and local start index of positions relative to parent | |
int | qInd |
int | uSize [2] |
size and local start index of velocities relative to parent | |
int | uInd [2] |
int | xSize |
size and local start index of order one parameters relative to parent | |
int | xInd |
int | hSize [2] |
size and local start index of order smooth right hand side relative to parent | |
int | hInd [2] |
int | gSize |
size and local start index of relative distances relative to parent | |
int | gInd |
int | gdSize |
size and local start index of relative velocities relative to parent | |
int | gdInd |
int | laSize |
size and local start index of contact force parameters relative to parent | |
int | laInd |
int | rFactorSize |
size and local start index of rfactors relative to parent | |
int | rFactorInd |
int | svSize |
size and local start index of stop vector relative to parent | |
int | svInd |
int | LinkStatusSize |
size and local start index of set-valued link status vector relative to parent | |
int | LinkStatusInd |
int | LinkStatusRegSize |
size and local start index of single-valued link status vector relative to parent | |
int | LinkStatusRegInd |
std::vector< Frame * > | frame |
vector of frames and contours | |
std::vector< Contour * > | contour |
std::shared_ptr< OpenMBV::Group > | openMBVGrp |
std::shared_ptr< H5::File > | hdf5File |
Frame * | I |
int | laInverseKineticsSize |
size of contact force parameters of special links relative to parent | |
int | bInverseKineticsSize |
fmatvec::Mat | WInverseKinetics |
fmatvec::Mat | bInverseKinetics |
fmatvec::Vec | laInverseKinetics |
int | corrSize |
int | corrInd |
fmatvec::Vec | corr |
std::string | saved_frameOfReference |
![]() | |
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 Member Functions | |
void | addFrame (Frame *frame) |
void | addContour (Contour *contour) |
Friends | |
class | DynamicSystemSolver |
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) | |
dynamic system as topmost hierarchical level
void MBSim::DynamicSystem::addConstraint | ( | Constraint * | constraint | ) |
constraint | to add |
void MBSim::DynamicSystem::addGroup | ( | DynamicSystem * | dynamicsystem | ) |
dynamic | system to add |
void MBSim::DynamicSystem::addInverseKineticsLink | ( | Link * | link | ) |
add | link for inverse kinetics |
void MBSim::DynamicSystem::addLink | ( | Link * | link | ) |
link | to add |
void MBSim::DynamicSystem::addModel | ( | ModellingInterface * | modell | ) |
modell | to add |
void MBSim::DynamicSystem::addObject | ( | Object * | object | ) |
object | to add |
void MBSim::DynamicSystem::buildListOfConstraints | ( | std::vector< Constraint * > & | crt | ) |
build flat list of all constraints
list | of constraints |
void MBSim::DynamicSystem::buildListOfContours | ( | std::vector< Contour * > & | cnt | ) |
build flat list of contours
list | of contours |
void MBSim::DynamicSystem::buildListOfDynamicSystems | ( | std::vector< DynamicSystem * > & | sys | ) |
build flat list of dynamic systems
list | of dynamic systems |
void MBSim::DynamicSystem::buildListOfFrames | ( | std::vector< Frame * > & | frm | ) |
build flat list of frames
list | of frames |
void MBSim::DynamicSystem::buildListOfInverseKineticsLinks | ( | std::vector< Link * > & | lnk | ) |
build flat list of inverse kinetics links
list | of inverse kinetics links |
void MBSim::DynamicSystem::buildListOfLinks | ( | std::vector< Link * > & | lnk | ) |
build flat list of links
list | of links |
void MBSim::DynamicSystem::buildListOfModels | ( | std::vector< ModellingInterface * > & | model | ) |
build flat list of models
list | of models |
void MBSim::DynamicSystem::buildListOfObjects | ( | std::vector< Object * > & | obj | ) |
build flat list of objects
list | of objects |
void MBSim::DynamicSystem::buildListOfObservers | ( | std::vector< Observer * > & | obsrv | ) |
build flat list of observers
list | of observers |
void MBSim::DynamicSystem::calcgdSize | ( | int | j | ) |
calculates size of gap velocities
flag | to decide which contacts are included in the calculation 0 = all contacts 1 = closed contacts 2 = contacts which stay closed 3 = sticking contacts |
see SingleContact for the implementation
void MBSim::DynamicSystem::checkActive | ( | int | i | ) |
check if set-valued contacts are active and set corresponding attributes
flag | to decide which criteria are used to define 'activity' 1 = position level activity (gActive = normal gap not larger than tolerance) 2 = velocity level activity (if gActive, gdActive[normal] = normal gap velocity not larger than tolerance ; if gdActive[normal], gdActive[tangential] = tangential gap velocity not larger than tolerance, i.e., sticking) 3 = velocity level activity (if gActive, gdActive[normal] = new normal gap velocity AFTER impact not larger than tolerance ; if gdActive[normal], gdActive[tangential] = new tangential gap velocity AFTER impact not larger than tolerance, i.e., sticking) 4 = acceleration level activity (if gActive and gdActive[normal], gddActive[normal] = normal gap acceleration not larger than tolerance ; if gddActive[normal] and gdActive[tangential], gddActive[tangential] = tangential gap acceleration not larger than tolerance, i.e., stay sticking) 5 = activity clean-up: if there is no activity on acceleration or velocity level, also more basic levels are set to non-active 6 = closing sets all activities 7 = slip-stick transition sets tangential velocity and acceleration activity 8 = opening and stick-slip transition set corresponding acceleration activity to non-active |
see SingleContact for the implementation
bool MBSim::DynamicSystem::detectImpact | ( | ) |
int MBSim::DynamicSystem::frameIndex | ( | const Frame * | frame_ | ) | const |
frame |
bool MBSim::DynamicSystem::gActiveChanged | ( | ) |
bool MBSim::DynamicSystem::gActiveChangedReg | ( | ) |
Constraint * MBSim::DynamicSystem::getConstraint | ( | const std::string & | name, |
bool | check = true |
||
) | const |
name | of the constraint |
check | for existence of constraint |
|
virtual |
name | of the contour |
check | for existence of contour |
|
virtual |
name | of the frame |
check | for existence of frame |
|
inline |
Return frame "I"
DynamicSystem * MBSim::DynamicSystem::getGroup | ( | const std::string & | name, |
bool | check = true |
||
) | const |
name | of the dynamic system |
check | for existence of dynamic system |
Link * MBSim::DynamicSystem::getLink | ( | const std::string & | name, |
bool | check = true |
||
) | const |
name | of the link |
check | for existence of link |
ModellingInterface * MBSim::DynamicSystem::getModel | ( | const std::string & | name, |
bool | check = true |
||
) | const |
name | of the model |
check | for existence of model |
Object * MBSim::DynamicSystem::getObject | ( | const std::string & | name, |
bool | check = true |
||
) | const |
name | of the object |
check | for existence of object |
|
inlinevirtual |
DEPRECATED
Reimplemented from MBSim::Element.
Reimplemented in MBSim::DynamicSystemSolver, MBSim::Graph, and MBSim::Group.
|
virtual |
plots time series header
invocing | parent class |
Reimplemented from MBSim::Element.
Reimplemented in MBSim::DynamicSystemSolver.
|
virtual |
plots time dependent data
simulation | time |
simulation | time step size for derivative calculation |
Reimplemented from MBSim::Element.
Reimplemented in MBSim::DynamicSystemSolver.
|
virtual |
plots time dependent data at special events
simulation | time |
simulation | time step size for derivative calculation |
Reimplemented from MBSim::Element.
|
virtual |
sets the used dynamics system solver to the element
pointer | to the dynamic system solver of which the element is part of |
Reimplemented from MBSim::Element.
|
virtual |
tolerance | for relative acceleration |
Reimplemented in MBSim::DynamicSystemSolver.
|
virtual |
tolerance | for relative velocity |
Reimplemented in MBSim::DynamicSystemSolver.
|
virtual |
tolerance | for relative velocity |
Reimplemented in MBSim::DynamicSystemSolver.
|
virtual |
tolerance | for contact force |
Reimplemented in MBSim::DynamicSystemSolver.
|
virtual |
tolerance | for impact |
Reimplemented in MBSim::DynamicSystemSolver.
void MBSim::DynamicSystem::setrMax | ( | double | rMax | ) |
maximum | relaxation factor for contact equations |
|
virtual |
solve contact equations with single step fixed point scheme
Reimplemented in MBSim::DynamicSystemSolver.
|
virtual |
solve contact equations with Gauss-Seidel scheme
Reimplemented in MBSim::DynamicSystemSolver.
|
virtual |
solve contact equations with Newton scheme
Reimplemented in MBSim::DynamicSystemSolver.
|
virtual |
solve impact equations with single step fixed point scheme on velocity level
time | step-size |
Reimplemented in MBSim::DynamicSystemSolver.
|
virtual |
solve impact equations with Gauss-Seidel scheme on velocity level
time | step-size |
Reimplemented in MBSim::DynamicSystemSolver.
|
virtual |
solve impact equations with Newton scheme on velocity level
time | step-size |
Reimplemented in MBSim::DynamicSystemSolver.
|
virtual |
references to relative velocities of dynamic system parent
vector | to be referenced |
Reimplemented in MBSim::DynamicSystemSolver.
|
virtual |
references to relative distances of dynamic system parent
vector | to be referenced |
Reimplemented in MBSim::DynamicSystemSolver.
void MBSim::DynamicSystem::updatehRef | ( | const fmatvec::Vec & | hRef, |
int | i = 0 |
||
) |
references to smooth right hand side of dynamic system parent
complete | vector to be referenced |
vector | concerning objects to be referenced |
vector | concerning links to be referenced |
index | of normal usage and inverse kinetics |
void MBSim::DynamicSystem::updatejsvRef | ( | const fmatvec::VecInt & | ref | ) |
references to boolean evaluation of stopvector concerning roots of dynamic system parent
vector | to be referenced |
void MBSim::DynamicSystem::updatelaRef | ( | const fmatvec::Vec & | ref | ) |
references to contact forces of dynamic system parent
vector | to be referenced |
void MBSim::DynamicSystem::updateLaRef | ( | const fmatvec::Vec & | ref | ) |
references to contact impulses of dynamic system parent
vector | to be referenced |
void MBSim::DynamicSystem::updateLinkStatusRef | ( | const fmatvec::VecInt & | LinkStatusParent | ) |
references to status vector of set valued links with piecewise link equations (which piece is valid)
vector | to be referenced |
void MBSim::DynamicSystem::updateLinkStatusRegRef | ( | const fmatvec::VecInt & | LinkStatusRegParent | ) |
references to status vector of single valued links
vector | to be referenced |
void MBSim::DynamicSystem::updateLLMRef | ( | const fmatvec::SymMat & | ref | ) |
references to Cholesky decomposition of dynamic system parent
matrix | to be referenced |
index | of normal usage and inverse kinetics |
void MBSim::DynamicSystem::updateMRef | ( | const fmatvec::SymMat & | ref | ) |
references to mass matrix of dynamic system parent
matrix | to be referenced |
index | of normal usage and inverse kinetics |
void MBSim::DynamicSystem::updateqdRef | ( | const fmatvec::Vec & | ref | ) |
references to differentiated positions of dynamic system parent
vector | to be referenced |
void MBSim::DynamicSystem::updateqRef | ( | const fmatvec::Vec & | ref | ) |
references to positions of dynamic system parent
vector | to be referenced |
void MBSim::DynamicSystem::updaterdtRef | ( | const fmatvec::Vec & | ref | ) |
references to nonsmooth right hand side of dynamic system parent
vector | to be referenced |
void MBSim::DynamicSystem::updateresRef | ( | const fmatvec::Vec & | ref | ) |
references to residuum of contact equations of dynamic system parent
vector | to be referenced |
void MBSim::DynamicSystem::updaterFactorRef | ( | const fmatvec::Vec & | ref | ) |
references to relaxation factors for contact equations of dynamic system parent
vector | to be referenced |
void MBSim::DynamicSystem::updaterRef | ( | const fmatvec::Vec & | ref, |
int | j = 0 |
||
) |
references to nonsmooth right hand side of dynamic system parent
vector | to be referenced |
void MBSim::DynamicSystem::updatesvRef | ( | const fmatvec::Vec & | ref | ) |
references to stopvector (rootfunction for event driven integrator) of dynamic system parent
vector | to be referenced |
void MBSim::DynamicSystem::updateTRef | ( | const fmatvec::Mat & | ref | ) |
references to linear transformation matrix between differentiated positions and velocities of dynamic system parent
matrix | to be referenced |
void MBSim::DynamicSystem::updateuallRef | ( | const fmatvec::Vec & | ref | ) |
references to velocities of dynamic system parent
vector | to be referenced |
void MBSim::DynamicSystem::updateudallRef | ( | const fmatvec::Vec & | ref | ) |
references to velocities of dynamic system parent
vector | to be referenced |
void MBSim::DynamicSystem::updateudRef | ( | const fmatvec::Vec & | ref | ) |
references to differentiated velocities of dynamic system parent
vector | to be referenced |
void MBSim::DynamicSystem::updateuRef | ( | const fmatvec::Vec & | ref | ) |
references to velocities of dynamic system parent
vector | to be referenced |
|
virtual |
references to condensed contact force direction matrix of dynamic system parent
matrix | to be referenced |
index | of normal usage and inverse kinetics |
Reimplemented in MBSim::DynamicSystemSolver.
|
virtual |
references to TODO of dynamic system parent
vector | to be referenced |
Reimplemented in MBSim::DynamicSystemSolver.
void MBSim::DynamicSystem::updateWInverseKineticsRef | ( | const fmatvec::Mat & | ref | ) |
references to contact force direction matrix of dynamic system parent
matrix | to be referenced |
index | of normal usage and inverse kinetics |
|
virtual |
references to contact force direction matrix of dynamic system parent
matrix | to be referenced |
index | of normal usage and inverse kinetics |
Reimplemented in MBSim::DynamicSystemSolver.
|
protected |
A pointer to frame "I"