Eclipse SUMO - Simulation of Urban MObility
PHEMlightdll::CEP Class Reference

#include <CEP.h>

Public Types

enum class  eNormalizingType { RatedPower , DrivingPower }
 
enum  NormalizingType { NormalizingType_RatedPower , NormalizingType_DrivingPower , RatedPower , DrivingPower }
 
enum class  NormalizingType { NormalizingType_RatedPower , NormalizingType_DrivingPower , RatedPower , DrivingPower }
 

Public Member Functions

double CalcEngPower (double power)
 
double CalcEngPower (double power)
 
double CalcEngPower (double power)
 
double CalcPower (double speed, double acc, double gradient)
 
double CalcPower (double speed, double acc, double gradient)
 
double CalcPower (double speed, double acc, double gradient, bool HBEV)
 
double CalcWheelPower (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, List< double > transmissionGearRatios, double auxPower, double ratedPower, double engineIdlingSpeed, double engineRatedSpeed, double effictiveWheelDiameter, double pNormV0, double pNormP0, double pNormV1, double pNormP1, string vehicelFuelType, List< List< double >> matrixFC, List< string > headerLinePollutants, List< List< double >> matrixPollutants, List< List< double >> matrixSpeedRotational, List< List< double >> normedDragTable, double idlingFC, List< double > idlingPollutants)
 
 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)
 
 CEP (VEHPHEMLightJSON.VEH Vehicle, List< string > headerLineFCvalues, List< List< double >> matrixFCvalues, List< string > headerLinePollutants, List< List< double >> matrixPollutants, List< double > idlingFCvalues, List< double > idlingPollutants)
 
Dictionary< string, double > GetAllEmission (double power, double speed, Helpers VehicleClass, bool SetZero=false)
 
double GetCO2Emission (double _FC, double _CO, double _HC, Helpers *VehicleClass)
 
double GetCO2Emission (double _FC, double _CO, double _HC, Helpers VehicleClass)
 
double GetCO2Emission (double _FC, double _CO, double _HC, Helpers VehicleClass)
 
double GetDecelCoast (double speed, double acc, double gradient)
 
double GetDecelCoast (double speed, double acc, double gradient)
 
double GetDecelCoast (double speed, double acc, double gradient)
 
double GetDragCoeffecient (double nNorm)
 
double GetDragCoeffecient (double nNorm)
 
const double & getDrivingPower () const
 
double GetEmission (const std::string &pollutant, double power, double speed, Helpers *VehicleClass)
 
double GetEmission (string pollutant, double power, double speed, Helpers VehicleClass)
 
const std::string & getFuelType () const
 
double GetGearCoeffecient (double speed)
 
double GetGearCoeffecient (double speed)
 
const bool & getHeavyVehicle () const
 
double GetMaxAccel (double speed, double gradient)
 
double GetMaxAccel (double speed, double gradient)
 
double GetMaxAccel (double speed, double gradient, bool HBEV)
 
const double & getNormalizingPower () const
 
const NormalizingTypegetNormalizingTypeX () const
 
double GetNormedEmission (string pollutant, double power, double speed, Helpers VehicleClass)
 
const double & getRatedPower () const
 
double GetRotationalCoeffecient (double speed)
 
double GetRotationalCoeffecient (double speed)
 
double GetRotationalCoeffecient (double speed)
 
void setDrivingPower (const double &value)
 
void setRatedPower (const double &value)
 

Static Public Member Functions

static CEP AddRangeCeps (CEP[] cps, Helpers Helper)
 
static CEP AddRangeCeps (CEP[] cps, Helpers Helper)
 
static bool CheckClass (CEP[] cps)
 
static List< double > CreatePattern (double min, double max, double increment)
 
static List< double > CreatePattern (double min, double max, double increment)
 
static CEP operator* (CEP cp1, double d)
 
static CEP operator* (CEP cp1, double d)
 

Protected Attributes

double _auxPower
 
double _axleRatio
 
std::vector< double > _cepCurveFC
 
List< double > _cepCurveFC
 
Dictionary< string, List< double > > _cepCurveFCvalues
 
std::map< std::string, std::vector< double > > _cepCurvePollutants
 
Dictionary< string, List< double > > _cepCurvePollutants
 
std::map< std::string, std::vector< double > > _cepNormalizedCurvePollutants
 
Dictionary< string, List< double > > _cepNormalizedCurvePollutants
 
double _crossSectionalArea
 
double _cWValue
 
std::vector< double > _dragNormTable
 
List< double > _dragNormTable
 
double _effectiveWheelDiameter
 
double _engineIdlingSpeed
 
double _engineRatedSpeed
 
Dictionary< string, double > _FleetMix
 
std::vector< double > _gearTransmissionCurve
 
List< double > _gearTransmissionCurve
 
double _idlingValueFC
 
Dictionary< string, double > _idlingValueFCvalues
 
std::map< std::string, double > _idlingValuesPollutants
 
Dictionary< string, double > _idlingValuesPollutants
 
double _massVehicle
 
std::vector< double > _nNormTable
 
List< double > _nNormTable
 
std::vector< double > _normailzedPowerPatternPollutants
 
List< double > _normailzedPowerPatternPollutants
 
std::vector< double > _normalizedPowerPatternFC
 
List< double > _normalizedPowerPatternFC
 
List< double > _normalizedPowerPatternFCvalues
 
std::vector< double > _normedCepCurveFC
 
List< double > _normedCepCurveFC
 
Dictionary< string, List< double > > _normedCepCurveFCvalues
 
double _pNormP0
 
double _pNormP1
 
double _pNormV0
 
double _pNormV1
 
std::vector< double > _powerPatternFC
 
List< double > _powerPatternFC
 
List< double > _powerPatternFCvalues
 
std::vector< double > _powerPatternPollutants
 
List< double > _powerPatternPollutants
 
double _resistanceF0
 
double _resistanceF1
 
double _resistanceF2
 
double _resistanceF3
 
double _resistanceF4
 
std::vector< double > _speedCurveRotational
 
List< double > _speedCurveRotational
 
std::vector< double > _speedPatternRotational
 
List< double > _speedPatternRotational
 
double _vehicleLoading
 
double _vehicleMassRot
 

Properties

string CalcType [get, private set]
 
double DrivingPower [get, set]
 
string FuelType [get, private set]
 
bool HeavyVehicle [get]
 
double NormalizingPower [get, private set]
 
eNormalizingType NormalizingType [get, private set]
 
NormalizingType NormalizingTypeX [get]
 
double RatedPower [get, set]
 

Private Member Functions

bool CalcfCValMix (ref double _fCBr, ref double _fCHC, ref double _fCCO, ref double _fCCO2, Helpers VehicleClass)
 
 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, double auxPower, double ratedPower, double engineIdlingSpeed, double engineRatedSpeed, double effictiveWheelDiameter, double pNormV0, double pNormP0, double pNormV1, double pNormP1)
 
 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, double auxPower, double ratedPower, double engineIdlingSpeed, double engineRatedSpeed, double effictiveWheelDiameter, double pNormV0, double pNormP0, double pNormV1, double pNormP1)
 
void FindLowerUpperInPattern (int &lowerIndex, int &upperIndex, std::vector< double > &pattern, double value)
 
void FindLowerUpperInPattern (out int lowerIndex, out int upperIndex, List< double > pattern, double value)
 
void FindLowerUpperInPattern (out int lowerIndex, out int upperIndex, List< double > pattern, double value)
 
double GetEmission (string pollutant, double power, double speed, Helpers VehicleClass)
 
bool GetfcVals (string _fuelTypex, ref double _fCBr, ref double _fCHC, ref double _fCCO, ref double _fCCO2, Helpers VehicleClass)
 
double GetNormedEmission (string pollutant, double power, double speed, Helpers VehicleClass)
 
double GetPMaxNorm (double speed)
 
double GetPMaxNorm (double speed)
 
double GetPMaxNorm (double speed)
 
void InitializeInstanceFields ()
 
double Interpolate (double px, double p1, double p2, double e1, double e2)
 
double Interpolate (double px, double p1, double p2, double e1, double e2)
 
double Interpolate (double px, double p1, double p2, double e1, double e2)
 

Private Attributes

double _drivingPower
 
std::string _fuelType
 
string _fuelType
 
bool _heavyVehicle
 
double _normalizingPower
 
NormalizingType _normalizingType
 
double _ratedPower
 

Detailed Description

Definition at line 38 of file cpp/CEP.h.

Member Enumeration Documentation

◆ eNormalizingType

Enumerator
RatedPower 
DrivingPower 

Definition at line 248 of file V5/cs/CEP.cs.

◆ NormalizingType [1/2]

Enumerator
NormalizingType_RatedPower 
NormalizingType_DrivingPower 
RatedPower 
DrivingPower 

Definition at line 62 of file cpp/CEP.h.

◆ NormalizingType [2/2]

Enumerator
NormalizingType_RatedPower 
NormalizingType_DrivingPower 
RatedPower 
DrivingPower 

Definition at line 270 of file dll_code/CEP.cs.

Constructor & Destructor Documentation

◆ CEP() [1/5]

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 
)

◆ CEP() [2/5]

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,
List< double >  transmissionGearRatios,
double  auxPower,
double  ratedPower,
double  engineIdlingSpeed,
double  engineRatedSpeed,
double  effictiveWheelDiameter,
double  pNormV0,
double  pNormP0,
double  pNormV1,
double  pNormP1,
string  vehicelFuelType,
List< List< double >>  matrixFC,
List< string >  headerLinePollutants,
List< List< double >>  matrixPollutants,
List< List< double >>  matrixSpeedRotational,
List< List< double >>  normedDragTable,
double  idlingFC,
List< double >  idlingPollutants 
)
inline

◆ CEP() [3/5]

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,
double  auxPower,
double  ratedPower,
double  engineIdlingSpeed,
double  engineRatedSpeed,
double  effictiveWheelDiameter,
double  pNormV0,
double  pNormP0,
double  pNormV1,
double  pNormP1 
)
inlineprivate

◆ CEP() [4/5]

◆ CEP() [5/5]

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,
double  auxPower,
double  ratedPower,
double  engineIdlingSpeed,
double  engineRatedSpeed,
double  effictiveWheelDiameter,
double  pNormV0,
double  pNormP0,
double  pNormV1,
double  pNormP1 
)
inlineprivate

Member Function Documentation

◆ AddRangeCeps() [1/2]

static CEP PHEMlightdll.CEP.AddRangeCeps ( CEP[]  cps,
Helpers  Helper 
)
inlinestatic

◆ AddRangeCeps() [2/2]

◆ CalcEngPower() [1/3]

double PHEMlightdll::CEP::CalcEngPower ( double  power)

Definition at line 219 of file cpp/CEP.cpp.

References _powerPatternFC.

Referenced by PHEMlightdll.PHEMLight::CreateVehicleStateData().

Here is the caller graph for this function:

◆ CalcEngPower() [2/3]

double PHEMlightdll.CEP.CalcEngPower ( double  power)
inline

Definition at line 397 of file dll_code/CEP.cs.

References _powerPatternFC.

◆ CalcEngPower() [3/3]

double PHEMlightdll.CEP.CalcEngPower ( double  power)
inline

Definition at line 344 of file V5/cs/CEP.cs.

References _powerPatternFCvalues.

◆ CalcfCValMix()

bool PHEMlightdll.CEP.CalcfCValMix ( ref double  _fCBr,
ref double  _fCHC,
ref double  _fCCO,
ref double  _fCCO2,
Helpers  VehicleClass 
)
inlineprivate

Definition at line 563 of file V5/cs/CEP.cs.

References _FleetMix, and GetfcVals().

Referenced by GetCO2Emission().

Here is the caller graph for this function:

◆ CalcPower() [1/3]

double PHEMlightdll::CEP::CalcPower ( double  speed,
double  acc,
double  gradient 
)

◆ CalcPower() [2/3]

◆ CalcPower() [3/3]

◆ CalcWheelPower()

double PHEMlightdll.CEP.CalcWheelPower ( double  speed,
double  acc,
double  gradient 
)
inline

Definition at line 325 of file V5/cs/CEP.cs.

References _crossSectionalArea, _cWValue, _massVehicle, _resistanceF0, _resistanceF1, _resistanceF4, _vehicleLoading, _vehicleMassRot, PHEMlightdll::Constants.AIR_DENSITY_CONST, GetRotationalCoeffecient(), and PHEMlightdll::Constants.GRAVITY_CONST.

Referenced by PHEMlightdll.PHEMLight.CreateVehicleStateData().

Here is the caller graph for this function:

◆ CheckClass()

static bool PHEMlightdll.CEP.CheckClass ( CEP[]  cps)
inlinestatic

Definition at line 1158 of file V5/cs/CEP.cs.

Referenced by PHEMlightdll::CEPHandler.GetFleetCEP().

Here is the caller graph for this function:

◆ CreatePattern() [1/2]

static List<double> PHEMlightdll.CEP.CreatePattern ( double  min,
double  max,
double  increment 
)
inlinestatic

Definition at line 1010 of file dll_code/CEP.cs.

Referenced by AddRangeCeps().

Here is the caller graph for this function:

◆ CreatePattern() [2/2]

static List<double> PHEMlightdll.CEP.CreatePattern ( double  min,
double  max,
double  increment 
)
inlinestatic

Definition at line 1129 of file V5/cs/CEP.cs.

◆ FindLowerUpperInPattern() [1/3]

void PHEMlightdll::CEP::FindLowerUpperInPattern ( int &  lowerIndex,
int &  upperIndex,
std::vector< double > &  pattern,
double  value 
)
private

Definition at line 370 of file cpp/CEP.cpp.

Referenced by GetDecelCoast(), GetDragCoeffecient(), GetEmission(), GetGearCoeffecient(), GetNormedEmission(), and GetRotationalCoeffecient().

Here is the caller graph for this function:

◆ FindLowerUpperInPattern() [2/3]

void PHEMlightdll.CEP.FindLowerUpperInPattern ( out int  lowerIndex,
out int  upperIndex,
List< double >  pattern,
double  value 
)
inlineprivate

Definition at line 674 of file dll_code/CEP.cs.

◆ FindLowerUpperInPattern() [3/3]

void PHEMlightdll.CEP.FindLowerUpperInPattern ( out int  lowerIndex,
out int  upperIndex,
List< double >  pattern,
double  value 
)
inlineprivate

Definition at line 746 of file V5/cs/CEP.cs.

◆ GetAllEmission()

Dictionary<string, double> PHEMlightdll.CEP.GetAllEmission ( double  power,
double  speed,
Helpers  VehicleClass,
bool  SetZero = false 
)
inline

Definition at line 354 of file V5/cs/CEP.cs.

References _auxPower, _cepCurveFCvalues, _cepCurvePollutants, GetCO2Emission(), GetEmission(), PHEMlightdll::Helpers.pClass, RatedPower, and PHEMlightdll::Constants.strBEV.

Referenced by PHEMlightdll.PHEMLight.CreateVehicleStateData().

Here is the caller graph for this function:

◆ GetCO2Emission() [1/3]

double PHEMlightdll::CEP::GetCO2Emission ( double  _FC,
double  _CO,
double  _HC,
Helpers VehicleClass 
)

Definition at line 291 of file cpp/CEP.cpp.

References _fuelType, PHEMlightdll::Helpers::setErrMsg(), PHEMlightdll::Constants::strCNG, PHEMlightdll::Constants::strDiesel, PHEMlightdll::Constants::strGasoline, and PHEMlightdll::Constants::strLPG.

Referenced by HelpersPHEMlight::compute(), PHEMlightdll.PHEMLight::CreateVehicleStateData(), and GetAllEmission().

Here is the caller graph for this function:

◆ GetCO2Emission() [2/3]

double PHEMlightdll.CEP.GetCO2Emission ( double  _FC,
double  _CO,
double  _HC,
Helpers  VehicleClass 
)
inline

◆ GetCO2Emission() [3/3]

double PHEMlightdll.CEP.GetCO2Emission ( double  _FC,
double  _CO,
double  _HC,
Helpers  VehicleClass 
)
inline

Definition at line 538 of file V5/cs/CEP.cs.

References CalcfCValMix(), FuelType, and GetfcVals().

◆ GetDecelCoast() [1/3]

double PHEMlightdll::CEP::GetDecelCoast ( double  speed,
double  acc,
double  gradient 
)

◆ GetDecelCoast() [2/3]

◆ GetDecelCoast() [3/3]

◆ GetDragCoeffecient() [1/2]

double PHEMlightdll.CEP.GetDragCoeffecient ( double  nNorm)
inline

Definition at line 657 of file dll_code/CEP.cs.

References _dragNormTable, _nNormTable, FindLowerUpperInPattern(), and Interpolate().

◆ GetDragCoeffecient() [2/2]

double PHEMlightdll.CEP.GetDragCoeffecient ( double  nNorm)
inline

Definition at line 729 of file V5/cs/CEP.cs.

References _dragNormTable, _nNormTable, FindLowerUpperInPattern(), and Interpolate().

◆ getDrivingPower()

const double & PHEMlightdll::CEP::getDrivingPower ( ) const

Definition at line 192 of file cpp/CEP.cpp.

References _drivingPower.

◆ GetEmission() [1/3]

double PHEMlightdll::CEP::GetEmission ( const std::string &  pollutant,
double  power,
double  speed,
Helpers VehicleClass 
)

◆ GetEmission() [2/3]

◆ GetEmission() [3/3]

double PHEMlightdll.CEP.GetEmission ( string  pollutant,
double  power,
double  speed,
Helpers  VehicleClass 
)
inlineprivate

◆ GetfcVals()

bool PHEMlightdll.CEP.GetfcVals ( string  _fuelTypex,
ref double  _fCBr,
ref double  _fCHC,
ref double  _fCCO,
ref double  _fCCO2,
Helpers  VehicleClass 
)
inlineprivate

Definition at line 613 of file V5/cs/CEP.cs.

References PHEMlightdll::Helpers.ErrMsg, FuelType, PHEMlightdll::Constants.strCNG, PHEMlightdll::Constants.strDiesel, PHEMlightdll::Constants.strGasoline, and PHEMlightdll::Constants.strLPG.

Referenced by CalcfCValMix(), and GetCO2Emission().

Here is the caller graph for this function:

◆ getFuelType()

const std::string & PHEMlightdll::CEP::getFuelType ( ) const

Definition at line 172 of file cpp/CEP.cpp.

References _fuelType.

Referenced by HelpersPHEMlight::compute().

Here is the caller graph for this function:

◆ GetGearCoeffecient() [1/2]

double PHEMlightdll.CEP.GetGearCoeffecient ( double  speed)
inline

◆ GetGearCoeffecient() [2/2]

double PHEMlightdll.CEP.GetGearCoeffecient ( double  speed)
inline

◆ getHeavyVehicle()

const bool & PHEMlightdll::CEP::getHeavyVehicle ( ) const

Definition at line 168 of file cpp/CEP.cpp.

References _heavyVehicle.

◆ GetMaxAccel() [1/3]

double PHEMlightdll::CEP::GetMaxAccel ( double  speed,
double  gradient 
)

Definition at line 420 of file cpp/CEP.cpp.

References _massVehicle, _ratedPower, _vehicleLoading, _vehicleMassRot, CalcPower(), GetPMaxNorm(), and GetRotationalCoeffecient().

Referenced by PHEMlightdll.PHEMLight::CreateVehicleStateData(), and HelpersPHEMlight::getModifiedAccel().

Here is the caller graph for this function:

◆ GetMaxAccel() [2/3]

double PHEMlightdll.CEP.GetMaxAccel ( double  speed,
double  gradient 
)
inline

◆ GetMaxAccel() [3/3]

double PHEMlightdll.CEP.GetMaxAccel ( double  speed,
double  gradient,
bool  HBEV 
)
inline

◆ getNormalizingPower()

const double & PHEMlightdll::CEP::getNormalizingPower ( ) const

Definition at line 188 of file cpp/CEP.cpp.

References _normalizingPower.

Referenced by CEP().

Here is the caller graph for this function:

◆ getNormalizingTypeX()

const CEP::NormalizingType & PHEMlightdll::CEP::getNormalizingTypeX ( ) const

Definition at line 176 of file cpp/CEP.cpp.

References _normalizingType.

◆ GetNormedEmission() [1/2]

double PHEMlightdll.CEP.GetNormedEmission ( string  pollutant,
double  power,
double  speed,
Helpers  VehicleClass 
)
inline

◆ GetNormedEmission() [2/2]

double PHEMlightdll.CEP.GetNormedEmission ( string  pollutant,
double  power,
double  speed,
Helpers  VehicleClass 
)
inlineprivate

◆ GetPMaxNorm() [1/3]

double PHEMlightdll::CEP::GetPMaxNorm ( double  speed)
private

Definition at line 427 of file cpp/CEP.cpp.

References _pNormP0, _pNormP1, _pNormV0, _pNormV1, and Interpolate().

Referenced by GetMaxAccel().

Here is the caller graph for this function:

◆ GetPMaxNorm() [2/3]

double PHEMlightdll.CEP.GetPMaxNorm ( double  speed)
inlineprivate

Definition at line 746 of file dll_code/CEP.cs.

References _pNormP0, _pNormP1, _pNormV0, _pNormV1, and Interpolate().

◆ GetPMaxNorm() [3/3]

double PHEMlightdll.CEP.GetPMaxNorm ( double  speed)
inlineprivate

Definition at line 818 of file V5/cs/CEP.cs.

References _pNormP0, _pNormP1, _pNormV0, _pNormV1, and Interpolate().

◆ getRatedPower()

const double & PHEMlightdll::CEP::getRatedPower ( ) const

Definition at line 180 of file cpp/CEP.cpp.

References _ratedPower.

◆ GetRotationalCoeffecient() [1/3]

double PHEMlightdll::CEP::GetRotationalCoeffecient ( double  speed)

Definition at line 361 of file cpp/CEP.cpp.

References _speedCurveRotational, _speedPatternRotational, FindLowerUpperInPattern(), and Interpolate().

Referenced by CalcPower(), CalcWheelPower(), GetDecelCoast(), and GetMaxAccel().

Here is the caller graph for this function:

◆ GetRotationalCoeffecient() [2/3]

double PHEMlightdll.CEP.GetRotationalCoeffecient ( double  speed)
inline

◆ GetRotationalCoeffecient() [3/3]

double PHEMlightdll.CEP.GetRotationalCoeffecient ( double  speed)
inline

◆ InitializeInstanceFields()

void PHEMlightdll::CEP::InitializeInstanceFields ( )
private

Definition at line 440 of file cpp/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().

Here is the caller graph for this function:

◆ Interpolate() [1/3]

double PHEMlightdll::CEP::Interpolate ( double  px,
double  p1,
double  p2,
double  e1,
double  e2 
)
private

Definition at line 412 of file cpp/CEP.cpp.

Referenced by GetDecelCoast(), GetDragCoeffecient(), GetEmission(), GetGearCoeffecient(), GetNormedEmission(), GetPMaxNorm(), and GetRotationalCoeffecient().

Here is the caller graph for this function:

◆ Interpolate() [2/3]

double PHEMlightdll.CEP.Interpolate ( double  px,
double  p1,
double  p2,
double  e1,
double  e2 
)
inlineprivate

Definition at line 726 of file dll_code/CEP.cs.

◆ Interpolate() [3/3]

double PHEMlightdll.CEP.Interpolate ( double  px,
double  p1,
double  p2,
double  e1,
double  e2 
)
inlineprivate

Definition at line 798 of file V5/cs/CEP.cs.

◆ operator*() [1/2]

static CEP PHEMlightdll.CEP.operator* ( CEP  cp1,
double  d 
)
inlinestatic

◆ operator*() [2/2]

static CEP PHEMlightdll.CEP.operator* ( CEP  cp1,
double  d 
)
inlinestatic

◆ setDrivingPower()

void PHEMlightdll::CEP::setDrivingPower ( const double &  value)

Definition at line 196 of file cpp/CEP.cpp.

References _drivingPower.

◆ setRatedPower()

void PHEMlightdll::CEP::setRatedPower ( const double &  value)

Definition at line 184 of file cpp/CEP.cpp.

References _ratedPower.

Field Documentation

◆ _auxPower

double PHEMlightdll::CEP::_auxPower
protected

Definition at line 102 of file cpp/CEP.h.

Referenced by CalcPower(), CEP(), GetAllEmission(), and InitializeInstanceFields().

◆ _axleRatio

double PHEMlightdll::CEP::_axleRatio
protected

Definition at line 101 of file cpp/CEP.h.

Referenced by CEP(), GetDecelCoast(), and InitializeInstanceFields().

◆ _cepCurveFC [1/2]

std::vector<double> PHEMlightdll::CEP::_cepCurveFC
protected

Definition at line 118 of file cpp/CEP.h.

Referenced by CEP(), and GetEmission().

◆ _cepCurveFC [2/2]

List<double> PHEMlightdll.CEP._cepCurveFC
protected

Definition at line 356 of file dll_code/CEP.cs.

◆ _cepCurveFCvalues

Dictionary<string, List<double> > PHEMlightdll.CEP._cepCurveFCvalues
protected

Definition at line 289 of file V5/cs/CEP.cs.

Referenced by CEP(), GetAllEmission(), GetEmission(), and GetNormedEmission().

◆ _cepCurvePollutants [1/2]

Dictionary< string, List< double > > PHEMlightdll::CEP::_cepCurvePollutants
protected

Definition at line 122 of file cpp/CEP.h.

Referenced by CEP(), GetAllEmission(), GetEmission(), and GetNormedEmission().

◆ _cepCurvePollutants [2/2]

Dictionary<string, List<double> > PHEMlightdll.CEP._cepCurvePollutants
protected

Definition at line 360 of file dll_code/CEP.cs.

◆ _cepNormalizedCurvePollutants [1/2]

Dictionary< string, List< double > > PHEMlightdll::CEP::_cepNormalizedCurvePollutants
protected

Definition at line 123 of file cpp/CEP.h.

Referenced by CEP(), and GetNormedEmission().

◆ _cepNormalizedCurvePollutants [2/2]

Dictionary<string, List<double> > PHEMlightdll.CEP._cepNormalizedCurvePollutants
protected

Definition at line 361 of file dll_code/CEP.cs.

◆ _crossSectionalArea

double PHEMlightdll::CEP::_crossSectionalArea
protected

Definition at line 94 of file cpp/CEP.h.

Referenced by CalcPower(), CalcWheelPower(), CEP(), GetDecelCoast(), and InitializeInstanceFields().

◆ _cWValue

double PHEMlightdll::CEP::_cWValue
protected

Definition at line 95 of file cpp/CEP.h.

Referenced by CalcPower(), CalcWheelPower(), CEP(), GetDecelCoast(), and InitializeInstanceFields().

◆ _dragNormTable [1/2]

List< double > PHEMlightdll::CEP::_dragNormTable
protected

Definition at line 128 of file cpp/CEP.h.

Referenced by CEP(), GetDecelCoast(), and GetDragCoeffecient().

◆ _dragNormTable [2/2]

List<double> PHEMlightdll.CEP._dragNormTable
protected

Definition at line 366 of file dll_code/CEP.cs.

◆ _drivingPower

double PHEMlightdll::CEP::_drivingPower
private

Definition at line 83 of file cpp/CEP.h.

Referenced by CEP(), getDrivingPower(), InitializeInstanceFields(), and setDrivingPower().

◆ _effectiveWheelDiameter

double PHEMlightdll::CEP::_effectiveWheelDiameter
protected

Definition at line 110 of file cpp/CEP.h.

Referenced by CEP(), GetDecelCoast(), and InitializeInstanceFields().

◆ _engineIdlingSpeed

double PHEMlightdll::CEP::_engineIdlingSpeed
protected

Definition at line 109 of file cpp/CEP.h.

Referenced by CEP(), GetDecelCoast(), and InitializeInstanceFields().

◆ _engineRatedSpeed

double PHEMlightdll::CEP::_engineRatedSpeed
protected

Definition at line 108 of file cpp/CEP.h.

Referenced by CEP(), GetDecelCoast(), and InitializeInstanceFields().

◆ _FleetMix

Dictionary<string, double> PHEMlightdll.CEP._FleetMix
protected

Definition at line 295 of file V5/cs/CEP.cs.

Referenced by CalcfCValMix(), and CEP().

◆ _fuelType [1/2]

std::string PHEMlightdll::CEP::_fuelType
private

Definition at line 57 of file cpp/CEP.h.

Referenced by CEP(), GetCO2Emission(), GetEmission(), and getFuelType().

◆ _fuelType [2/2]

string PHEMlightdll.CEP._fuelType
private

Definition at line 259 of file dll_code/CEP.cs.

◆ _gearTransmissionCurve [1/2]

List< double > PHEMlightdll::CEP::_gearTransmissionCurve
protected

Definition at line 120 of file cpp/CEP.h.

Referenced by CEP(), GetDecelCoast(), and GetGearCoeffecient().

◆ _gearTransmissionCurve [2/2]

List<double> PHEMlightdll.CEP._gearTransmissionCurve
protected

Definition at line 358 of file dll_code/CEP.cs.

◆ _heavyVehicle

bool PHEMlightdll::CEP::_heavyVehicle
private

Definition at line 52 of file cpp/CEP.h.

Referenced by CEP(), getHeavyVehicle(), and InitializeInstanceFields().

◆ _idlingValueFC

double PHEMlightdll::CEP::_idlingValueFC
protected

Definition at line 124 of file cpp/CEP.h.

Referenced by CEP(), GetEmission(), and InitializeInstanceFields().

◆ _idlingValueFCvalues

Dictionary<string, double> PHEMlightdll.CEP._idlingValueFCvalues
protected

Definition at line 296 of file V5/cs/CEP.cs.

Referenced by CEP(), and GetEmission().

◆ _idlingValuesPollutants [1/2]

Dictionary< string, double > PHEMlightdll::CEP::_idlingValuesPollutants
protected

Definition at line 125 of file cpp/CEP.h.

Referenced by CEP(), and GetEmission().

◆ _idlingValuesPollutants [2/2]

Dictionary<string, double> PHEMlightdll.CEP._idlingValuesPollutants
protected

Definition at line 363 of file dll_code/CEP.cs.

◆ _massVehicle

double PHEMlightdll::CEP::_massVehicle
protected

◆ _nNormTable [1/2]

List< double > PHEMlightdll::CEP::_nNormTable
protected

Definition at line 127 of file cpp/CEP.h.

Referenced by CEP(), GetDecelCoast(), and GetDragCoeffecient().

◆ _nNormTable [2/2]

List<double> PHEMlightdll.CEP._nNormTable
protected

Definition at line 365 of file dll_code/CEP.cs.

◆ _normailzedPowerPatternPollutants [1/2]

List< double > PHEMlightdll::CEP::_normailzedPowerPatternPollutants
protected

Definition at line 115 of file cpp/CEP.h.

Referenced by CEP(), and GetNormedEmission().

◆ _normailzedPowerPatternPollutants [2/2]

List<double> PHEMlightdll.CEP._normailzedPowerPatternPollutants
protected

Definition at line 353 of file dll_code/CEP.cs.

◆ _normalizedPowerPatternFC [1/2]

std::vector<double> PHEMlightdll::CEP::_normalizedPowerPatternFC
protected

Definition at line 114 of file cpp/CEP.h.

Referenced by CEP(), and GetNormedEmission().

◆ _normalizedPowerPatternFC [2/2]

List<double> PHEMlightdll.CEP._normalizedPowerPatternFC
protected

Definition at line 352 of file dll_code/CEP.cs.

◆ _normalizedPowerPatternFCvalues

List<double> PHEMlightdll.CEP._normalizedPowerPatternFCvalues
protected

Definition at line 285 of file V5/cs/CEP.cs.

Referenced by CEP(), and GetNormedEmission().

◆ _normalizingPower

double PHEMlightdll::CEP::_normalizingPower
private

Definition at line 78 of file cpp/CEP.h.

Referenced by CEP(), getNormalizingPower(), and InitializeInstanceFields().

◆ _normalizingType

NormalizingType PHEMlightdll::CEP::_normalizingType
private

Definition at line 67 of file cpp/CEP.h.

Referenced by CEP(), getNormalizingTypeX(), and InitializeInstanceFields().

◆ _normedCepCurveFC [1/2]

std::vector<double> PHEMlightdll::CEP::_normedCepCurveFC
protected

Definition at line 119 of file cpp/CEP.h.

Referenced by CEP(), and GetNormedEmission().

◆ _normedCepCurveFC [2/2]

List<double> PHEMlightdll.CEP._normedCepCurveFC
protected

Definition at line 357 of file dll_code/CEP.cs.

◆ _normedCepCurveFCvalues

Dictionary<string, List<double> > PHEMlightdll.CEP._normedCepCurveFCvalues
protected

Definition at line 290 of file V5/cs/CEP.cs.

Referenced by CEP(), and GetNormedEmission().

◆ _pNormP0

double PHEMlightdll::CEP::_pNormP0
protected

Definition at line 104 of file cpp/CEP.h.

Referenced by CEP(), GetPMaxNorm(), and InitializeInstanceFields().

◆ _pNormP1

double PHEMlightdll::CEP::_pNormP1
protected

Definition at line 106 of file cpp/CEP.h.

Referenced by CEP(), GetPMaxNorm(), and InitializeInstanceFields().

◆ _pNormV0

double PHEMlightdll::CEP::_pNormV0
protected

Definition at line 103 of file cpp/CEP.h.

Referenced by CEP(), GetPMaxNorm(), and InitializeInstanceFields().

◆ _pNormV1

double PHEMlightdll::CEP::_pNormV1
protected

Definition at line 105 of file cpp/CEP.h.

Referenced by CEP(), GetPMaxNorm(), and InitializeInstanceFields().

◆ _powerPatternFC [1/2]

std::vector<double> PHEMlightdll::CEP::_powerPatternFC
protected

Definition at line 113 of file cpp/CEP.h.

Referenced by CalcEngPower(), CEP(), and GetEmission().

◆ _powerPatternFC [2/2]

List<double> PHEMlightdll.CEP._powerPatternFC
protected

Definition at line 351 of file dll_code/CEP.cs.

◆ _powerPatternFCvalues

List<double> PHEMlightdll.CEP._powerPatternFCvalues
protected

Definition at line 284 of file V5/cs/CEP.cs.

Referenced by CalcEngPower(), CEP(), and GetEmission().

◆ _powerPatternPollutants [1/2]

List< double > PHEMlightdll::CEP::_powerPatternPollutants
protected

Definition at line 116 of file cpp/CEP.h.

Referenced by CEP(), and GetEmission().

◆ _powerPatternPollutants [2/2]

List<double> PHEMlightdll.CEP._powerPatternPollutants
protected

Definition at line 354 of file dll_code/CEP.cs.

◆ _ratedPower

double PHEMlightdll::CEP::_ratedPower
private

◆ _resistanceF0

double PHEMlightdll::CEP::_resistanceF0
protected

Definition at line 96 of file cpp/CEP.h.

Referenced by CalcPower(), CalcWheelPower(), CEP(), GetDecelCoast(), and InitializeInstanceFields().

◆ _resistanceF1

double PHEMlightdll::CEP::_resistanceF1
protected

Definition at line 97 of file cpp/CEP.h.

Referenced by CalcPower(), CalcWheelPower(), CEP(), GetDecelCoast(), and InitializeInstanceFields().

◆ _resistanceF2

double PHEMlightdll::CEP::_resistanceF2
protected

Definition at line 98 of file cpp/CEP.h.

Referenced by CEP(), GetDecelCoast(), and InitializeInstanceFields().

◆ _resistanceF3

double PHEMlightdll::CEP::_resistanceF3
protected

Definition at line 99 of file cpp/CEP.h.

Referenced by CEP(), GetDecelCoast(), and InitializeInstanceFields().

◆ _resistanceF4

double PHEMlightdll::CEP::_resistanceF4
protected

Definition at line 100 of file cpp/CEP.h.

Referenced by CalcPower(), CalcWheelPower(), CEP(), GetDecelCoast(), and InitializeInstanceFields().

◆ _speedCurveRotational [1/2]

List< double > PHEMlightdll::CEP::_speedCurveRotational
protected

Definition at line 121 of file cpp/CEP.h.

Referenced by CEP(), and GetRotationalCoeffecient().

◆ _speedCurveRotational [2/2]

List<double> PHEMlightdll.CEP._speedCurveRotational
protected

Definition at line 359 of file dll_code/CEP.cs.

◆ _speedPatternRotational [1/2]

List< double > PHEMlightdll::CEP::_speedPatternRotational
protected

Definition at line 112 of file cpp/CEP.h.

Referenced by CEP(), GetDecelCoast(), GetGearCoeffecient(), and GetRotationalCoeffecient().

◆ _speedPatternRotational [2/2]

List<double> PHEMlightdll.CEP._speedPatternRotational
protected

Definition at line 350 of file dll_code/CEP.cs.

◆ _vehicleLoading

double PHEMlightdll::CEP::_vehicleLoading
protected

◆ _vehicleMassRot

double PHEMlightdll::CEP::_vehicleMassRot
protected

Definition at line 93 of file cpp/CEP.h.

Referenced by CalcPower(), CalcWheelPower(), CEP(), GetMaxAccel(), and InitializeInstanceFields().

Property Documentation

◆ CalcType

string PHEMlightdll.CEP.CalcType
getprivate set

Definition at line 245 of file V5/cs/CEP.cs.

Referenced by CEP().

◆ DrivingPower

double PHEMlightdll.CEP.DrivingPower
getset

Definition at line 313 of file dll_code/CEP.cs.

Referenced by CEP(), and PHEMlightdll.PHEMLight.CreateVehicleStateData().

◆ FuelType

string PHEMlightdll.CEP.FuelType
getprivate set

Definition at line 260 of file dll_code/CEP.cs.

Referenced by CEP(), GetCO2Emission(), and GetfcVals().

◆ HeavyVehicle

bool PHEMlightdll.CEP.HeavyVehicle
get

Definition at line 249 of file dll_code/CEP.cs.

Referenced by CEP().

◆ NormalizingPower

double PHEMlightdll.CEP.NormalizingPower
getprivate set

Definition at line 302 of file dll_code/CEP.cs.

Referenced by CEP().

◆ NormalizingType

Definition at line 254 of file V5/cs/CEP.cs.

◆ NormalizingTypeX

NormalizingType PHEMlightdll.CEP.NormalizingTypeX
get

Definition at line 276 of file dll_code/CEP.cs.

◆ RatedPower

double PHEMlightdll.CEP.RatedPower
getset

The documentation for this class was generated from the following files: