MULTIBODY SIMULATION SOFTWARE - API documentation

chrono::ChLinkPulley Class Reference

#include <CHlinkPulley.h>

Inheritance diagram for chrono::ChLinkPulley:

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

Collaboration graph
[legend]

List of all members.

Public Member Functions

virtual void Copy (ChLinkPulley *source)
virtual ChLinknew_Duplicate ()
virtual int GetType ()
virtual void UpdateTime (double mytime)
void Set_r1 (double mr)
void Set_r2 (double mr)
double Get_r1 ()
double Get_r2 ()
double Get_tau ()
double Get_phase ()
void Set_phase (double mset)
void Set_checkphase (int mset)
int Get_checkphase ()
double Get_a1 ()
double Get_a2 ()
void Reset_a1a2 ()
ChFrame< double > Get_local_shaft1 ()
void Set_local_shaft1 (ChFrame< double > mf)
ChFrame< double > Get_local_shaft2 ()
void Set_local_shaft2 (ChFrame< double > mf)
ChVector Get_shaft_dir1 ()
ChVector Get_shaft_dir2 ()
ChVector Get_shaft_pos1 ()
ChVector Get_shaft_pos2 ()
ChVector Get_belt_up1 ()
ChVector Get_belt_up2 ()
ChVector Get_belt_low1 ()
ChVector Get_belt_low2 ()
double GetShaftsDistance ()
virtual void StreamIN (ChStreamInBinary &mstream)
virtual void StreamOUT (ChStreamOutBinary &mstream)

Protected Attributes

double tau
double r1
double r2
double phase
int checkphase
double a1
double a2
double shaft_dist
ChVector belt_up1
ChVector belt_up2
ChVector belt_low1
ChVector belt_low2
ChFrame< double > local_shaft1
ChFrame< double > local_shaft2


Detailed Description

Class to create pulleys on two rigid bodies, connected by a belt. The two bodies must be already connected to a truss by other links, for example two revolute joints (ChLinkLockRevolute), because this link constraints only the rotation.

Member Function Documentation

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

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

Reimplemented from chrono::ChLinkLock.

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

UPDATING PROCEDURES

Reimplemented from chrono::ChLinkLock.

void chrono::ChLinkPulley::Set_r1 ( double  mr  ) 

Set radius of 1st pulley.

void chrono::ChLinkPulley::Set_r2 ( double  mr  ) 

Set radius of 2nd pulley.

double chrono::ChLinkPulley::Get_r1 (  ) 

Get radius of 1st pulley.

double chrono::ChLinkPulley::Get_r2 (  ) 

Get radius of 2nd pulley.

double chrono::ChLinkPulley::Get_tau (  ) 

Get the transmission ratio. Its value is assumed always positive.

double chrono::ChLinkPulley::Get_phase (  ) 

Get the initial phase of rotation of pulley A.

void chrono::ChLinkPulley::Set_phase ( double  mset  ) 

Set the initial phase of rotation of pulley A.

void chrono::ChLinkPulley::Set_checkphase ( int  mset  ) 

If true, enforce check on exact phase between pulleys (otherwise after many simulation steps the phasing may be affected by numerical error accumulation). By default, it is turned off, but for the simulation of synchro belts, this should be better turned on. Note that, to ensure the correct phasing during the many rotations, an algorithm will use the a1 and a2 total rotation values, which might be affected by loss of numerical precision after few thousands of revolutions, so this is NOT suited to real-time simulators which must run for many hours.

double chrono::ChLinkPulley::Get_a1 (  ) 

Get total rotation of 1st pulley, respect to interaxis, in radians.

double chrono::ChLinkPulley::Get_a2 (  ) 

Get total rotation of 1st pulley, respect to interaxis, in radians.

void chrono::ChLinkPulley::Reset_a1a2 (  ) 

Reset the total rotations of a1 and a2.

ChFrame<double> chrono::ChLinkPulley::Get_local_shaft1 (  ) 

Get shaft position and direction, for 1st pulley, in body1-relative reference. The shaft direction is the Z axis of that frame.

void chrono::ChLinkPulley::Set_local_shaft1 ( ChFrame< double >  mf  ) 

Set shaft position and direction, for 1st pulley, in body1-relative reference. The shaft direction is the Z axis of that frame. It should be parallel to shaft 2. Note that the origin of shaft position will be automatically shifted along shaft direction in order to have both pulleys on same plane.

ChFrame<double> chrono::ChLinkPulley::Get_local_shaft2 (  ) 

Get shaft position and direction, for 2nd pulley, in body2-relative reference. The shaft direction is the Z axis of that frame.

void chrono::ChLinkPulley::Set_local_shaft2 ( ChFrame< double >  mf  ) 

Set shaft position and direction, for 2nd pulley, in body2-relative reference. The shaft direction is the Z axis of that frame. It should be parallel to shaft 1.

Vector chrono::ChLinkPulley::Get_shaft_dir1 (  ) 

Get shaft direction, for 1st pulley, in absolute reference.

Vector chrono::ChLinkPulley::Get_shaft_dir2 (  ) 

Get shaft direction, for 2nd pulley, in absolute reference.

Vector chrono::ChLinkPulley::Get_shaft_pos1 (  ) 

Get shaft position, for 1st pulley, in absolute reference.

Vector chrono::ChLinkPulley::Get_shaft_pos2 (  ) 

Get shaft position, for 2nd pulley, in absolute reference.

ChVector chrono::ChLinkPulley::Get_belt_up1 (  ) 

Get the endpoint of belt, on pulley of body1, for the 'upper' segment, in absolute coordinates.

ChVector chrono::ChLinkPulley::Get_belt_up2 (  ) 

Get the endpoint of belt, on pulley of body2, for the 'upper' segment, in absolute coordinates.

ChVector chrono::ChLinkPulley::Get_belt_low1 (  ) 

Get the endpoint of belt, on pulley of body1, for the 'lower' segment, in absolute coordinates.

ChVector chrono::ChLinkPulley::Get_belt_low2 (  ) 

Get the endpoint of belt, on pulley of body1, for the 'lower' segment, in absolute coordinates.

double chrono::ChLinkPulley::GetShaftsDistance (  ) 

Return distance between the two axes.

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

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

Reimplemented from chrono::ChLinkLock.

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

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

Reimplemented from chrono::ChLinkLock.


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