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 |
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) |
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 8 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 195 of file CEP.cpp.
References _powerPatternFC.
double PHEMlightdll::CEP::CalcPower | ( | double | speed, |
double | acc, | ||
double | gradient | ||
) |
Definition at line 176 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(), and HelpersPHEMlight::compute().
|
private |
Definition at line 341 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 267 of file CEP.cpp.
References _fuelType, PHEMlightdll::Helpers::setErrMsg(), PHEMlightdll::Constants::strCNG, PHEMlightdll::Constants::strDiesel, and PHEMlightdll::Constants::strGasoline.
Referenced by HelpersPHEMlight::compute().
double PHEMlightdll::CEP::GetDecelCoast | ( | double | speed, |
double | acc, | ||
double | gradient | ||
) |
Definition at line 297 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.
const double & PHEMlightdll::CEP::getDrivingPower | ( | ) | const |
Definition at line 168 of file CEP.cpp.
References _drivingPower.
double PHEMlightdll::CEP::GetEmission | ( | const std::string & | pollutant, |
double | power, | ||
double | speed, | ||
Helpers * | VehicleClass | ||
) |
Definition at line 206 of file CEP.cpp.
References _cepCurveFC, _cepCurvePollutants, _fuelType, _idlingValueFC, _idlingValuesPollutants, _powerPatternFC, _powerPatternPollutants, abs, 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 148 of file CEP.cpp.
References _fuelType.
Referenced by HelpersPHEMlight::compute().
const bool & PHEMlightdll::CEP::getHeavyVehicle | ( | ) | const |
Definition at line 144 of file CEP.cpp.
References _heavyVehicle.
const double & PHEMlightdll::CEP::getNormalizingPower | ( | ) | const |
const CEP::NormalizingType & PHEMlightdll::CEP::getNormalizingTypeX | ( | ) | const |
Definition at line 152 of file CEP.cpp.
References _normalizingType.
const double & PHEMlightdll::CEP::getRatedPower | ( | ) | const |
Definition at line 156 of file CEP.cpp.
References _ratedPower.
double PHEMlightdll::CEP::GetRotationalCoeffecient | ( | double | speed | ) |
Definition at line 332 of file CEP.cpp.
References _speedCurveRotational, _speedPatternRotational, FindLowerUpperInPattern(), and Interpolate().
Referenced by CalcPower(), and GetDecelCoast().
|
private |
Definition at line 391 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 383 of file CEP.cpp.
Referenced by GetDecelCoast(), GetEmission(), and GetRotationalCoeffecient().
void PHEMlightdll::CEP::setDrivingPower | ( | const double & | value | ) |
Definition at line 172 of file CEP.cpp.
References _drivingPower.
void PHEMlightdll::CEP::setRatedPower | ( | const double & | value | ) |
Definition at line 160 of file CEP.cpp.
References _ratedPower.
|
protected |
Definition at line 80 of file CEP.h.
Referenced by CalcPower(), CEP(), and InitializeInstanceFields().
|
protected |
Definition at line 79 of file CEP.h.
Referenced by CEP(), GetDecelCoast(), and InitializeInstanceFields().
|
protected |
Definition at line 96 of file CEP.h.
Referenced by CEP(), and GetEmission().
|
protected |
Definition at line 100 of file CEP.h.
Referenced by CEP(), and GetEmission().
|
protected |
|
protected |
Definition at line 72 of file CEP.h.
Referenced by CalcPower(), CEP(), GetDecelCoast(), and InitializeInstanceFields().
|
protected |
Definition at line 73 of file CEP.h.
Referenced by CalcPower(), CEP(), GetDecelCoast(), and InitializeInstanceFields().
|
protected |
Definition at line 106 of file CEP.h.
Referenced by CEP(), and GetDecelCoast().
|
private |
Definition at line 61 of file CEP.h.
Referenced by CEP(), getDrivingPower(), InitializeInstanceFields(), and setDrivingPower().
|
protected |
Definition at line 88 of file CEP.h.
Referenced by CEP(), GetDecelCoast(), and InitializeInstanceFields().
|
protected |
Definition at line 87 of file CEP.h.
Referenced by CEP(), GetDecelCoast(), and InitializeInstanceFields().
|
protected |
Definition at line 86 of file CEP.h.
Referenced by CEP(), GetDecelCoast(), and InitializeInstanceFields().
|
private |
Definition at line 35 of file CEP.h.
Referenced by CEP(), GetCO2Emission(), GetEmission(), and getFuelType().
|
protected |
Definition at line 98 of file CEP.h.
Referenced by CEP(), and GetDecelCoast().
|
private |
Definition at line 30 of file CEP.h.
Referenced by CEP(), getHeavyVehicle(), and InitializeInstanceFields().
|
protected |
Definition at line 102 of file CEP.h.
Referenced by CEP(), GetEmission(), and InitializeInstanceFields().
|
protected |
Definition at line 103 of file CEP.h.
Referenced by CEP(), and GetEmission().
|
protected |
Definition at line 69 of file CEP.h.
Referenced by CalcPower(), CEP(), GetDecelCoast(), and InitializeInstanceFields().
|
protected |
Definition at line 105 of file CEP.h.
Referenced by CEP(), and GetDecelCoast().
|
protected |
|
protected |
|
private |
Definition at line 56 of file CEP.h.
Referenced by CEP(), getNormalizingPower(), and InitializeInstanceFields().
|
private |
Definition at line 45 of file CEP.h.
Referenced by CEP(), getNormalizingTypeX(), and InitializeInstanceFields().
|
protected |
|
protected |
Definition at line 82 of file CEP.h.
Referenced by CEP(), and InitializeInstanceFields().
|
protected |
Definition at line 84 of file CEP.h.
Referenced by CEP(), and InitializeInstanceFields().
|
protected |
Definition at line 81 of file CEP.h.
Referenced by CEP(), and InitializeInstanceFields().
|
protected |
Definition at line 83 of file CEP.h.
Referenced by CEP(), and InitializeInstanceFields().
|
protected |
Definition at line 91 of file CEP.h.
Referenced by CalcEngPower(), CEP(), and GetEmission().
|
protected |
Definition at line 94 of file CEP.h.
Referenced by CEP(), and GetEmission().
|
private |
Definition at line 50 of file CEP.h.
Referenced by CalcPower(), CEP(), GetDecelCoast(), getRatedPower(), InitializeInstanceFields(), and setRatedPower().
|
protected |
Definition at line 74 of file CEP.h.
Referenced by CalcPower(), CEP(), GetDecelCoast(), and InitializeInstanceFields().
|
protected |
Definition at line 75 of file CEP.h.
Referenced by CalcPower(), CEP(), GetDecelCoast(), and InitializeInstanceFields().
|
protected |
Definition at line 76 of file CEP.h.
Referenced by CEP(), GetDecelCoast(), and InitializeInstanceFields().
|
protected |
Definition at line 77 of file CEP.h.
Referenced by CEP(), GetDecelCoast(), and InitializeInstanceFields().
|
protected |
Definition at line 78 of file CEP.h.
Referenced by CalcPower(), CEP(), GetDecelCoast(), and InitializeInstanceFields().
|
protected |
Definition at line 99 of file CEP.h.
Referenced by CEP(), and GetRotationalCoeffecient().
|
protected |
Definition at line 90 of file CEP.h.
Referenced by CEP(), GetDecelCoast(), and GetRotationalCoeffecient().
|
protected |
Definition at line 70 of file CEP.h.
Referenced by CalcPower(), CEP(), GetDecelCoast(), and InitializeInstanceFields().
|
protected |
Definition at line 71 of file CEP.h.
Referenced by CalcPower(), CEP(), and InitializeInstanceFields().