Eclipse SUMO - Simulation of Urban MObility
|
This helper class allows the PollutantsInterface to load and use different MMPEVEMs. More...
#include <HelpersMMPEVEM.h>
Public Member Functions | |
void | addAllClassesInto (std::vector< SUMOEmissionClass > &list) const |
Add all known emission classes of this model to the given container. | |
double | compute (const SUMOEmissionClass, const PollutantsInterface::EmissionType e, const double v, const double a, const double slope, const EnergyParams *ptr_energyParams) const |
Compute the amount of emitted pollutants for an emission class in a given state. | |
virtual SUMOEmissionClass | getClassByName (const std::string &eClass, const SUMOVehicleClass vc) |
Returns the emission class associated with the given name, aliases are possible If this method is asked for the "unknown" class it should return the default (possibly depending on the given vehicle class). The class name is case insensitive. | |
const std::string | getClassName (const SUMOEmissionClass c) const |
Returns the complete name of the emission class including the model. | |
virtual double | getCoastingDecel (const SUMOEmissionClass c, const double v, const double a, const double slope, const EnergyParams *param) const |
Returns the maximum deceleration value (as a negative number), which can still be considered as non-braking. Default implementation returns always zero. | |
std::string | getFuel (const SUMOEmissionClass) const |
Returns the fuel type described by this emission class as described in the Amitran interface (Gasoline, Diesel, ...) | |
virtual double | getModifiedAccel (const SUMOEmissionClass c, const double v, const double a, const double slope, const EnergyParams *param) const |
Returns the adapted acceleration value, useful for comparing with external PHEMlight references. Default implementation returns always the input accel. | |
const std::string & | getName () const |
Returns the name of the model. | |
double | getWeight (const SUMOEmissionClass) const |
Returns a reference weight in kg described by this emission class This implementation returns the default mass for this model. | |
HelpersMMPEVEM () | |
Constructor. | |
bool | includesClass (const SUMOEmissionClass c) const |
virtual bool | isSilent (const SUMOEmissionClass c) |
Returns whether the class denotes a silent vehicle for interfacing with the noise model. By default the first class in each model is the silent class. | |
Methods for Amitran interfaces | |
virtual SUMOEmissionClass | getClass (const SUMOEmissionClass base, const std::string &vClass, const std::string &fuel, const std::string &eClass, const double weight) const |
Returns the emission class described by the given parameters. The base is used to determine the model to use and as default return values. Default implementation returns always base. | |
virtual std::string | getAmitranVehicleClass (const SUMOEmissionClass c) const |
Returns the vehicle class described by this emission class as described in the Amitran interface (Passenger, ...) Default implementation returns always "Passenger". | |
virtual int | getEuroClass (const SUMOEmissionClass c) const |
Returns the Euro emission class described by this emission class as described in the Amitran interface (0, ..., 6) Default implementation returns always 0. | |
Protected Attributes | |
const int | myBaseIndex |
the starting index for classes of this model | |
StringBijection< SUMOEmissionClass > | myEmissionClassStrings |
Mapping between emission class names and integer representations. | |
const std::string | myName |
the name of the model | |
bool | myVolumetricFuel |
return fuel consumption in l instead of mg | |
Static Protected Attributes | |
static const double | ZERO_SPEED_ACCURACY = .5 |
the lowest speed which allows reliable coasting calculations | |
Static Private Attributes | |
static const int | MMPEVEM_BASE = 5 << 16 |
This helper class allows the PollutantsInterface to load and use different MMPEVEMs.
Definition at line 43 of file HelpersMMPEVEM.h.
HelpersMMPEVEM::HelpersMMPEVEM | ( | ) |
Constructor.
Definition at line 171 of file HelpersMMPEVEM.cpp.
|
inherited |
Add all known emission classes of this model to the given container.
[in] | list | the vector to add to |
Definition at line 213 of file PollutantsInterface.cpp.
Referenced by PollutantsInterface::getAllClasses(), and PollutantsInterface::getAllClassesStr().
|
virtual |
Compute the amount of emitted pollutants for an emission class in a given state.
This method returns 0 for all emission types but electric power consumption.
[in] | c | An emission class |
[in] | e | An emission type |
[in] | v | Current vehicle velocity [m/s] |
[in] | a | Current acceleration of the vehicle [m/s^2] |
[in] | slope | Slope of the road at the vehicle's current position [deg] |
This method returns 0 for all emission types but electric power consumption.
[in] | c | An emission class |
[in] | e | An emission type |
[in] | v | Current vehicle velocity [m/s] |
[in] | a | Current acceleration of the vehicle [m/s^2] |
[in] | slope | Slope of the road at the vehicle's current position [deg] |
[in] | ptr_energyParams | Vehicle parameters |
Reimplemented from PollutantsInterface::Helper.
Definition at line 192 of file HelpersMMPEVEM.cpp.
References calcPowerConsumption(), PollutantsInterface::ELEC, EnergyParams::getCharacteristicMap(), EnergyParams::getDoubleOptional(), EnergyParams::getTotalMass(), getWeight(), SUMO_ATTR_AIRDRAGCOEFFICIENT, SUMO_ATTR_CONSTANTPOWERINTAKE, SUMO_ATTR_FRONTSURFACEAREA, SUMO_ATTR_GEAREFFICIENCY, SUMO_ATTR_GEARRATIO, SUMO_ATTR_INTERNALBATTERYRESISTANCE, SUMO_ATTR_INTERNALMOMENTOFINERTIA, SUMO_ATTR_MAXIMUMPOWER, SUMO_ATTR_MAXIMUMRECUPERATIONPOWER, SUMO_ATTR_MAXIMUMRECUPERATIONTORQUE, SUMO_ATTR_MAXIMUMTORQUE, SUMO_ATTR_NOMINALBATTERYVOLTAGE, SUMO_ATTR_POWERLOSSMAP, SUMO_ATTR_ROLLDRAGCOEFFICIENT, SUMO_ATTR_WHEELRADIUS, and TS.
|
virtualinherited |
Returns the vehicle class described by this emission class as described in the Amitran interface (Passenger, ...) Default implementation returns always "Passenger".
[in] | c | the emission class |
Reimplemented in HelpersHBEFA3, HelpersHBEFA4, and HelpersPHEMlight.
Definition at line 146 of file PollutantsInterface.cpp.
References UNUSED_PARAMETER.
Referenced by PollutantsInterface::getAmitranVehicleClass().
|
virtualinherited |
Returns the emission class described by the given parameters. The base is used to determine the model to use and as default return values. Default implementation returns always base.
[in] | base | the base class giving the model and the default |
[in] | vClass | the vehicle class as described in the Amitran interface (Passenger, ...) |
[in] | fuel | the fuel type as described in the Amitran interface (Gasoline, Diesel, ...) |
[in] | eClass | the emission class as described in the Amitran interface (Euro0, ...) |
[in] | weight | the vehicle weight in kg as described in the Amitran interface |
Reimplemented in HelpersHBEFA3, HelpersHBEFA4, and HelpersPHEMlight.
Definition at line 136 of file PollutantsInterface.cpp.
References UNUSED_PARAMETER.
Referenced by PollutantsInterface::getClass().
|
virtualinherited |
Returns the emission class associated with the given name, aliases are possible If this method is asked for the "unknown" class it should return the default (possibly depending on the given vehicle class). The class name is case insensitive.
[in] | eClass | the name of the emission class (string after the '/' in the emission class attribute) |
[in] | vc | the vehicle class to use when determining default class |
Reimplemented in HelpersPHEMlight, and HelpersPHEMlight5.
Definition at line 113 of file PollutantsInterface.cpp.
References OptionsCont::exists(), OptionsCont::getBool(), OptionsCont::getOptions(), StringUtils::to_lower_case(), and UNUSED_PARAMETER.
Referenced by PollutantsInterface::getClassByName().
|
inherited |
Returns the complete name of the emission class including the model.
[in] | c | the emission class |
Definition at line 124 of file PollutantsInterface.cpp.
Referenced by PollutantsInterface::getName().
|
virtualinherited |
Returns the maximum deceleration value (as a negative number), which can still be considered as non-braking. Default implementation returns always zero.
[in] | c | the emission class |
[in] | v | the speed value |
[in] | a | the acceleration value |
[in] | slope | The road's slope at vehicle's position [deg] |
[in] | param | parameter of the emission model affecting the computation |
Reimplemented in HelpersPHEMlight, and HelpersPHEMlight5.
Definition at line 196 of file PollutantsInterface.cpp.
References PollutantsInterface::getCoastingDecel(), EnergyParams::getDefault(), EnergyParams::getDouble(), PHEMlightdllV5::Constants::GRAVITY_CONST, MIN2(), PHEMlightdllV5::Constants::SPEED_DCEL_MIN, SUMO_ATTR_FRONTSURFACEAREA, and SUMO_ATTR_MASS.
Referenced by HelpersHBEFA::compute(), HelpersHBEFA3::compute(), HelpersHBEFA4::compute(), and PollutantsInterface::getCoastingDecel().
|
virtualinherited |
Returns the Euro emission class described by this emission class as described in the Amitran interface (0, ..., 6) Default implementation returns always 0.
[in] | c | the emission class |
Reimplemented in HelpersHBEFA3, HelpersHBEFA4, and HelpersPHEMlight.
Definition at line 160 of file PollutantsInterface.cpp.
References UNUSED_PARAMETER.
Referenced by PollutantsInterface::getEuroClass().
|
inlinevirtual |
Returns the fuel type described by this emission class as described in the Amitran interface (Gasoline, Diesel, ...)
[in] | c | the emission class |
Reimplemented from PollutantsInterface::Helper.
Definition at line 58 of file HelpersMMPEVEM.h.
|
virtualinherited |
Returns the adapted acceleration value, useful for comparing with external PHEMlight references. Default implementation returns always the input accel.
[in] | c | the emission class |
[in] | v | the speed value |
[in] | a | the acceleration value |
[in] | slope | The road's slope at vehicle's position [deg] |
Reimplemented in HelpersPHEMlight, and HelpersPHEMlight5.
Definition at line 186 of file PollutantsInterface.cpp.
References UNUSED_PARAMETER.
Referenced by PollutantsInterface::getModifiedAccel().
|
inherited |
Returns the name of the model.
Definition at line 107 of file PollutantsInterface.cpp.
|
inlinevirtual |
Returns a reference weight in kg described by this emission class This implementation returns the default mass for this model.
[in] | c | the emission class |
Reimplemented from PollutantsInterface::Helper.
Definition at line 67 of file HelpersMMPEVEM.h.
Referenced by compute().
|
inherited |
Definition at line 219 of file PollutantsInterface.cpp.
|
virtualinherited |
Returns whether the class denotes a silent vehicle for interfacing with the noise model. By default the first class in each model is the silent class.
[in] | c | the emission class |
Definition at line 130 of file PollutantsInterface.cpp.
References PollutantsInterface::HEAVY_BIT.
Referenced by PollutantsInterface::isSilent().
|
staticprivate |
Definition at line 45 of file HelpersMMPEVEM.h.
|
protectedinherited |
the starting index for classes of this model
Definition at line 228 of file PollutantsInterface.h.
|
protectedinherited |
Mapping between emission class names and integer representations.
Definition at line 234 of file PollutantsInterface.h.
Referenced by HelpersHBEFA3::getAmitranVehicleClass(), HelpersHBEFA4::getAmitranVehicleClass(), HelpersPHEMlight::getAmitranVehicleClass(), HelpersHBEFA3::getClass(), HelpersHBEFA4::getClass(), HelpersPHEMlight::getClass(), HelpersPHEMlight::getClassByName(), HelpersPHEMlight5::getClassByName(), HelpersHBEFA3::getEuroClass(), HelpersHBEFA4::getEuroClass(), HelpersPHEMlight::getEuroClass(), HelpersHBEFA3::getFuel(), HelpersHBEFA4::getFuel(), HelpersPHEMlight::getFuel(), HelpersPHEMlight5::getFuel(), HelpersPHEMlight::getWeight(), PollutantsInterface::Helper::Helper(), HelpersHBEFA::HelpersHBEFA(), HelpersHBEFA3::HelpersHBEFA3(), and HelpersHBEFA4::HelpersHBEFA4().
|
protectedinherited |
the name of the model
Definition at line 225 of file PollutantsInterface.h.
|
protectedinherited |
return fuel consumption in l instead of mg
Definition at line 231 of file PollutantsInterface.h.
Referenced by HelpersHBEFA::compute(), HelpersHBEFA3::compute(), HelpersHBEFA4::compute(), HelpersPHEMlight::compute(), HelpersPHEMlight5::compute(), HelpersPHEMlight::getClassByName(), and HelpersPHEMlight5::getClassByName().
|
staticprotectedinherited |
the lowest speed which allows reliable coasting calculations
Definition at line 222 of file PollutantsInterface.h.
Referenced by HelpersHBEFA::compute(), HelpersHBEFA3::compute(), and HelpersHBEFA4::compute().