86 double vehicleMass,
double vehicleLoading,
double vehicleMassRot,
87 double crossArea,
double cdValue,
88 double f0,
double f1,
double f2,
double f3,
double f4,
89 double ratedPower,
double pNormV0,
double pNormP0,
double pNormV1,
double pNormP1,
90 double axleRatio,
double engineIdlingSpeed,
double engineRatedSpeed,
double effectiveWheelDiameter,
92 const std::string& vehicleFuelType,
93 const std::vector< std::vector<double> >& matrixFC,
94 const std::vector<std::string>& headerLinePollutants,
95 const std::vector< std::vector<double> >& matrixPollutants,
96 const std::vector< std::vector<double> >& matrixSpeedRotational,
97 const std::vector< std::vector<double> >& normedDragTable,
98 const std::vector<double>& idlingValuesPollutants);
111 double CalcPower(
double v,
double a,
double slope,
double vehicleLoading = 0)
const;
122 double GetMaxAccel(
double v,
double a,
double gradient,
double vehicleLoading = 0)
const;
129 double GetEmission(
const std::string& pollutantIdentifier,
double power,
double speed,
bool normalized =
false)
const;
130 double GetDecelCoast(
double speed,
double acc,
double gradient,
double vehicleLoading)
const;
243 double Interpolate(
double px,
double p1,
double p2,
double e1,
double e2)
const;
251 void FindLowerUpperInPattern(
int& lowerIndex,
int& upperIndex,
const std::vector<double>& pattern,
double value)
const;
double GetRatedPower() const
Getter function to recieve vehicle data from CEP.
Data Handler for a single CEP emission data set.
double GetVehicleLoading() const
Getter function to recieve vehicle data from CEP.
std::vector< double > _powerPatternFC
void FindLowerUpperInPattern(int &lowerIndex, int &upperIndex, const std::vector< double > &pattern, double value) const
Finds bounding upper and lower index in pattern for value.
std::vector< double > _normedCepCurveFC
double GetCdValue() const
Getter function to recieve vehicle data from CEP.
double GetResistanceF3() const
Getter function to recieve vehicle data from CEP.
SUMOEmissionClass GetEmissionClass() const
Getter function to recieve vehicle data from CEP.
PHEMCEP(bool heavyVehicel, SUMOEmissionClass emissionClass, const std::string &emissionClassIdentifier, double vehicleMass, double vehicleLoading, double vehicleMassRot, double crossArea, double cdValue, double f0, double f1, double f2, double f3, double f4, double ratedPower, double pNormV0, double pNormP0, double pNormV1, double pNormP1, double axleRatio, double engineIdlingSpeed, double engineRatedSpeed, double effectiveWheelDiameter, double idlingFC, const std::string &vehicleFuelType, const std::vector< std::vector< double > > &matrixFC, const std::vector< std::string > &headerLinePollutants, const std::vector< std::vector< double > > &matrixPollutants, const std::vector< std::vector< double > > &matrixSpeedRotational, const std::vector< std::vector< double > > &normedDragTable, const std::vector< double > &idlingValuesPollutants)
std::vector< double > _speedCurveRotational
double _massVehicle
vehicle mass
double _resistanceF1
Rolling resistance f1.
double GetGearCoeffecient(double speed) const
std::string _vehicleFuelType
double GetMassVehicle() const
Getter function to recieve vehicle data from CEP.
std::string GetVehicleFuelType() const
Getter function to recieve vehicle data from CEP.
double GetCrossSectionalArea() const
Getter function to recieve vehicle data from CEP.
double _pNormP0
Step functions parameter for maximum rated power.
double _pNormV1
Step functions parameter for maximum rated power.
double _resistanceF3
Rolling resistance f3.
double _massRot
rotational mass of vehicle
std::vector< double > _gearTransmissionCurve
double _pNormV0
Step functions parameter for maximum rated power.
std::vector< double > _nNormTable
double _crossSectionalArea
crosssectional area of vehicle
double _vehicleLoading
vehicle loading
double _pNormP1
Step functions parameter for maximum rated power.
std::vector< double > _speedPatternRotational
double GetRotationalCoeffecient(double speed) const
Calculates rotational index for speed.
double _resistanceF4
Rolling resistance f4.
double _engineIdlingSpeed
double GetResistanceF1() const
Getter function to recieve vehicle data from CEP.
double _resistanceF0
Rolling resistance f0.
std::vector< double > _normailzedPowerPatternPollutants
std::vector< double > _cepCurveFC
double GetPMaxNorm(double speed) const
Calculates maximum available rated power for speed.
StringBijection< std::vector< double > > _normalizedCepCurvePollutants
int _sizeOfPatternPollutants
double GetResistanceF0() const
Getter function to recieve vehicle data from CEP.
double GetMaxAccel(double v, double a, double gradient, double vehicleLoading=0) const
Returns the maximum accelaration for a vehicle at state v,a, slope and loading.
std::vector< double > _powerPatternPollutants
double CalcPower(double v, double a, double slope, double vehicleLoading=0) const
Returns the power of used for a vehicle at state v,a, slope and loading.
std::vector< double > _normalizedPowerPatternFC
StringBijection< double > _idlingValuesPollutants
double Interpolate(double px, double p1, double p2, double e1, double e2) const
Interpolates emission linearly between two known power-emission pairs.
double GetResistanceF2() const
Getter function to recieve vehicle data from CEP.
double _ratedPower
rated power of vehicle
StringBijection< std::vector< double > > _cepCurvePollutants
double _effictiveWheelDiameter
double GetDragCoeffecient(double nNorm) const
double GetDecelCoast(double speed, double acc, double gradient, double vehicleLoading) const
double GetMassRot() const
Getter function to recieve vehicle data from CEP.
SUMOEmissionClass _emissionClass
PHEM emission class of vehicle.
double GetEmission(const std::string &pollutantIdentifier, double power, double speed, bool normalized=false) const
Returns a emission measure for power[kW] level.
double _resistanceF2
Rolling resistance f2.
NormalizingType _normalizingType
std::vector< double > _dragNormTable
double GetResistanceF4() const
Getter function to recieve vehicle data from CEP.