|
MULTIBODY SIMULATION SOFTWARE - API documentation |
#include <CHlinkPulley.h>


Public Member Functions | |
| virtual void | Copy (ChLinkPulley *source) |
| virtual ChLink * | new_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 |
| 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