chrono::vehicle::ChPowertrain Class Referenceabstract

Description

Base class for a powertrain system.

#include <ChPowertrain.h>

Inheritance diagram for chrono::vehicle::ChPowertrain:

Public Types

enum  DriveMode { FORWARD, NEUTRAL, REVERSE }
 Driving modes. More...
 

Public Member Functions

virtual double GetMotorSpeed () const =0
 Return the current engine speed.
 
virtual double GetMotorTorque () const =0
 Return the current engine torque.
 
virtual double GetTorqueConverterSlippage () const =0
 Return the value of slippage in the torque converter.
 
virtual double GetTorqueConverterInputTorque () const =0
 Return the input torque to the torque converter.
 
virtual double GetTorqueConverterOutputTorque () const =0
 Return the output torque from the torque converter.
 
virtual int GetCurrentTransmissionGear () const =0
 Return the current transmission gear.
 
virtual double GetOutputTorque () const =0
 Return the ouput torque from the powertrain. More...
 
DriveMode GetDriveMode ()
 Return the current mode of the transmission.
 
virtual void SetDriveMode (DriveMode mmode)=0
 Set the mode of the transmission.
 
virtual void Initialize (std::shared_ptr< ChBody > chassis, std::shared_ptr< ChShaft > driveshaft)=0
 Initialize this powertrain system. More...
 
virtual void Synchronize (double time, double throttle, double shaft_speed)=0
 Synchronize the state of this powertrain system at the current time. More...
 
virtual void Advance (double step)=0
 Advance the state of this powertrain system by the specified time step.
 

Protected Attributes

DriveMode m_drive_mode
 

Member Enumeration Documentation

Driving modes.

Enumerator
FORWARD 

vehicle moving forward

NEUTRAL 

vehicle in neutral

REVERSE 

vehicle moving backward

Member Function Documentation

virtual double chrono::vehicle::ChPowertrain::GetOutputTorque ( ) const
pure virtual

Return the ouput torque from the powertrain.

This is the torque that is passed to a vehicle system, thus providing the interface between the powertrain and vehcicle cosimulation modules.

Implemented in chrono::vehicle::ChShaftsPowertrain, and chrono::vehicle::ChSimplePowertrain.

virtual void chrono::vehicle::ChPowertrain::Initialize ( std::shared_ptr< ChBody chassis,
std::shared_ptr< ChShaft driveshaft 
)
pure virtual

Initialize this powertrain system.

Parameters
[in]chassischassis o the associated vehicle
[in]driveshaftshaft connection to the vehicle driveline

Implemented in chrono::vehicle::ChShaftsPowertrain, and chrono::vehicle::ChSimplePowertrain.

virtual void chrono::vehicle::ChPowertrain::Synchronize ( double  time,
double  throttle,
double  shaft_speed 
)
pure virtual

Synchronize the state of this powertrain system at the current time.

The powertrain system is provided the current driver throttle input, a value in the range [0,1], and the current angular speed of the transmission shaft (from the driveline).

Parameters
[in]timecurrent time
[in]throttlecurrent throttle input [0,1]
[in]shaft_speedcurrent angular speed of the transmission shaft

Implemented in chrono::vehicle::ChShaftsPowertrain, and chrono::vehicle::ChSimplePowertrain.