![]() |
Eclipse SUMO - Simulation of Urban MObility
|
#include <CEP.h>
Public Types | |
enum | eNormalizingType { eNormalizingType_RatedPower , eNormalizingType_DrivingPower } |
Public Member Functions | |
double | CalcEngPower (double power) |
double | CalcPower (double speed, double acc, double gradient, bool HBEV) |
double | CalcWheelPower (double speed, double acc, double gradient) |
CEP (VEHPHEMLightJSON::VEH *Vehicle, std::vector< std::string > &headerLineFCvalues, std::vector< std::vector< double > > &matrixFCvalues, std::vector< std::string > &headerLinePollutants, std::vector< std::vector< double > > &matrixPollutants, std::vector< double > &idlingFCvalues, std::vector< double > &idlingPollutants) | |
double | getAuxPower () const |
const std::string & | getCalcType () const |
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, bool HBEV) |
const double & | getNormalizingPower () const |
const eNormalizingType & | getNormalizingType () const |
const double & | getRatedPower () const |
double | GetRotationalCoeffecient (double speed) |
void | setCalcType (const std::string &value) |
void | setDrivingPower (const double &value) |
void | setFuelType (const std::string &value) |
void | setNormalizingPower (const double &value) |
void | setNormalizingType (const eNormalizingType &value) |
void | setRatedPower (const double &value) |
Protected Attributes | |
double | _auxPower |
double | _axleRatio |
std::map< std::string, std::vector< double > > | _cepCurveFCvalues |
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::map< std::string, double > | _FleetMix |
std::vector< double > | _gearTransmissionCurve |
std::map< std::string, double > | _idlingValueFCvalues |
std::map< std::string, double > | _idlingValuesPollutants |
double | _massVehicle |
std::vector< double > | _nNormTable |
std::vector< double > | _normailzedPowerPatternPollutants |
std::vector< double > | _normalizedPowerPatternFCvalues |
std::map< std::string, std::vector< double > > | _normedCepCurveFCvalues |
double | _pNormP0 |
double | _pNormP1 |
double | _pNormV0 |
double | _pNormV1 |
std::vector< double > | _powerPatternFCvalues |
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 | |
bool | CalcfCValMix (double &_fCBr, double &_fCHC, double &_fCCO, double &_fCCO2, Helpers *VehicleClass) |
void | FindLowerUpperInPattern (int &lowerIndex, int &upperIndex, std::vector< double > &pattern, double value) |
bool | GetfcVals (const std::string &_fuelTypex, double &_fCBr, double &_fCHC, double &_fCCO, double &_fCCO2, Helpers *VehicleClass) |
double | GetPMaxNorm (double speed) |
void | InitializeInstanceFields () |
double | Interpolate (double px, double p1, double p2, double e1, double e2) |
Private Attributes | |
std::string | privateCalcType |
double | privateDrivingPower |
std::string | privateFuelType |
bool | privateHeavyVehicle |
double | privateNormalizingPower |
eNormalizingType | privateNormalizingType |
double | privateRatedPower |
Definition at line 41 of file V5/cpp/CEP.h.
Enumerator | |
---|---|
eNormalizingType_RatedPower | |
eNormalizingType_DrivingPower |
Definition at line 43 of file V5/cpp/CEP.h.
PHEMlightdllV5::CEP::CEP | ( | VEHPHEMLightJSON::VEH * | Vehicle, |
std::vector< std::string > & | headerLineFCvalues, | ||
std::vector< std::vector< double > > & | matrixFCvalues, | ||
std::vector< std::string > & | headerLinePollutants, | ||
std::vector< std::vector< double > > & | matrixPollutants, | ||
std::vector< double > & | idlingFCvalues, | ||
std::vector< double > & | idlingPollutants | ||
) |
Definition at line 33 of file V5/cpp/CEP.cpp.
References _auxPower, _axleRatio, _cepCurveFCvalues, _cepCurvePollutants, _cepNormalizedCurvePollutants, _crossSectionalArea, _cWValue, _dragNormTable, _effectiveWheelDiameter, _engineIdlingSpeed, _engineRatedSpeed, _FleetMix, _gearTransmissionCurve, _idlingValueFCvalues, _idlingValuesPollutants, _massVehicle, _nNormTable, _normailzedPowerPatternPollutants, _normalizedPowerPatternFCvalues, _normedCepCurveFCvalues, _pNormP0, _pNormP1, _pNormV0, _pNormV1, _powerPatternFCvalues, _powerPatternPollutants, _resistanceF0, _resistanceF1, _resistanceF2, _resistanceF3, _resistanceF4, _speedCurveRotational, _speedPatternRotational, _vehicleLoading, _vehicleMassRot, CalcPower(), eNormalizingType_DrivingPower, eNormalizingType_RatedPower, getCalcType(), getDrivingPower(), getHeavyVehicle(), getNormalizingPower(), getRatedPower(), PHEMlightdllV5::Constants::HeavyVehicle, InitializeInstanceFields(), PHEMlightdllV5::Constants::NORMALIZING_ACCELARATION, PHEMlightdllV5::Constants::NORMALIZING_SPEED, privateHeavyVehicle, setCalcType(), setDrivingPower(), setFuelType(), setNormalizingPower(), setNormalizingType(), setRatedPower(), PHEMlightdllV5::Constants::strCNG, PHEMlightdllV5::Constants::strDiesel, PHEMlightdllV5::Constants::strGasoline, and PHEMlightdllV5::Constants::strLPG.
double PHEMlightdllV5::CEP::CalcEngPower | ( | double | power | ) |
Definition at line 285 of file V5/cpp/CEP.cpp.
References _powerPatternFCvalues.
Referenced by HelpersPHEMlight5::compute().
|
private |
Definition at line 378 of file V5/cpp/CEP.cpp.
References _FleetMix, GetfcVals(), and PHEMlightdllV5::Helpers::setErrMsg().
Referenced by GetCO2Emission().
double PHEMlightdllV5::CEP::CalcPower | ( | double | speed, |
double | acc, | ||
double | gradient, | ||
bool | HBEV | ||
) |
Definition at line 248 of file V5/cpp/CEP.cpp.
References _auxPower, _crossSectionalArea, _cWValue, PHEMlightdllV5::Constants::_DRIVE_TRAIN_EFFICIENCY, _massVehicle, _resistanceF0, _resistanceF1, _resistanceF4, _vehicleLoading, _vehicleMassRot, PHEMlightdllV5::Constants::AIR_DENSITY_CONST, getRatedPower(), GetRotationalCoeffecient(), and PHEMlightdllV5::Constants::GRAVITY_CONST.
Referenced by CEP(), HelpersPHEMlight5::compute(), and GetMaxAccel().
double PHEMlightdllV5::CEP::CalcWheelPower | ( | double | speed, |
double | acc, | ||
double | gradient | ||
) |
Definition at line 269 of file V5/cpp/CEP.cpp.
References _crossSectionalArea, _cWValue, _massVehicle, _resistanceF0, _resistanceF1, _resistanceF4, _vehicleLoading, _vehicleMassRot, PHEMlightdllV5::Constants::AIR_DENSITY_CONST, GetRotationalCoeffecient(), and PHEMlightdllV5::Constants::GRAVITY_CONST.
Referenced by HelpersPHEMlight5::compute().
|
private |
Definition at line 496 of file V5/cpp/CEP.cpp.
Referenced by GetDecelCoast(), GetEmission(), and GetRotationalCoeffecient().
|
inline |
Definition at line 77 of file V5/cpp/CEP.h.
References _auxPower, and getRatedPower().
Referenced by HelpersPHEMlight5::compute().
const std::string & PHEMlightdllV5::CEP::getCalcType | ( | ) | const |
Definition at line 208 of file V5/cpp/CEP.cpp.
References privateCalcType.
Referenced by CEP().
double PHEMlightdllV5::CEP::GetCO2Emission | ( | double | _FC, |
double | _CO, | ||
double | _HC, | ||
Helpers * | VehicleClass | ||
) |
Definition at line 355 of file V5/cpp/CEP.cpp.
References CalcfCValMix(), GetfcVals(), and getFuelType().
Referenced by HelpersPHEMlight5::compute().
double PHEMlightdllV5::CEP::GetDecelCoast | ( | double | speed, |
double | acc, | ||
double | gradient | ||
) |
Definition at line 452 of file V5/cpp/CEP.cpp.
References _axleRatio, _crossSectionalArea, _cWValue, _dragNormTable, _effectiveWheelDiameter, _engineIdlingSpeed, _engineRatedSpeed, _gearTransmissionCurve, _massVehicle, _nNormTable, _resistanceF0, _resistanceF1, _resistanceF2, _resistanceF3, _resistanceF4, _speedPatternRotational, _vehicleLoading, PHEMlightdllV5::Constants::AIR_DENSITY_CONST, FindLowerUpperInPattern(), GetDecelCoast(), PHEMlightdllV5::Constants::getDRIVE_TRAIN_EFFICIENCY(), getRatedPower(), GetRotationalCoeffecient(), PHEMlightdllV5::Constants::GRAVITY_CONST, Interpolate(), M_PI, and PHEMlightdllV5::Constants::SPEED_DCEL_MIN.
Referenced by GetDecelCoast().
const double & PHEMlightdllV5::CEP::getDrivingPower | ( | ) | const |
Definition at line 240 of file V5/cpp/CEP.cpp.
References privateDrivingPower.
Referenced by CEP().
double PHEMlightdllV5::CEP::GetEmission | ( | const std::string & | pollutant, |
double | power, | ||
double | speed, | ||
Helpers * | VehicleClass | ||
) |
Definition at line 296 of file V5/cpp/CEP.cpp.
References _cepCurveFCvalues, _cepCurvePollutants, _idlingValueFCvalues, _idlingValuesPollutants, _powerPatternFCvalues, _powerPatternPollutants, FindLowerUpperInPattern(), Interpolate(), PHEMlightdllV5::Helpers::setErrMsg(), and PHEMlightdllV5::Constants::ZERO_SPEED_ACCURACY.
Referenced by HelpersPHEMlight5::getEmission().
|
private |
Definition at line 420 of file V5/cpp/CEP.cpp.
References getFuelType(), PHEMlightdllV5::Helpers::setErrMsg(), PHEMlightdllV5::Constants::strCNG, PHEMlightdllV5::Constants::strDiesel, PHEMlightdllV5::Constants::strGasoline, and PHEMlightdllV5::Constants::strLPG.
Referenced by CalcfCValMix(), and GetCO2Emission().
const std::string & PHEMlightdllV5::CEP::getFuelType | ( | ) | const |
Definition at line 200 of file V5/cpp/CEP.cpp.
References privateFuelType.
Referenced by HelpersPHEMlight5::compute(), GetCO2Emission(), GetfcVals(), and HelpersPHEMlight5::getModifiedAccel().
const bool & PHEMlightdllV5::CEP::getHeavyVehicle | ( | ) | const |
Definition at line 196 of file V5/cpp/CEP.cpp.
References privateHeavyVehicle.
Referenced by CEP(), and HelpersPHEMlight5::getClassByName().
double PHEMlightdllV5::CEP::GetMaxAccel | ( | double | speed, |
double | gradient, | ||
bool | HBEV | ||
) |
Definition at line 546 of file V5/cpp/CEP.cpp.
References _massVehicle, _vehicleLoading, _vehicleMassRot, CalcPower(), GetPMaxNorm(), getRatedPower(), and GetRotationalCoeffecient().
Referenced by HelpersPHEMlight5::getModifiedAccel().
const double & PHEMlightdllV5::CEP::getNormalizingPower | ( | ) | const |
Definition at line 232 of file V5/cpp/CEP.cpp.
References privateNormalizingPower.
Referenced by CEP().
const CEP::eNormalizingType & PHEMlightdllV5::CEP::getNormalizingType | ( | ) | const |
Definition at line 216 of file V5/cpp/CEP.cpp.
References privateNormalizingType.
|
private |
Definition at line 553 of file V5/cpp/CEP.cpp.
References _pNormP0, _pNormP1, _pNormV0, _pNormV1, and Interpolate().
Referenced by GetMaxAccel().
const double & PHEMlightdllV5::CEP::getRatedPower | ( | ) | const |
Definition at line 224 of file V5/cpp/CEP.cpp.
References privateRatedPower.
Referenced by CalcPower(), CEP(), getAuxPower(), GetDecelCoast(), and GetMaxAccel().
double PHEMlightdllV5::CEP::GetRotationalCoeffecient | ( | double | speed | ) |
Definition at line 487 of file V5/cpp/CEP.cpp.
References _speedCurveRotational, _speedPatternRotational, FindLowerUpperInPattern(), and Interpolate().
Referenced by CalcPower(), CalcWheelPower(), GetDecelCoast(), and GetMaxAccel().
|
private |
Definition at line 566 of file V5/cpp/CEP.cpp.
References _auxPower, _axleRatio, _crossSectionalArea, _cWValue, _effectiveWheelDiameter, _engineIdlingSpeed, _engineRatedSpeed, _massVehicle, _pNormP0, _pNormP1, _pNormV0, _pNormV1, _resistanceF0, _resistanceF1, _resistanceF2, _resistanceF3, _resistanceF4, _vehicleLoading, and _vehicleMassRot.
Referenced by CEP().
|
private |
Definition at line 538 of file V5/cpp/CEP.cpp.
Referenced by GetDecelCoast(), GetEmission(), GetPMaxNorm(), and GetRotationalCoeffecient().
void PHEMlightdllV5::CEP::setCalcType | ( | const std::string & | value | ) |
Definition at line 212 of file V5/cpp/CEP.cpp.
References privateCalcType.
Referenced by CEP().
void PHEMlightdllV5::CEP::setDrivingPower | ( | const double & | value | ) |
Definition at line 244 of file V5/cpp/CEP.cpp.
References privateDrivingPower.
Referenced by CEP().
void PHEMlightdllV5::CEP::setFuelType | ( | const std::string & | value | ) |
Definition at line 204 of file V5/cpp/CEP.cpp.
References privateFuelType.
Referenced by CEP().
void PHEMlightdllV5::CEP::setNormalizingPower | ( | const double & | value | ) |
Definition at line 236 of file V5/cpp/CEP.cpp.
References privateNormalizingPower.
Referenced by CEP().
void PHEMlightdllV5::CEP::setNormalizingType | ( | const eNormalizingType & | value | ) |
Definition at line 220 of file V5/cpp/CEP.cpp.
References privateNormalizingType.
Referenced by CEP().
void PHEMlightdllV5::CEP::setRatedPower | ( | const double & | value | ) |
Definition at line 228 of file V5/cpp/CEP.cpp.
References privateRatedPower.
Referenced by CEP().
|
protected |
Definition at line 93 of file V5/cpp/CEP.h.
Referenced by CalcPower(), CEP(), getAuxPower(), and InitializeInstanceFields().
|
protected |
Definition at line 92 of file V5/cpp/CEP.h.
Referenced by CEP(), GetDecelCoast(), and InitializeInstanceFields().
|
protected |
Definition at line 109 of file V5/cpp/CEP.h.
Referenced by CEP(), and GetEmission().
|
protected |
Definition at line 113 of file V5/cpp/CEP.h.
Referenced by CEP(), and GetEmission().
|
protected |
Definition at line 114 of file V5/cpp/CEP.h.
Referenced by CEP().
|
protected |
Definition at line 85 of file V5/cpp/CEP.h.
Referenced by CalcPower(), CalcWheelPower(), CEP(), GetDecelCoast(), and InitializeInstanceFields().
|
protected |
Definition at line 86 of file V5/cpp/CEP.h.
Referenced by CalcPower(), CalcWheelPower(), CEP(), GetDecelCoast(), and InitializeInstanceFields().
|
protected |
Definition at line 120 of file V5/cpp/CEP.h.
Referenced by CEP(), and GetDecelCoast().
|
protected |
Definition at line 101 of file V5/cpp/CEP.h.
Referenced by CEP(), GetDecelCoast(), and InitializeInstanceFields().
|
protected |
Definition at line 100 of file V5/cpp/CEP.h.
Referenced by CEP(), GetDecelCoast(), and InitializeInstanceFields().
|
protected |
Definition at line 99 of file V5/cpp/CEP.h.
Referenced by CEP(), GetDecelCoast(), and InitializeInstanceFields().
|
protected |
Definition at line 115 of file V5/cpp/CEP.h.
Referenced by CalcfCValMix(), and CEP().
|
protected |
Definition at line 111 of file V5/cpp/CEP.h.
Referenced by CEP(), and GetDecelCoast().
|
protected |
Definition at line 116 of file V5/cpp/CEP.h.
Referenced by CEP(), and GetEmission().
|
protected |
Definition at line 117 of file V5/cpp/CEP.h.
Referenced by CEP(), and GetEmission().
|
protected |
Definition at line 82 of file V5/cpp/CEP.h.
Referenced by CalcPower(), CalcWheelPower(), CEP(), GetDecelCoast(), GetMaxAccel(), and InitializeInstanceFields().
|
protected |
Definition at line 119 of file V5/cpp/CEP.h.
Referenced by CEP(), and GetDecelCoast().
|
protected |
Definition at line 106 of file V5/cpp/CEP.h.
Referenced by CEP().
|
protected |
Definition at line 105 of file V5/cpp/CEP.h.
Referenced by CEP().
|
protected |
Definition at line 110 of file V5/cpp/CEP.h.
Referenced by CEP().
|
protected |
Definition at line 95 of file V5/cpp/CEP.h.
Referenced by CEP(), GetPMaxNorm(), and InitializeInstanceFields().
|
protected |
Definition at line 97 of file V5/cpp/CEP.h.
Referenced by CEP(), GetPMaxNorm(), and InitializeInstanceFields().
|
protected |
Definition at line 94 of file V5/cpp/CEP.h.
Referenced by CEP(), GetPMaxNorm(), and InitializeInstanceFields().
|
protected |
Definition at line 96 of file V5/cpp/CEP.h.
Referenced by CEP(), GetPMaxNorm(), and InitializeInstanceFields().
|
protected |
Definition at line 104 of file V5/cpp/CEP.h.
Referenced by CalcEngPower(), CEP(), and GetEmission().
|
protected |
Definition at line 107 of file V5/cpp/CEP.h.
Referenced by CEP(), and GetEmission().
|
protected |
Definition at line 87 of file V5/cpp/CEP.h.
Referenced by CalcPower(), CalcWheelPower(), CEP(), GetDecelCoast(), and InitializeInstanceFields().
|
protected |
Definition at line 88 of file V5/cpp/CEP.h.
Referenced by CalcPower(), CalcWheelPower(), CEP(), GetDecelCoast(), and InitializeInstanceFields().
|
protected |
Definition at line 89 of file V5/cpp/CEP.h.
Referenced by CEP(), GetDecelCoast(), and InitializeInstanceFields().
|
protected |
Definition at line 90 of file V5/cpp/CEP.h.
Referenced by CEP(), GetDecelCoast(), and InitializeInstanceFields().
|
protected |
Definition at line 91 of file V5/cpp/CEP.h.
Referenced by CalcPower(), CalcWheelPower(), CEP(), GetDecelCoast(), and InitializeInstanceFields().
|
protected |
Definition at line 112 of file V5/cpp/CEP.h.
Referenced by CEP(), and GetRotationalCoeffecient().
|
protected |
Definition at line 103 of file V5/cpp/CEP.h.
Referenced by CEP(), GetDecelCoast(), and GetRotationalCoeffecient().
|
protected |
Definition at line 83 of file V5/cpp/CEP.h.
Referenced by CalcPower(), CalcWheelPower(), CEP(), GetDecelCoast(), GetMaxAccel(), and InitializeInstanceFields().
|
protected |
Definition at line 84 of file V5/cpp/CEP.h.
Referenced by CalcPower(), CalcWheelPower(), CEP(), GetMaxAccel(), and InitializeInstanceFields().
|
private |
Definition at line 51 of file V5/cpp/CEP.h.
Referenced by getCalcType(), and setCalcType().
|
private |
Definition at line 55 of file V5/cpp/CEP.h.
Referenced by getDrivingPower(), and setDrivingPower().
|
private |
Definition at line 50 of file V5/cpp/CEP.h.
Referenced by getFuelType(), and setFuelType().
|
private |
Definition at line 49 of file V5/cpp/CEP.h.
Referenced by CEP(), and getHeavyVehicle().
|
private |
Definition at line 54 of file V5/cpp/CEP.h.
Referenced by getNormalizingPower(), and setNormalizingPower().
|
private |
Definition at line 52 of file V5/cpp/CEP.h.
Referenced by getNormalizingType(), and setNormalizingType().
|
private |
Definition at line 53 of file V5/cpp/CEP.h.
Referenced by getRatedPower(), and setRatedPower().