|
SUMO - Simulation of Urban MObility
|
Helper methods for HBEFA-based emission computation. More...
#include <HelpersHBEFA.h>
Static Public Member Functions | |
| static SUMOReal | computeCO (SUMOEmissionClass c, double v, double a) |
| Returns the amount of emitted CO given the vehicle type and state (in mg/s) | |
| static SUMOReal | computeCO2 (SUMOEmissionClass c, double v, double a) |
| Returns the amount of emitted CO2 given the vehicle type and state (in mg/s) | |
| static SUMOReal | computeFuel (SUMOEmissionClass c, double v, double a) |
| Returns the amount of consumed fuel given the vehicle type and state (in ml/s) | |
| static SUMOReal | computeHC (SUMOEmissionClass c, double v, double a) |
| Returns the amount of emitted HC given the vehicle type and state (in mg/s) | |
| static SUMOReal | computeNOx (SUMOEmissionClass c, double v, double a) |
| Returns the amount of emitted NOx given the vehicle type and state (in mg/s) | |
| static SUMOReal | computePMx (SUMOEmissionClass c, double v, double a) |
| Returns the amount of emitted PMx given the vehicle type and state (in mg/s) | |
Static Private Member Functions | |
| static SUMOReal | compute (SUMOEmissionClass c, const int offset, double v, const double a) |
| Computes the emitted pollutant amount using the given speed and acceleration. | |
Static Private Attributes | |
| static double | myFunctionParameter [42][36] |
| The function parameter. | |
Helper methods for HBEFA-based emission computation.
The parameter are stored per vehicle class; 6*6 parameter are used, sorted by the pollutant (CO2, CO, HC, fuel, NOx, PMx), and the function part (c0, cav1, cav2, c1, c2, c3).
Definition at line 61 of file HelpersHBEFA.h.
| static SUMOReal HelpersHBEFA::compute | ( | SUMOEmissionClass | c, |
| const int | offset, | ||
| double | v, | ||
| const double | a | ||
| ) | [inline, static, private] |
Computes the emitted pollutant amount using the given speed and acceleration.
As the functions are defining emissions(in g)/hour, the function's result is normed by 3.6 (seconds in an hour/1000) yielding mg/s. Negative acceleration results directly in zero emission.
| [in] | c | emission class for the function parameters to use |
| [in] | offset | the offset in the function parameters for the correct pollutant |
| [in] | v | The vehicle's current velocity |
| [in] | a | The vehicle's current acceleration |
Definition at line 132 of file HelpersHBEFA.h.
References MAX2(), myFunctionParameter, PI, SUMOReal, SVE_P_LDV_7_7, SVE_UNKNOWN, and SVE_ZERO_EMISSIONS.
Referenced by computeCO(), computeCO2(), computeFuel(), computeHC(), computeNOx(), and computePMx().
| SUMOReal HelpersHBEFA::computeCO | ( | SUMOEmissionClass | c, |
| double | v, | ||
| double | a | ||
| ) | [static] |
Returns the amount of emitted CO given the vehicle type and state (in mg/s)
| [in] | c | The vehicle emission class |
| [in] | v | The vehicle's current velocity |
| [in] | a | The vehicle's current acceleration |
Definition at line 163 of file HelpersHBEFA.cpp.
References CO_OFFSET, and compute().
Referenced by ROEdge::buildTimeLines(), ROEdge::getCOEffort(), MSVehicle::getHBEFA_COEmissions(), MSDevice_HBEFA::notifyMove(), MSMeanData_HBEFA::MSLaneMeanDataValues::notifyMoveInternal(), and TraCIServerAPI_Vehicle::processGet().
| SUMOReal HelpersHBEFA::computeCO2 | ( | SUMOEmissionClass | c, |
| double | v, | ||
| double | a | ||
| ) | [static] |
Returns the amount of emitted CO2 given the vehicle type and state (in mg/s)
| [in] | c | The vehicle emission class |
| [in] | v | The vehicle's current velocity |
| [in] | a | The vehicle's current acceleration |
Definition at line 169 of file HelpersHBEFA.cpp.
References CO2_OFFSET, and compute().
Referenced by ROEdge::buildTimeLines(), ROEdge::getCO2Effort(), MSVehicle::getHBEFA_CO2Emissions(), MSDevice_HBEFA::notifyMove(), MSMeanData_HBEFA::MSLaneMeanDataValues::notifyMoveInternal(), and TraCIServerAPI_Vehicle::processGet().
| SUMOReal HelpersHBEFA::computeFuel | ( | SUMOEmissionClass | c, |
| double | v, | ||
| double | a | ||
| ) | [static] |
Returns the amount of consumed fuel given the vehicle type and state (in ml/s)
As the general function returns mg/s, this implementation scales with 790 (average density of fuel)
| [in] | c | The vehicle emission class |
| [in] | v | The vehicle's current velocity |
| [in] | a | The vehicle's current acceleration |
Definition at line 193 of file HelpersHBEFA.cpp.
References compute(), and FUEL_OFFSET.
Referenced by ROEdge::buildTimeLines(), ROEdge::getFuelEffort(), MSVehicle::getHBEFA_FuelConsumption(), MSDevice_HBEFA::notifyMove(), MSMeanData_HBEFA::MSLaneMeanDataValues::notifyMoveInternal(), and TraCIServerAPI_Vehicle::processGet().
| SUMOReal HelpersHBEFA::computeHC | ( | SUMOEmissionClass | c, |
| double | v, | ||
| double | a | ||
| ) | [static] |
Returns the amount of emitted HC given the vehicle type and state (in mg/s)
| [in] | c | The vehicle emission class |
| [in] | v | The vehicle's current velocity |
| [in] | a | The vehicle's current acceleration |
Definition at line 175 of file HelpersHBEFA.cpp.
References compute(), and HC_OFFSET.
Referenced by ROEdge::buildTimeLines(), MSVehicle::getHBEFA_HCEmissions(), ROEdge::getHCEffort(), MSDevice_HBEFA::notifyMove(), MSMeanData_HBEFA::MSLaneMeanDataValues::notifyMoveInternal(), and TraCIServerAPI_Vehicle::processGet().
| SUMOReal HelpersHBEFA::computeNOx | ( | SUMOEmissionClass | c, |
| double | v, | ||
| double | a | ||
| ) | [static] |
Returns the amount of emitted NOx given the vehicle type and state (in mg/s)
| [in] | c | The vehicle emission class |
| [in] | v | The vehicle's current velocity |
| [in] | a | The vehicle's current acceleration |
Definition at line 181 of file HelpersHBEFA.cpp.
References compute(), and NOx_OFFSET.
Referenced by ROEdge::buildTimeLines(), MSVehicle::getHBEFA_NOxEmissions(), ROEdge::getNOxEffort(), MSDevice_HBEFA::notifyMove(), MSMeanData_HBEFA::MSLaneMeanDataValues::notifyMoveInternal(), and TraCIServerAPI_Vehicle::processGet().
| SUMOReal HelpersHBEFA::computePMx | ( | SUMOEmissionClass | c, |
| double | v, | ||
| double | a | ||
| ) | [static] |
Returns the amount of emitted PMx given the vehicle type and state (in mg/s)
| [in] | c | The vehicle emission class |
| [in] | v | The vehicle's current velocity |
| [in] | a | The vehicle's current acceleration |
Definition at line 187 of file HelpersHBEFA.cpp.
References compute(), and PMx_OFFSET.
Referenced by ROEdge::buildTimeLines(), MSVehicle::getHBEFA_PMxEmissions(), ROEdge::getPMxEffort(), MSDevice_HBEFA::notifyMove(), MSMeanData_HBEFA::MSLaneMeanDataValues::notifyMoveInternal(), and TraCIServerAPI_Vehicle::processGet().
double HelpersHBEFA::myFunctionParameter [static, private] |