ns3::RvBatteryModel Class Reference
Rakhmatov Vrudhula non-linear battery model.
More...
#include <rv-battery-model.h>
List of all members.
Detailed Description
Rakhmatov Vrudhula non-linear battery model.
This (energy source) model implements an analytical non-linear battery model. It is capable of capturing load capacity and recovery effects of batteries. Batteries are characterized by 2 parameters, alpha and beta, which can both be obtained from the discharge curve of the batteries.
The model is developed by Daler Rakhmatov & Sarma Vrudhula in: "Battery
Lifetime Prediction for Energy-Aware Computing" and "An Analytical High-Level
Battery Model for Use in Energy Management of Portable Electronic Systems".
The real-time algorithm is developed by Matthias Handy & Dirk Timmermann in: "Simulation of Mobile Wireless Networks with Accurate Modeling of non-linear
battery effects". The real-time algorithm is modified by the authors of this code for improved accuracy and reduced computation (sampling) overhead.
Member Function Documentation
double ns3::RvBatteryModel::GetAlpha |
( |
void |
|
) |
const |
- Returns:
- The alpha value used by the battery model.
double ns3::RvBatteryModel::GetBatteryLevel |
( |
void |
|
) |
|
- Returns:
- Battery level [0, 1].
double ns3::RvBatteryModel::GetBeta |
( |
void |
|
) |
const |
- Returns:
- The beta value used by the battery model.
double ns3::RvBatteryModel::GetCutoffVoltage |
( |
void |
|
) |
const |
- Returns:
- Cutoff voltage of battery.
virtual double ns3::RvBatteryModel::GetEnergyFraction |
( |
void |
|
) |
[virtual] |
- Returns:
- Energy fraction.
Implements GetEnergyFraction. For the RV battery model, energy fraction is equivalent to battery level.
Implements ns3::EnergySource.
virtual double ns3::RvBatteryModel::GetInitialEnergy |
( |
void |
|
) |
const [virtual] |
- Returns:
- Initial energy stored (theoretical capacity) in the battery.
Implements GetInitialEnergy.
Implements ns3::EnergySource.
Time ns3::RvBatteryModel::GetLifetime |
( |
void |
|
) |
const |
- Returns:
- Lifetime of the battery.
int ns3::RvBatteryModel::GetNumOfTerms |
( |
void |
|
) |
const |
- Returns:
- The number of terms of the infinite sum for estimating battery level.
double ns3::RvBatteryModel::GetOpenCircuitVoltage |
( |
void |
|
) |
const |
- Returns:
- Open circuit voltage of battery.
virtual double ns3::RvBatteryModel::GetRemainingEnergy |
( |
void |
|
) |
[virtual] |
- Returns:
- Remaining energy in energy source, in Joules
Implements GetRemainingEnergy.
Implements ns3::EnergySource.
Time ns3::RvBatteryModel::GetSamplingInterval |
( |
void |
|
) |
const |
- Returns:
- The interval between each energy update.
virtual double ns3::RvBatteryModel::GetSupplyVoltage |
( |
void |
|
) |
const [virtual] |
- Returns:
- Supply voltage at the energy source.
Implements GetSupplyVoltage.
Implements ns3::EnergySource.
static TypeId ns3::RvBatteryModel::GetTypeId |
( |
void |
|
) |
[static] |
This method returns the TypeId associated to ns3::RvBatteryModel.
This object is accessible through the following paths with Config::Set and Config::Connect:
-
/NodeList/[i]/DeviceList/[i]/$ns3::AlohaNoackNetDevice/Phy/$ns3::EnergySource/$ns3::RvBatteryModel
-
/NodeList/[i]/DeviceList/[i]/$ns3::AlohaNoackNetDevice/Phy/$ns3::RvBatteryModel
-
/NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/BsIpcsPacketClassifier/$ns3::EnergySource/$ns3::RvBatteryModel
-
/NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/BsIpcsPacketClassifier/$ns3::RvBatteryModel
-
/NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/LinkManager/$ns3::EnergySource/$ns3::RvBatteryModel
-
/NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/LinkManager/$ns3::RvBatteryModel
-
/NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/SSManager/$ns3::EnergySource/$ns3::RvBatteryModel
-
/NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/SSManager/$ns3::RvBatteryModel
-
/NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/ServiceFlowManager/$ns3::EnergySource/$ns3::RvBatteryModel
-
/NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/ServiceFlowManager/$ns3::RvBatteryModel
-
/NodeList/[i]/DeviceList/[i]/$ns3::NonCommunicatingNetDevice/Phy/$ns3::EnergySource/$ns3::RvBatteryModel
-
/NodeList/[i]/DeviceList/[i]/$ns3::NonCommunicatingNetDevice/Phy/$ns3::RvBatteryModel
-
/NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/Classifier/$ns3::EnergySource/$ns3::RvBatteryModel
-
/NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/Classifier/$ns3::RvBatteryModel
-
/NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/LinkManager/$ns3::EnergySource/$ns3::RvBatteryModel
-
/NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/LinkManager/$ns3::RvBatteryModel
-
/NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/SSScheduler/$ns3::EnergySource/$ns3::RvBatteryModel
-
/NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/SSScheduler/$ns3::RvBatteryModel
-
/NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Channel/NoiseModel/$ns3::EnergySource/$ns3::RvBatteryModel
-
/NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Channel/NoiseModel/$ns3::RvBatteryModel
-
/NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Channel/PropagationModel/$ns3::EnergySource/$ns3::RvBatteryModel
-
/NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Channel/PropagationModel/$ns3::RvBatteryModel
-
/NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Mac/$ns3::EnergySource/$ns3::RvBatteryModel
-
/NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Mac/$ns3::RvBatteryModel
-
/NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Phy/$ns3::EnergySource/$ns3::RvBatteryModel
-
/NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Phy/$ns3::RvBatteryModel
-
/NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Transducer/$ns3::EnergySource/$ns3::RvBatteryModel
-
/NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Transducer/$ns3::RvBatteryModel
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/BsIpcsPacketClassifier/$ns3::EnergySource/$ns3::RvBatteryModel
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/BsIpcsPacketClassifier/$ns3::RvBatteryModel
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/LinkManager/$ns3::EnergySource/$ns3::RvBatteryModel
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/LinkManager/$ns3::RvBatteryModel
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/SSManager/$ns3::EnergySource/$ns3::RvBatteryModel
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/SSManager/$ns3::RvBatteryModel
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/ServiceFlowManager/$ns3::EnergySource/$ns3::RvBatteryModel
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/ServiceFlowManager/$ns3::RvBatteryModel
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/Classifier/$ns3::EnergySource/$ns3::RvBatteryModel
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/Classifier/$ns3::RvBatteryModel
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/LinkManager/$ns3::EnergySource/$ns3::RvBatteryModel
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/LinkManager/$ns3::RvBatteryModel
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/SSScheduler/$ns3::EnergySource/$ns3::RvBatteryModel
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/SSScheduler/$ns3::RvBatteryModel
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/BandwidthManager/$ns3::EnergySource/$ns3::RvBatteryModel
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/BandwidthManager/$ns3::RvBatteryModel
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/BurstProfileManager/$ns3::EnergySource/$ns3::RvBatteryModel
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/BurstProfileManager/$ns3::RvBatteryModel
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Channel/$ns3::UanChannel/NoiseModel/$ns3::EnergySource/$ns3::RvBatteryModel
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Channel/$ns3::UanChannel/NoiseModel/$ns3::RvBatteryModel
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Channel/$ns3::UanChannel/PropagationModel/$ns3::EnergySource/$ns3::RvBatteryModel
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Channel/$ns3::UanChannel/PropagationModel/$ns3::RvBatteryModel
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/ConnectionManager/$ns3::EnergySource/$ns3::RvBatteryModel
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/ConnectionManager/$ns3::RvBatteryModel
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Phy/Channel/$ns3::UanChannel/NoiseModel/$ns3::EnergySource/$ns3::RvBatteryModel
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Phy/Channel/$ns3::UanChannel/NoiseModel/$ns3::RvBatteryModel
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Phy/Channel/$ns3::UanChannel/PropagationModel/$ns3::EnergySource/$ns3::RvBatteryModel
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Phy/Channel/$ns3::UanChannel/PropagationModel/$ns3::RvBatteryModel
Attributes defined for this type:
-
RvBatteryModelPeriodicEnergyUpdateInterval: RV battery model sampling interval.
-
Set with class: TimeValue
-
Underlying type: Time
-
Initial value: 1000000000ns
-
Flags: construct write read
-
RvBatteryModelOpenCircuitVoltage: RV battery model open circuit voltage.
-
Set with class: ns3::DoubleValue
-
Underlying type: double -1.79769e+308:1.79769e+308
-
Initial value: 4.1
-
Flags: construct write read
-
RvBatteryModelCutoffVoltage: RV battery model cutoff voltage.
-
Set with class: ns3::DoubleValue
-
Underlying type: double -1.79769e+308:1.79769e+308
-
Initial value: 3
-
Flags: construct write read
-
RvBatteryModelAlphaValue: RV battery model alpha value.
-
Set with class: ns3::DoubleValue
-
Underlying type: double -1.79769e+308:1.79769e+308
-
Initial value: 35220
-
Flags: construct write read
-
RvBatteryModelBetaValue: RV battery model beta value.
-
Set with class: ns3::DoubleValue
-
Underlying type: double -1.79769e+308:1.79769e+308
-
Initial value: 0.637
-
Flags: construct write read
-
RvBatteryModelNumOfTerms: The number of terms of the infinite sum for estimating battery level.
-
Set with class: ns3::IntegerValue
-
Underlying type: int32_t -2147483648:2147483647
-
Initial value: 10
-
Flags: construct write read
TraceSources defined for this type:
-
RvBatteryModelBatteryLevel: RV battery model battery level.
-
RvBatteryModelBatteryLifetime: RV battery model battery lifetime.
Reimplemented from ns3::EnergySource.
void ns3::RvBatteryModel::SetAlpha |
( |
double |
alpha |
) |
|
Sets the alpha value for the battery model.
- Parameters:
-
void ns3::RvBatteryModel::SetBeta |
( |
double |
beta |
) |
|
Sets the beta value for the battery model.
- Parameters:
-
void ns3::RvBatteryModel::SetCutoffVoltage |
( |
double |
voltage |
) |
|
Sets cutoff voltage of battery.
- Parameters:
-
void ns3::RvBatteryModel::SetNumOfTerms |
( |
int |
num |
) |
|
Sets the number of terms of the infinite sum for estimating battery level.
- Parameters:
-
void ns3::RvBatteryModel::SetOpenCircuitVoltage |
( |
double |
voltage |
) |
|
Sets open circuit voltage of battery.
- Parameters:
-
| voltage | Open circuit voltage. |
void ns3::RvBatteryModel::SetSamplingInterval |
( |
Time |
interval |
) |
|
- Parameters:
-
| interval | Energy update interval. |
This function sets the interval between each energy update.
virtual void ns3::RvBatteryModel::UpdateEnergySource |
( |
void |
|
) |
[virtual] |
Implements UpdateEnergySource. This function samples the total load (total current) from all devices to discharge the battery.
Implements ns3::EnergySource.
The documentation for this class was generated from the following files:
- src/contrib/energy/model/rv-battery-model.h
- doc/introspected-doxygen.h