![]() |
Eclipse SUMO - Simulation of Urban MObility
|
Helper methods for energy-based electricity consumption computation based on the battery device. More...
#include <HelpersEnergy.h>
Public Member Functions | |
double | acceleration (const SUMOEmissionClass c, const PollutantsInterface::EmissionType e, const double v, const double P, const double slope, const std::map< int, double > *param) const |
Computes the achievable acceleration using the given speed and amount of consumed electric power. More... | |
void | addAllClassesInto (std::vector< SUMOEmissionClass > &list) const |
Add all known emission classes of this model to the given container. More... | |
double | compute (const SUMOEmissionClass c, const PollutantsInterface::EmissionType e, const double v, const double a, const double slope, const std::map< int, double > *param) const |
Computes the emitted pollutant amount using the given speed and acceleration. More... | |
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. More... | |
const std::string | getClassName (const SUMOEmissionClass c) const |
Returns the complete name of the emission class including the model. More... | |
double | getDefaultParam (int paramKey) const |
virtual double | getModifiedAccel (const SUMOEmissionClass c, const double v, const double a, const double slope) const |
Returns the adapted acceleration value, useful for comparing with external PHEMlight references. Default implementation returns always the input accel. More... | |
const std::string & | getName () const |
Returns the name of the model. More... | |
HelpersEnergy () | |
Constructor (initializes myEmissionClassStrings) More... | |
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. More... | |
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. More... | |
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". More... | |
virtual std::string | getFuel (const SUMOEmissionClass c) const |
Returns the fuel type described by this emission class as described in the Amitran interface (Gasoline, Diesel, ...) Default implementation returns always "Gasoline". More... | |
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. More... | |
virtual double | getWeight (const SUMOEmissionClass c) const |
Returns a reference weight in kg described by this emission class as described in the Amitran interface It might return -1, if the weight is not important to distinguish different emission classes. Default implementation returns always -1. More... | |
Protected Attributes | |
StringBijection< SUMOEmissionClass > | myEmissionClassStrings |
Mapping between emission class names and integer representations. More... | |
const std::string | myName |
the name of the model More... | |
Private Attributes | |
std::map< int, double > | myDefaultParameter |
The default parameter. More... | |
Static Private Attributes | |
static const int | ENERGY_BASE = 4 << 16 |
Helper methods for energy-based electricity consumption computation based on the battery device.
Definition at line 40 of file HelpersEnergy.h.
HelpersEnergy::HelpersEnergy | ( | ) |
Constructor (initializes myEmissionClassStrings)
Definition at line 39 of file HelpersEnergy.cpp.
References myDefaultParameter, SUMO_ATTR_AIRDRAGCOEFFICIENT, SUMO_ATTR_ANGLE, SUMO_ATTR_CONSTANTPOWERINTAKE, SUMO_ATTR_FRONTSURFACEAREA, SUMO_ATTR_INTERNALMOMENTOFINERTIA, SUMO_ATTR_PROPULSIONEFFICIENCY, SUMO_ATTR_RADIALDRAGCOEFFICIENT, SUMO_ATTR_RECUPERATIONEFFICIENCY, SUMO_ATTR_RECUPERATIONEFFICIENCY_BY_DECELERATION, SUMO_ATTR_ROLLDRAGCOEFFICIENT, and SUMO_ATTR_VEHICLEMASS.
double HelpersEnergy::acceleration | ( | const SUMOEmissionClass | c, |
const PollutantsInterface::EmissionType | e, | ||
const double | v, | ||
const double | P, | ||
const double | slope, | ||
const std::map< int, double > * | param | ||
) | const |
Computes the achievable acceleration using the given speed and amount of consumed electric power.
[in] | c | emission class for the function parameters to use |
[in] | e | the type of emission (CO, CO2, ...), only electricity gives valid results |
[in] | v | The vehicle's current velocity |
[in] | P | The vehicle's current power consumption |
[in] | slope | The road's slope at vehicle's position [deg] |
Definition at line 145 of file HelpersEnergy.cpp.
References PolySolver::cubicSolve(), DEG2RAD, PollutantsInterface::ELEC, GRAVITY, MAX2(), MAX3(), myDefaultParameter, SUMO_ATTR_AIRDRAGCOEFFICIENT, SUMO_ATTR_FRONTSURFACEAREA, SUMO_ATTR_INTERNALMOMENTOFINERTIA, SUMO_ATTR_PROPULSIONEFFICIENCY, SUMO_ATTR_RECUPERATIONEFFICIENCY, SUMO_ATTR_ROLLDRAGCOEFFICIENT, SUMO_ATTR_VEHICLEMASS, TS, and WRITE_ERROR.
Referenced by MSDevice_ElecHybrid::acceleration().
|
inlineinherited |
Add all known emission classes of this model to the given container.
[in] | list | the vector to add to |
Definition at line 273 of file PollutantsInterface.h.
References StringBijection< T >::addKeysInto(), and PollutantsInterface::Helper::myEmissionClassStrings.
Referenced by PollutantsInterface::getAllClasses(), and PollutantsInterface::getAllClassesStr().
|
virtual |
Computes the emitted pollutant amount using the given speed and acceleration.
Returns only valid values for electricity all other types give 0.
[in] | c | emission class for the function parameters to use |
[in] | e | the type of emission (CO, CO2, ...), only electricity gives valid results |
[in] | v | The vehicle's current velocity |
[in] | a | The vehicle's current acceleration |
[in] | slope | The road's slope at vehicle's position [deg] |
Reimplemented from PollutantsInterface::Helper.
Definition at line 57 of file HelpersEnergy.cpp.
References ACCEL2SPEED, DEG2RAD, PollutantsInterface::ELEC, GRAVITY, myDefaultParameter, SPEED2DIST, SUMO_ATTR_AIRDRAGCOEFFICIENT, SUMO_ATTR_ANGLE, SUMO_ATTR_CONSTANTPOWERINTAKE, SUMO_ATTR_FRONTSURFACEAREA, SUMO_ATTR_INTERNALMOMENTOFINERTIA, SUMO_ATTR_PROPULSIONEFFICIENCY, SUMO_ATTR_RADIALDRAGCOEFFICIENT, SUMO_ATTR_RECUPERATIONEFFICIENCY, SUMO_ATTR_RECUPERATIONEFFICIENCY_BY_DECELERATION, SUMO_ATTR_ROLLDRAGCOEFFICIENT, SUMO_ATTR_VEHICLEMASS, and TS.
Referenced by MSDevice_ElecHybrid::consumption(), and MSDevice_Battery::notifyMove().
|
inlinevirtualinherited |
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 HelpersPHEMlight, and HelpersHBEFA3.
Definition at line 200 of file PollutantsInterface.h.
References UNUSED_PARAMETER.
Referenced by PollutantsInterface::getAmitranVehicleClass().
|
inlinevirtualinherited |
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 HelpersPHEMlight, and HelpersHBEFA3.
Definition at line 186 of file PollutantsInterface.h.
References UNUSED_PARAMETER.
Referenced by PollutantsInterface::getClass().
|
inlinevirtualinherited |
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.
Definition at line 129 of file PollutantsInterface.h.
References StringBijection< T >::get(), StringBijection< T >::hasString(), PollutantsInterface::Helper::myEmissionClassStrings, and UNUSED_PARAMETER.
Referenced by PollutantsInterface::getClassByName().
|
inlineinherited |
Returns the complete name of the emission class including the model.
[in] | c | the emission class |
Definition at line 160 of file PollutantsInterface.h.
References StringBijection< T >::getString(), PollutantsInterface::Helper::myEmissionClassStrings, and PollutantsInterface::Helper::myName.
Referenced by PollutantsInterface::getName().
|
inline |
Definition at line 74 of file HelpersEnergy.h.
References myDefaultParameter.
Referenced by MSDevice_Battery::buildVehicleDevices(), MSDevice_ElecHybrid::buildVehicleDevices(), MSDevice_Battery::checkParam(), and MSDevice_ElecHybrid::checkParam().
|
inlinevirtualinherited |
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 HelpersPHEMlight, and HelpersHBEFA3.
Definition at line 220 of file PollutantsInterface.h.
References UNUSED_PARAMETER.
Referenced by PollutantsInterface::getEuroClass().
|
inlinevirtualinherited |
Returns the fuel type described by this emission class as described in the Amitran interface (Gasoline, Diesel, ...) Default implementation returns always "Gasoline".
[in] | c | the emission class |
Reimplemented in HelpersPHEMlight, and HelpersHBEFA3.
Definition at line 210 of file PollutantsInterface.h.
References UNUSED_PARAMETER.
Referenced by PollutantsInterface::getFuel().
|
inlinevirtualinherited |
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.
Definition at line 263 of file PollutantsInterface.h.
References UNUSED_PARAMETER.
Referenced by PollutantsInterface::getModifiedAccel().
|
inlineinherited |
Returns the name of the model.
Definition at line 116 of file PollutantsInterface.h.
References PollutantsInterface::Helper::myName.
|
inlinevirtualinherited |
Returns a reference weight in kg described by this emission class as described in the Amitran interface It might return -1, if the weight is not important to distinguish different emission classes. Default implementation returns always -1.
[in] | c | the emission class |
Reimplemented in HelpersPHEMlight.
Definition at line 231 of file PollutantsInterface.h.
References UNUSED_PARAMETER.
Referenced by PollutantsInterface::getWeight().
|
inlinevirtualinherited |
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 169 of file PollutantsInterface.h.
References PollutantsInterface::HEAVY_BIT.
Referenced by PollutantsInterface::isSilent().
|
staticprivate |
Definition at line 42 of file HelpersEnergy.h.
|
private |
The default parameter.
Definition at line 81 of file HelpersEnergy.h.
Referenced by acceleration(), compute(), getDefaultParam(), and HelpersEnergy().
|
protectedinherited |
Mapping between emission class names and integer representations.
Definition at line 282 of file PollutantsInterface.h.
Referenced by PollutantsInterface::Helper::addAllClassesInto(), HelpersHBEFA3::getAmitranVehicleClass(), HelpersPHEMlight::getAmitranVehicleClass(), HelpersHBEFA3::getClass(), HelpersPHEMlight::getClass(), HelpersPHEMlight::getClassByName(), PollutantsInterface::Helper::getClassByName(), PollutantsInterface::Helper::getClassName(), HelpersHBEFA3::getEuroClass(), HelpersPHEMlight::getEuroClass(), HelpersHBEFA3::getFuel(), HelpersPHEMlight::getFuel(), HelpersPHEMlight::getWeight(), PollutantsInterface::Helper::Helper(), HelpersHBEFA::HelpersHBEFA(), and HelpersHBEFA3::HelpersHBEFA3().
|
protectedinherited |
the name of the model
Definition at line 279 of file PollutantsInterface.h.
Referenced by PollutantsInterface::Helper::getClassName(), and PollutantsInterface::Helper::getName().