23 #include "mbsim/links/floating_frame_link.h"
27 class GeneralizedForceLaw;
28 class GeneralizedImpactLaw;
29 class FrictionForceLaw;
30 class FrictionImpactLaw;
56 void updatelaF() { (this->*updatelaF_)(); updlaF =
false; }
57 void updatelaM() { (this->*updatelaM_)(); updlaM =
false; }
64 void (
Joint::*updatelaF_)();
65 void (
Joint::*updatelaM_)();
66 void updateh(
int i=0);
67 void updateW(
int i=0);
72 virtual void updatexd();
73 virtual void updatedx();
74 virtual void calcxSize();
111 virtual void initializeUsingXML(xercesc::DOMElement *element);
113 virtual std::string
getType()
const {
return "Joint"; }
150 virtual void updateb();
152 void setBody(
Body* body_) {
virtual void solveConstraintsFixpointSingle()
Definition: joint.cc:205
basic force law on acceleration level for constraint description
Definition: generalized_force_law.h:32
floating frame link
Definition: floating_frame_link.h:43
Joint(const std::string &name="")
constructor
Definition: joint.cc:38
virtual void updaterFactors()
update relaxation factors for contact equations
Definition: joint.cc:382
void setForceDirection(const fmatvec::Mat3xV &fd)
Definition: joint.cc:475
virtual ~Joint()
destructor
Definition: joint.cc:41
virtual void solveConstraintsGaussSeidel()
Definition: joint.cc:253
virtual void jacobianConstraints()
computes JACOBIAN and mass action matrix of nonlinear contact equations
Definition: joint.cc:325
virtual void init(InitStage stage)
plots time series header
Definition: joint.cc:109
fmatvec::Mat3xV JT
translational JACOBIAN (not empty for e.g. prismatic joints)
Definition: joint.h:119
void setMomentDirection(const fmatvec::Mat3xV &md)
Definition: joint.cc:483
virtual bool gActiveChanged()
Definition: joint.h:82
GeneralizedForceLaw * ffl
Definition: joint.h:124
virtual void init(InitStage stage)
plots time series header
Definition: joint.cc:517
virtual void solveImpactsGaussSeidel()
Definition: joint.cc:229
class for connections: constraints on frames
Definition: joint.h:42
GeneralizedForceLaw * fml
Definition: joint.h:129
virtual void checkImpactsForTermination()
verify underlying force laws on velocity level concerning given tolerances
Definition: joint.cc:405
virtual void jacobianImpacts()
computes JACOBIAN and mass action matrix of nonlinear contact equations on velocity level ...
Definition: joint.cc:354
InitStage
The stages of the initialization.
Definition: element.h:97
void calcbSize()
calculates size of rfactors
Definition: joint.cc:506
virtual bool isSetValued() const
asks the link if it contains force laws that contribute to the lagrange multiplier and is therefore s...
Definition: joint.h:156
virtual std::string getType() const
Definition: joint.h:113
GeneralizedImpactLaw * fiml
Definition: joint.h:139
virtual bool isSetValued() const
asks the link if it contains force laws that contribute to the lagrange multiplier and is therefore s...
Definition: joint.cc:159
basic force law on velocity level for constraint description
Definition: generalized_impact_law.h:32
GeneralizedImpactLaw * fifl
Definition: joint.h:134
std::string name
name of element
Definition: element.h:298
virtual void solveConstraintsRootFinding()
Definition: joint.cc:301
virtual void solveImpactsRootFinding()
Definition: joint.cc:277
virtual bool isActive() const
Definition: joint.h:81
virtual void solveImpactsFixpointSingle()
Definition: joint.cc:181
virtual bool isSingleValued() const
asks the link if it contains single valued force laws that contribute to the right-hand side vector h...
Definition: joint.cc:169
fmatvec::Vec gdn
relative velocity and acceleration after an impact for event driven scheme summarizing all possible c...
Definition: joint.h:144
virtual void checkConstraintsForTermination()
verify underlying force laws concerning given tolerances
Definition: joint.cc:435
base class for all mechanical bodies with mass and generalised coordinates
Definition: body.h:50