![]() |
SUMO - Simulation of Urban MObility
|
#include <CEP.h>
Public Types | |
enum | NormalizingType { NormalizingType_RatedPower, NormalizingType_DrivingPower } |
Public Member Functions | |
double | CalcEngPower (double power) |
double | CalcPower (double speed, double acc, double gradient) |
CEP (bool heavyVehicle, double vehicleMass, double vehicleLoading, double vehicleMassRot, double crossArea, double cWValue, double f0, double f1, double f2, double f3, double f4, double axleRatio, std::vector< double > &transmissionGearRatios, double auxPower, double ratedPower, double engineIdlingSpeed, double engineRatedSpeed, double effictiveWheelDiameter, double pNormV0, double pNormP0, double pNormV1, double pNormP1, const std::string &vehicelFuelType, std::vector< std::vector< double > > &matrixFC, std::vector< std::string > &headerLinePollutants, std::vector< std::vector< double > > &matrixPollutants, std::vector< std::vector< double > > &matrixSpeedRotational, std::vector< std::vector< double > > &normedDragTable, double idlingFC, std::vector< double > &idlingPollutants) | |
double | GetCO2Emission (double _FC, double _CO, double _HC, Helpers *VehicleClass) |
double | GetDecelCoast (double speed, double acc, double gradient) |
const double & | getDrivingPower () const |
double | GetEmission (const std::string &pollutant, double power, double speed, Helpers *VehicleClass) |
const std::string & | getFuelType () const |
const bool & | getHeavyVehicle () const |
double | GetMaxAccel (double speed, double gradient) |
const double & | getNormalizingPower () const |
const NormalizingType & | getNormalizingTypeX () const |
const double & | getRatedPower () const |
double | GetRotationalCoeffecient (double speed) |
void | setDrivingPower (const double &value) |
void | setRatedPower (const double &value) |
Protected Attributes | |
double | _auxPower |
double | _axleRatio |
std::vector< double > | _cepCurveFC |
std::map< std::string, std::vector< double > > | _cepCurvePollutants |
std::map< std::string, std::vector< double > > | _cepNormalizedCurvePollutants |
double | _crossSectionalArea |
double | _cWValue |
std::vector< double > | _dragNormTable |
double | _effectiveWheelDiameter |
double | _engineIdlingSpeed |
double | _engineRatedSpeed |
std::vector< double > | _gearTransmissionCurve |
double | _idlingValueFC |
std::map< std::string, double > | _idlingValuesPollutants |
double | _massVehicle |
std::vector< double > | _nNormTable |
std::vector< double > | _normailzedPowerPatternPollutants |
std::vector< double > | _normalizedPowerPatternFC |
std::vector< double > | _normedCepCurveFC |
double | _pNormP0 |
double | _pNormP1 |
double | _pNormV0 |
double | _pNormV1 |
std::vector< double > | _powerPatternFC |
std::vector< double > | _powerPatternPollutants |
double | _resistanceF0 |
double | _resistanceF1 |
double | _resistanceF2 |
double | _resistanceF3 |
double | _resistanceF4 |
std::vector< double > | _speedCurveRotational |
std::vector< double > | _speedPatternRotational |
double | _vehicleLoading |
double | _vehicleMassRot |
Private Member Functions | |
void | FindLowerUpperInPattern (int &lowerIndex, int &upperIndex, std::vector< double > &pattern, double value) |
double | GetPMaxNorm (double speed) |
void | InitializeInstanceFields () |
double | Interpolate (double px, double p1, double p2, double e1, double e2) |
Private Attributes | |
double | _drivingPower |
std::string | _fuelType |
bool | _heavyVehicle |
double | _normalizingPower |
NormalizingType | _normalizingType |
double | _ratedPower |
PHEMlightdll::CEP::CEP | ( | bool | heavyVehicle, |
double | vehicleMass, | ||
double | vehicleLoading, | ||
double | vehicleMassRot, | ||
double | crossArea, | ||
double | cWValue, | ||
double | f0, | ||
double | f1, | ||
double | f2, | ||
double | f3, | ||
double | f4, | ||
double | axleRatio, | ||
std::vector< double > & | transmissionGearRatios, | ||
double | auxPower, | ||
double | ratedPower, | ||
double | engineIdlingSpeed, | ||
double | engineRatedSpeed, | ||
double | effictiveWheelDiameter, | ||
double | pNormV0, | ||
double | pNormP0, | ||
double | pNormV1, | ||
double | pNormP1, | ||
const std::string & | vehicelFuelType, | ||
std::vector< std::vector< double > > & | matrixFC, | ||
std::vector< std::string > & | headerLinePollutants, | ||
std::vector< std::vector< double > > & | matrixPollutants, | ||
std::vector< std::vector< double > > & | matrixSpeedRotational, | ||
std::vector< std::vector< double > > & | normedDragTable, | ||
double | idlingFC, | ||
std::vector< double > & | idlingPollutants | ||
) |
Definition at line 29 of file CEP.cpp.
References _auxPower, _axleRatio, _cepCurveFC, _cepCurvePollutants, _cepNormalizedCurvePollutants, _crossSectionalArea, _cWValue, _dragNormTable, _drivingPower, _effectiveWheelDiameter, _engineIdlingSpeed, _engineRatedSpeed, _fuelType, _gearTransmissionCurve, _heavyVehicle, _idlingValueFC, _idlingValuesPollutants, _massVehicle, _nNormTable, _normailzedPowerPatternPollutants, _normalizedPowerPatternFC, _normalizingPower, _normalizingType, _normedCepCurveFC, _pNormP0, _pNormP1, _pNormV0, _pNormV1, _powerPatternFC, _powerPatternPollutants, _ratedPower, _resistanceF0, _resistanceF1, _resistanceF2, _resistanceF3, _resistanceF4, _speedCurveRotational, _speedPatternRotational, _vehicleLoading, _vehicleMassRot, CalcPower(), getNormalizingPower(), InitializeInstanceFields(), PHEMlightdll::Constants::NORMALIZING_ACCELARATION, PHEMlightdll::Constants::NORMALIZING_SPEED, NormalizingType_DrivingPower, and NormalizingType_RatedPower.
double PHEMlightdll::CEP::CalcEngPower | ( | double | power | ) |
Definition at line 216 of file CEP.cpp.
References _powerPatternFC.
double PHEMlightdll::CEP::CalcPower | ( | double | speed, |
double | acc, | ||
double | gradient | ||
) |
Definition at line 197 of file CEP.cpp.
References _auxPower, _crossSectionalArea, _cWValue, PHEMlightdll::Constants::_DRIVE_TRAIN_EFFICIENCY, _massVehicle, _ratedPower, _resistanceF0, _resistanceF1, _resistanceF4, _vehicleLoading, _vehicleMassRot, PHEMlightdll::Constants::AIR_DENSITY_CONST, GetRotationalCoeffecient(), and PHEMlightdll::Constants::GRAVITY_CONST.
Referenced by CEP(), HelpersPHEMlight::compute(), and GetMaxAccel().
|
private |
Definition at line 367 of file CEP.cpp.
Referenced by GetDecelCoast(), GetEmission(), and GetRotationalCoeffecient().
double PHEMlightdll::CEP::GetCO2Emission | ( | double | _FC, |
double | _CO, | ||
double | _HC, | ||
Helpers * | VehicleClass | ||
) |
Definition at line 288 of file CEP.cpp.
References _fuelType, PHEMlightdll::Helpers::setErrMsg(), PHEMlightdll::Constants::strCNG, PHEMlightdll::Constants::strDiesel, PHEMlightdll::Constants::strGasoline, and PHEMlightdll::Constants::strLPG.
Referenced by HelpersPHEMlight::compute().
double PHEMlightdll::CEP::GetDecelCoast | ( | double | speed, |
double | acc, | ||
double | gradient | ||
) |
Definition at line 323 of file CEP.cpp.
References _axleRatio, _crossSectionalArea, _cWValue, _dragNormTable, _effectiveWheelDiameter, _engineIdlingSpeed, _engineRatedSpeed, _gearTransmissionCurve, _massVehicle, _nNormTable, _ratedPower, _resistanceF0, _resistanceF1, _resistanceF2, _resistanceF3, _resistanceF4, _speedPatternRotational, _vehicleLoading, FindLowerUpperInPattern(), GetRotationalCoeffecient(), PHEMlightdll::Constants::GRAVITY_CONST, Interpolate(), M_PI, and PHEMlightdll::Constants::SPEED_DCEL_MIN.
Referenced by HelpersPHEMlight::compute().
const double & PHEMlightdll::CEP::getDrivingPower | ( | ) | const |
Definition at line 189 of file CEP.cpp.
References _drivingPower.
double PHEMlightdll::CEP::GetEmission | ( | const std::string & | pollutant, |
double | power, | ||
double | speed, | ||
Helpers * | VehicleClass | ||
) |
Definition at line 227 of file CEP.cpp.
References _cepCurveFC, _cepCurvePollutants, _fuelType, _idlingValueFC, _idlingValuesPollutants, _powerPatternFC, _powerPatternPollutants, FindLowerUpperInPattern(), Interpolate(), PHEMlightdll::Helpers::setErrMsg(), PHEMlightdll::Constants::strBEV, and PHEMlightdll::Constants::ZERO_SPEED_ACCURACY.
Referenced by HelpersPHEMlight::getEmission().
const std::string & PHEMlightdll::CEP::getFuelType | ( | ) | const |
Definition at line 169 of file CEP.cpp.
References _fuelType.
Referenced by HelpersPHEMlight::compute().
const bool & PHEMlightdll::CEP::getHeavyVehicle | ( | ) | const |
Definition at line 165 of file CEP.cpp.
References _heavyVehicle.
double PHEMlightdll::CEP::GetMaxAccel | ( | double | speed, |
double | gradient | ||
) |
Definition at line 417 of file CEP.cpp.
References _massVehicle, _ratedPower, _vehicleLoading, _vehicleMassRot, CalcPower(), GetPMaxNorm(), and GetRotationalCoeffecient().
Referenced by HelpersPHEMlight::getModifiedAccel().
const double & PHEMlightdll::CEP::getNormalizingPower | ( | ) | const |
const CEP::NormalizingType & PHEMlightdll::CEP::getNormalizingTypeX | ( | ) | const |
Definition at line 173 of file CEP.cpp.
References _normalizingType.
|
private |
Definition at line 424 of file CEP.cpp.
References _pNormP0, _pNormP1, _pNormV0, _pNormV1, and Interpolate().
Referenced by GetMaxAccel().
const double & PHEMlightdll::CEP::getRatedPower | ( | ) | const |
Definition at line 177 of file CEP.cpp.
References _ratedPower.
double PHEMlightdll::CEP::GetRotationalCoeffecient | ( | double | speed | ) |
Definition at line 358 of file CEP.cpp.
References _speedCurveRotational, _speedPatternRotational, FindLowerUpperInPattern(), and Interpolate().
Referenced by CalcPower(), GetDecelCoast(), and GetMaxAccel().
|
private |
Definition at line 437 of file CEP.cpp.
References _auxPower, _axleRatio, _crossSectionalArea, _cWValue, _drivingPower, _effectiveWheelDiameter, _engineIdlingSpeed, _engineRatedSpeed, _heavyVehicle, _idlingValueFC, _massVehicle, _normalizingPower, _normalizingType, _pNormP0, _pNormP1, _pNormV0, _pNormV1, _ratedPower, _resistanceF0, _resistanceF1, _resistanceF2, _resistanceF3, _resistanceF4, _vehicleLoading, and _vehicleMassRot.
Referenced by CEP().
|
private |
Definition at line 409 of file CEP.cpp.
Referenced by GetDecelCoast(), GetEmission(), GetPMaxNorm(), and GetRotationalCoeffecient().
void PHEMlightdll::CEP::setDrivingPower | ( | const double & | value | ) |
Definition at line 193 of file CEP.cpp.
References _drivingPower.
void PHEMlightdll::CEP::setRatedPower | ( | const double & | value | ) |
Definition at line 181 of file CEP.cpp.
References _ratedPower.
|
protected |
Definition at line 101 of file CEP.h.
Referenced by CalcPower(), CEP(), and InitializeInstanceFields().
|
protected |
Definition at line 100 of file CEP.h.
Referenced by CEP(), GetDecelCoast(), and InitializeInstanceFields().
|
protected |
Definition at line 117 of file CEP.h.
Referenced by CEP(), and GetEmission().
|
protected |
Definition at line 121 of file CEP.h.
Referenced by CEP(), and GetEmission().
|
protected |
|
protected |
Definition at line 93 of file CEP.h.
Referenced by CalcPower(), CEP(), GetDecelCoast(), and InitializeInstanceFields().
|
protected |
Definition at line 94 of file CEP.h.
Referenced by CalcPower(), CEP(), GetDecelCoast(), and InitializeInstanceFields().
|
protected |
Definition at line 127 of file CEP.h.
Referenced by CEP(), and GetDecelCoast().
|
private |
Definition at line 82 of file CEP.h.
Referenced by CEP(), getDrivingPower(), InitializeInstanceFields(), and setDrivingPower().
|
protected |
Definition at line 109 of file CEP.h.
Referenced by CEP(), GetDecelCoast(), and InitializeInstanceFields().
|
protected |
Definition at line 108 of file CEP.h.
Referenced by CEP(), GetDecelCoast(), and InitializeInstanceFields().
|
protected |
Definition at line 107 of file CEP.h.
Referenced by CEP(), GetDecelCoast(), and InitializeInstanceFields().
|
private |
Definition at line 56 of file CEP.h.
Referenced by CEP(), GetCO2Emission(), GetEmission(), and getFuelType().
|
protected |
Definition at line 119 of file CEP.h.
Referenced by CEP(), and GetDecelCoast().
|
private |
Definition at line 51 of file CEP.h.
Referenced by CEP(), getHeavyVehicle(), and InitializeInstanceFields().
|
protected |
Definition at line 123 of file CEP.h.
Referenced by CEP(), GetEmission(), and InitializeInstanceFields().
|
protected |
Definition at line 124 of file CEP.h.
Referenced by CEP(), and GetEmission().
|
protected |
Definition at line 90 of file CEP.h.
Referenced by CalcPower(), CEP(), GetDecelCoast(), GetMaxAccel(), and InitializeInstanceFields().
|
protected |
Definition at line 126 of file CEP.h.
Referenced by CEP(), and GetDecelCoast().
|
protected |
|
protected |
|
private |
Definition at line 77 of file CEP.h.
Referenced by CEP(), getNormalizingPower(), and InitializeInstanceFields().
|
private |
Definition at line 66 of file CEP.h.
Referenced by CEP(), getNormalizingTypeX(), and InitializeInstanceFields().
|
protected |
|
protected |
Definition at line 103 of file CEP.h.
Referenced by CEP(), GetPMaxNorm(), and InitializeInstanceFields().
|
protected |
Definition at line 105 of file CEP.h.
Referenced by CEP(), GetPMaxNorm(), and InitializeInstanceFields().
|
protected |
Definition at line 102 of file CEP.h.
Referenced by CEP(), GetPMaxNorm(), and InitializeInstanceFields().
|
protected |
Definition at line 104 of file CEP.h.
Referenced by CEP(), GetPMaxNorm(), and InitializeInstanceFields().
|
protected |
Definition at line 112 of file CEP.h.
Referenced by CalcEngPower(), CEP(), and GetEmission().
|
protected |
Definition at line 115 of file CEP.h.
Referenced by CEP(), and GetEmission().
|
private |
Definition at line 71 of file CEP.h.
Referenced by CalcPower(), CEP(), GetDecelCoast(), GetMaxAccel(), getRatedPower(), InitializeInstanceFields(), and setRatedPower().
|
protected |
Definition at line 95 of file CEP.h.
Referenced by CalcPower(), CEP(), GetDecelCoast(), and InitializeInstanceFields().
|
protected |
Definition at line 96 of file CEP.h.
Referenced by CalcPower(), CEP(), GetDecelCoast(), and InitializeInstanceFields().
|
protected |
Definition at line 97 of file CEP.h.
Referenced by CEP(), GetDecelCoast(), and InitializeInstanceFields().
|
protected |
Definition at line 98 of file CEP.h.
Referenced by CEP(), GetDecelCoast(), and InitializeInstanceFields().
|
protected |
Definition at line 99 of file CEP.h.
Referenced by CalcPower(), CEP(), GetDecelCoast(), and InitializeInstanceFields().
|
protected |
Definition at line 120 of file CEP.h.
Referenced by CEP(), and GetRotationalCoeffecient().
|
protected |
Definition at line 111 of file CEP.h.
Referenced by CEP(), GetDecelCoast(), and GetRotationalCoeffecient().
|
protected |
Definition at line 91 of file CEP.h.
Referenced by CalcPower(), CEP(), GetDecelCoast(), GetMaxAccel(), and InitializeInstanceFields().
|
protected |
Definition at line 92 of file CEP.h.
Referenced by CalcPower(), CEP(), GetMaxAccel(), and InitializeInstanceFields().