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;
Data Handler for a single CEP emission data set.
std::vector< double > _powerPatternFC
double GetCdValue() const
Getter function to recieve vehicle data from CEP.
std::vector< double > _normedCepCurveFC
double GetPMaxNorm(double speed) const
Calculates maximum available rated power for speed.
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 GetResistanceF1() const
Getter function to recieve vehicle data from CEP.
double _massVehicle
vehicle mass
double _resistanceF1
Rolling resistance f1.
std::string _vehicleFuelType
double GetMassRot() const
Getter function to recieve vehicle data from CEP.
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.
void FindLowerUpperInPattern(int &lowerIndex, int &upperIndex, const std::vector< double > &pattern, double value) const
Finds bounding upper and lower index in pattern for value.
double GetResistanceF3() 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 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.
double GetEmission(const std::string &pollutantIdentifier, double power, double speed, bool normalized=false) const
Returns a emission measure for power[kW] level.
double GetCrossSectionalArea() const
Getter function to recieve vehicle data from CEP.
double GetDecelCoast(double speed, double acc, double gradient, double vehicleLoading) const
double _resistanceF4
Rolling resistance f4.
double GetVehicleLoading() const
Getter function to recieve vehicle data from CEP.
SUMOEmissionClass GetEmissionClass() const
Getter function to recieve vehicle data from CEP.
double _engineIdlingSpeed
const std::string & GetVehicleFuelType() const
Getter function to recieve vehicle data from CEP.
double _resistanceF0
Rolling resistance f0.
double GetRatedPower() const
Getter function to recieve vehicle data from CEP.
double GetResistanceF2() const
Getter function to recieve vehicle data from CEP.
std::vector< double > _normailzedPowerPatternPollutants
std::vector< double > _cepCurveFC
StringBijection< std::vector< double > > _normalizedCepCurvePollutants
int _sizeOfPatternPollutants
double GetResistanceF0() const
Getter function to recieve vehicle data from CEP.
std::vector< double > _powerPatternPollutants
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 _ratedPower
rated power of vehicle
StringBijection< std::vector< double > > _cepCurvePollutants
double GetGearCoeffecient(double speed) const
double _effictiveWheelDiameter
double GetResistanceF4() const
Getter function to recieve vehicle data from CEP.
SUMOEmissionClass _emissionClass
PHEM emission class of vehicle.
double GetDragCoeffecient(double nNorm) const
double GetMassVehicle() const
Getter function to recieve vehicle data from CEP.
double GetRotationalCoeffecient(double speed) const
Calculates rotational index for speed.
double _resistanceF2
Rolling resistance f2.
NormalizingType _normalizingType
std::vector< double > _dragNormTable