MULTIBODY SIMULATION SOFTWARE - API documentation

chrono::ChLinkLock Class Reference

#include <CHlinkLock.h>

Inheritance diagram for chrono::ChLinkLock:

Inheritance graph
[legend]
Collaboration diagram for chrono::ChLinkLock:

Collaboration graph
[legend]

List of all members.

Public Member Functions

virtual void Copy (ChLinkLock *source)
virtual ChLinknew_Duplicate ()
void BuildLinkType (int link_type)
void ChangeLinkType (int new_link_type)
void Set2Dmode (int mode)
virtual int GetType ()
virtual void UpdateTime (double mytime)
virtual void UpdateRelMarkerCoords ()
virtual void UpdateState ()
virtual void UpdateForces (double mytime)
Coordsys GetRelC ()
Coordsys GetRelC_dt ()
Coordsys GetRelC_dtdt ()
Coordsys GetDeltaC ()
Coordsys GetDeltaC_dt ()
Coordsys GetDeltaC_dtdt ()
void SetDeltaC (Coordsys mc)
void SetDeltaC_dt (Coordsys mc)
void SetDeltaC_dtdt (Coordsys mc)
ChFunctionGetMotion_X ()
ChFunctionGetMotion_Y ()
ChFunctionGetMotion_Z ()
ChFunctionGetMotion_ang ()
ChFunctionGetMotion_ang2 ()
ChFunctionGetMotion_ang3 ()
Vector GetMotion_axis ()
void SetMotion_X (ChFunction *m_funct)
void SetMotion_Y (ChFunction *m_funct)
void SetMotion_Z (ChFunction *m_funct)
void SetMotion_ang (ChFunction *m_funct)
void SetMotion_ang2 (ChFunction *m_funct)
void SetMotion_ang3 (ChFunction *m_funct)
void SetMotion_axis (Vector m_axis)
int Get_angleset ()
void Set_angleset (int mset)
ChLinkLimitGetLimit_X ()
ChLinkLimitGetLimit_Y ()
ChLinkLimitGetLimit_Z ()
ChLinkLimitGetLimit_Rx ()
ChLinkLimitGetLimit_Ry ()
ChLinkLimitGetLimit_Rz ()
ChLinkLimitGetLimit_Rp ()
ChLinkLimitGetLimit_D ()
void SetLimit_X (ChLinkLimit *m_limit_X)
void SetLimit_Y (ChLinkLimit *m_limit_Y)
void SetLimit_Z (ChLinkLimit *m_limit_Z)
void SetLimit_Rx (ChLinkLimit *m_limit_Rx)
void SetLimit_Ry (ChLinkLimit *m_limit_Ry)
void SetLimit_Rz (ChLinkLimit *m_limit_Rz)
void SetLimit_Rp (ChLinkLimit *m_limit_Rp)
void SetLimit_D (ChLinkLimit *m_limit_D)
virtual void InjectConstraints (ChLcpSystemDescriptor &mdescriptor)
virtual void ConstraintsBiReset ()
virtual void ConstraintsBiLoad_C (double factor=1., double recovery_clamp=0.1, bool do_clamp=false)
virtual void ConstraintsBiLoad_Ct (double factor=1.)
virtual void ConstraintsBiLoad_Qc (double factor=1.)
virtual void ConstraintsLoadJacobians ()
virtual void ConstraintsFetch_react (double factor=1.)
virtual void StreamIN (ChStreamInBinary &mstream)
virtual void StreamOUT (ChStreamOutBinary &mstream)

Protected Attributes

Coordsys relC
Coordsys relC_dt
Coordsys relC_dtdt
Coordsys deltaC
Coordsys deltaC_dt
Coordsys deltaC_dtdt
ChMatrixCq1_temp
ChMatrixCq2_temp
ChMatrixQc_temp
Coordsys Ct_temp
Vector PQw
Vector PQw_dt
Vector PQw_dtdt
Quaternion q_AD
Quaternion q_BC
Quaternion q_8
Vector q_4
ChFunctionmotion_X
ChFunctionmotion_Y
ChFunctionmotion_Z
ChFunctionmotion_ang
ChFunctionmotion_ang2
ChFunctionmotion_ang3
Vector motion_axis
int angleset
ChLinkLimitlimit_X
ChLinkLimitlimit_Y
ChLinkLimitlimit_Z
ChLinkLimitlimit_Rx
ChLinkLimitlimit_Ry
ChLinkLimitlimit_Rz
ChLinkLimitlimit_Rp
ChLinkLimitlimit_D
int type


Detailed Description

ChLinkLock class. This class implements lot of sub types like the revolute joint, the linear guide, the spherical joint, etc. using the 'lock formulation'. Also, it optionally allows the adoption of 'limits' over upper-lower motions on all the 6 degrees of freedom, thank to the ChLinkLimit objects.

Member Function Documentation

void chrono::ChLinkLock::Set2Dmode ( int  mode  )  [virtual]

Returns:
number of changed constraints

Reimplemented from chrono::ChLink.

virtual int chrono::ChLinkLock::GetType (  )  [virtual]

Get the type identifier of this link. Use if you don't want to use RTTI for performance.

Reimplemented from chrono::ChLinkMarkers.

Reimplemented in chrono::ChLinkGear, and chrono::ChLinkPulley.

void chrono::ChLinkLock::UpdateTime ( double  time  )  [virtual]

UPDATING PROCEDURES

Reimplemented from chrono::ChLink.

Reimplemented in chrono::ChLinkBrake, chrono::ChLinkClearance, chrono::ChLinkEngine, chrono::ChLinkGear, chrono::ChLinkLinActuator, chrono::ChLinkPneumaticActuator, chrono::ChLinkPointSpline, chrono::ChLinkPulley, chrono::ChLinkTrajectory, and chrono::ChLinkWheel.

void chrono::ChLinkLock::UpdateRelMarkerCoords (  )  [virtual]

Updates auxiliary vars relM, relM_dt, relM_dtdt, dist, dist_dt et similia.

UPDATING PROCEDURES

Reimplemented from chrono::ChLinkMarkers.

void chrono::ChLinkLock::UpdateState (  )  [virtual]

This is expected to update the values in C, C_dt, C_dtdt, in jacobians Cq1 and Cq2, in Qc and in Ct. By default, this does NOTHING, so it is up to the inherited classes to fill these vectors/matrices depending on how they describe the constraint equations.

Reimplemented from chrono::ChLinkMasked.

Reimplemented in chrono::ChLinkScrew.

void chrono::ChLinkLock::UpdateForces ( double  mytime  )  [virtual]

Inherits, and updates the C_force and C_torque 'intuitive' forces, adding the effects of the contained ChLinkForce objects. (Default: inherits parent UpdateForces(), then C_force and C_torque are incremented with the Link::ChLinkForces objects)

Reimplemented from chrono::ChLinkMasked.

Reimplemented in chrono::ChLinkBrake, chrono::ChLinkClearance, chrono::ChLinkEngine, chrono::ChLinkPneumaticActuator, and chrono::ChLinkWheel.

void chrono::ChLinkLock::InjectConstraints ( ChLcpSystemDescriptor mdescriptor  )  [virtual]

LCP SYSTEM FUNCTIONS

Reimplemented from chrono::ChLinkMasked.

void chrono::ChLinkLock::ConstraintsBiReset (  )  [virtual]

Sets to zero the known term (b_i) of encapsulated ChLcpConstraints.

Reimplemented from chrono::ChLinkMasked.

void chrono::ChLinkLock::ConstraintsBiLoad_C ( double  factor = 1.,
double  recovery_clamp = 0.1,
bool  do_clamp = false 
) [virtual]

Adds the current C (constraint violation) to the known term (b_i) of encapsulated ChLcpConstraints

Reimplemented from chrono::ChLinkMasked.

void chrono::ChLinkLock::ConstraintsBiLoad_Ct ( double  factor = 1.  )  [virtual]

Adds the current Ct (partial t-derivative, as in C_dt=0-> [Cq]*q_dt=-Ct) to the known term (b_i) of encapsulated ChLcpConstraints

Reimplemented from chrono::ChLinkMasked.

void chrono::ChLinkLock::ConstraintsBiLoad_Qc ( double  factor = 1.  )  [virtual]

Adds the current Qc (the vector of C_dtdt=0 -> [Cq]*q_dtdt=Qc ) to the known term (b_i) of encapsulated ChLcpConstraints

Reimplemented from chrono::ChLinkMasked.

void chrono::ChLinkLock::ConstraintsLoadJacobians (  )  [virtual]

Adds the current jacobians in encapsulated ChLcpConstraints.

Reimplemented from chrono::ChLinkMasked.

void chrono::ChLinkLock::ConstraintsFetch_react ( double  factor = 1.  )  [virtual]

Fetches the reactions from the lagrangian multiplier (l_i) of encapsulated ChLcpConstraints. Mostly used after the LCP provided the solution in ChLcpConstraints. Also, should convert the reactions obtained from dynamical simulation, from link space to intuitive react_force and react_torque.

Reimplemented from chrono::ChLinkMasked.

void chrono::ChLinkLock::StreamIN ( ChStreamInBinary mstream  )  [virtual]

Method to allow deserializing a persistent binary archive (ex: a file) into transient data.

Reimplemented from chrono::ChLinkMasked.

Reimplemented in chrono::ChLinkBrake, chrono::ChLinkClearance, chrono::ChLinkEngine, chrono::ChLinkGear, chrono::ChLinkLinActuator, chrono::ChLinkPneumaticActuator, chrono::ChLinkPointSpline, chrono::ChLinkPulley, chrono::ChLinkScrew, chrono::ChLinkTrajectory, and chrono::ChLinkWheel.

void chrono::ChLinkLock::StreamOUT ( ChStreamOutBinary mstream  )  [virtual]

Method to allow serializing transient data into a persistent binary archive (ex: a file).

Reimplemented from chrono::ChLinkMasked.

Reimplemented in chrono::ChLinkBrake, chrono::ChLinkClearance, chrono::ChLinkEngine, chrono::ChLinkGear, chrono::ChLinkLinActuator, chrono::ChLinkPneumaticActuator, chrono::ChLinkPointSpline, chrono::ChLinkPulley, chrono::ChLinkScrew, chrono::ChLinkTrajectory, and chrono::ChLinkWheel.


CHRONO::ENGINE
C++ library for multibody simulation, (C) Alessandro Tasora
This API documentation has been generated on 17 Jul 2009 by Doxygen