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) More... | |
static SUMOReal | computeCO2 (SUMOEmissionClass c, double v, double a) |
Returns the amount of emitted CO2 given the vehicle type and state (in mg/s) More... | |
static SUMOReal | computeDefaultCO (SUMOEmissionClass c, double v, double a, SUMOReal tt) |
Returns the amount of emitted CO given the vehicle type and default values for the state (in mg) More... | |
static SUMOReal | computeDefaultCO2 (SUMOEmissionClass c, double v, double a, SUMOReal tt) |
Returns the amount of emitted CO2 given the vehicle type and default values for the state (in mg) More... | |
static SUMOReal | computeDefaultFuel (SUMOEmissionClass c, double v, double a, SUMOReal tt) |
Returns the amount of fuel given the vehicle type and default values for the state (in ml) More... | |
static SUMOReal | computeDefaultHC (SUMOEmissionClass c, double v, double a, SUMOReal tt) |
Returns the amount of emitted HC given the vehicle type and default values for the state (in mg) More... | |
static SUMOReal | computeDefaultNOx (SUMOEmissionClass c, double v, double a, SUMOReal tt) |
Returns the amount of emitted NOx given the vehicle type and default values for the state (in mg) More... | |
static SUMOReal | computeDefaultPMx (SUMOEmissionClass c, double v, double a, SUMOReal tt) |
Returns the amount of emitted PMx given the vehicle type and default values for the state (in mg) More... | |
static SUMOReal | computeFuel (SUMOEmissionClass c, double v, double a) |
Returns the amount of consumed fuel given the vehicle type and state (in ml/s) More... | |
static SUMOReal | computeHC (SUMOEmissionClass c, double v, double a) |
Returns the amount of emitted HC given the vehicle type and state (in mg/s) More... | |
static SUMOReal | computeNOx (SUMOEmissionClass c, double v, double a) |
Returns the amount of emitted NOx given the vehicle type and state (in mg/s) More... | |
static SUMOReal | computePMx (SUMOEmissionClass c, double v, double a) |
Returns the amount of emitted PMx given the vehicle type and state (in mg/s) More... | |
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. More... | |
Static Private Attributes | |
static double | myFunctionParameter [42][36] |
The function parameter. More... | |
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 60 of file HelpersHBEFA.h.
|
inlinestaticprivate |
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 191 of file HelpersHBEFA.h.
References MAX2(), myFunctionParameter, PI, SUMOReal, SVE_P_LDV_7_7, SVE_UNKNOWN, and SVE_ZERO_EMISSIONS.
Referenced by computeCO(), computeCO2(), computeDefaultCO(), computeDefaultCO2(), computeDefaultFuel(), computeDefaultHC(), computeDefaultNOx(), computeDefaultPMx(), computeFuel(), computeHC(), computeNOx(), and computePMx().
|
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(), MSVehicle::getHBEFA_COEmissions(), MSDevice_HBEFA::notifyMove(), and MSMeanData_HBEFA::MSLaneMeanDataValues::notifyMoveInternal().
|
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(), MSVehicle::getHBEFA_CO2Emissions(), MSDevice_HBEFA::notifyMove(), and MSMeanData_HBEFA::MSLaneMeanDataValues::notifyMoveInternal().
|
static |
Returns the amount of emitted CO given the vehicle type and default values for the state (in mg)
[in] | c | The vehicle emission class |
[in] | v | The vehicle's average velocity |
[in] | a | The vehicle's average acceleration |
in] | tt the time the vehicle travels |
Definition at line 199 of file HelpersHBEFA.cpp.
References CO_OFFSET, and compute().
Referenced by ROEdge::getCOEffort(), and MSMeanData_HBEFA::MSLaneMeanDataValues::write().
|
static |
Returns the amount of emitted CO2 given the vehicle type and default values for the state (in mg)
[in] | c | The vehicle emission class |
[in] | v | The vehicle's average velocity |
[in] | a | The vehicle's average acceleration |
in] | tt the time the vehicle travels |
Definition at line 205 of file HelpersHBEFA.cpp.
References CO2_OFFSET, and compute().
Referenced by ROEdge::getCO2Effort(), and MSMeanData_HBEFA::MSLaneMeanDataValues::write().
|
static |
Returns the amount of fuel given the vehicle type and default values for the state (in ml)
[in] | c | The vehicle emission class |
[in] | v | The vehicle's average velocity |
[in] | a | The vehicle's average acceleration |
in] | tt the time the vehicle travels |
Definition at line 229 of file HelpersHBEFA.cpp.
References compute(), and FUEL_OFFSET.
Referenced by ROEdge::getFuelEffort(), and MSMeanData_HBEFA::MSLaneMeanDataValues::write().
|
static |
Returns the amount of emitted HC given the vehicle type and default values for the state (in mg)
[in] | c | The vehicle emission class |
[in] | v | The vehicle's average velocity |
[in] | a | The vehicle's average acceleration |
in] | tt the time the vehicle travels |
Definition at line 211 of file HelpersHBEFA.cpp.
References compute(), and HC_OFFSET.
Referenced by ROEdge::getHCEffort(), and MSMeanData_HBEFA::MSLaneMeanDataValues::write().
|
static |
Returns the amount of emitted NOx given the vehicle type and default values for the state (in mg)
[in] | c | The vehicle emission class |
[in] | v | The vehicle's average velocity |
[in] | a | The vehicle's average acceleration |
in] | tt the time the vehicle travels |
Definition at line 217 of file HelpersHBEFA.cpp.
References compute(), and NOx_OFFSET.
Referenced by ROEdge::getNOxEffort(), and MSMeanData_HBEFA::MSLaneMeanDataValues::write().
|
static |
Returns the amount of emitted PMx given the vehicle type and default values for the state (in mg)
[in] | c | The vehicle emission class |
[in] | v | The vehicle's average velocity |
[in] | a | The vehicle's average acceleration |
in] | tt the time the vehicle travels |
Definition at line 223 of file HelpersHBEFA.cpp.
References compute(), and PMx_OFFSET.
Referenced by ROEdge::getPMxEffort(), and MSMeanData_HBEFA::MSLaneMeanDataValues::write().
|
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(), MSVehicle::getHBEFA_FuelConsumption(), MSDevice_HBEFA::notifyMove(), and MSMeanData_HBEFA::MSLaneMeanDataValues::notifyMoveInternal().
|
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(), MSDevice_HBEFA::notifyMove(), and MSMeanData_HBEFA::MSLaneMeanDataValues::notifyMoveInternal().
|
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(), MSDevice_HBEFA::notifyMove(), and MSMeanData_HBEFA::MSLaneMeanDataValues::notifyMoveInternal().
|
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(), MSDevice_HBEFA::notifyMove(), and MSMeanData_HBEFA::MSLaneMeanDataValues::notifyMoveInternal().
|
staticprivate |