21 #ifndef RV_BATTERY_MODEL_H
22 #define RV_BATTERY_MODEL_H
24 #include "ns3/traced-value.h"
25 #include "ns3/nstime.h"
26 #include "ns3/event-id.h"
Introspection did not find any typical Config paths.
An identifier for simulation events.
Rakhmatov Vrudhula non-linear battery model.
int GetNumOfTerms(void) const
double m_openCircuitVoltage
virtual double GetSupplyVoltage(void) const
void SetNumOfTerms(int num)
Sets the number of terms of the infinite sum for estimating battery level.
virtual void DoInitialize(void)
Defined in ns3::Object.
virtual double GetEnergyFraction(void)
Time GetSamplingInterval(void) const
EventId m_currentSampleEvent
static TypeId GetTypeId(void)
double GetAlpha(void) const
void SetSamplingInterval(Time interval)
virtual double GetInitialEnergy(void) const
std::vector< Time > m_timeStamps
double GetCutoffVoltage(void) const
double Discharge(double load, Time t)
Discharges the battery.
void SetCutoffVoltage(double voltage)
Sets cutoff voltage of battery.
virtual double GetRemainingEnergy(void)
void SetBeta(double beta)
Sets the beta value for the battery model.
Time GetLifetime(void) const
virtual void DoDispose(void)
Defined in ns3::Object.
std::vector< double > m_load
TracedValue< Time > m_lifetime
Time m_samplingInterval
(1 / sampling interval) = sampling frequency
void SetOpenCircuitVoltage(double voltage)
Sets open circuit voltage of battery.
double RvModelAFunction(Time t, Time sk, Time sk_1, double beta)
RV model A function.
void SetAlpha(double alpha)
Sets the alpha value for the battery model.
double GetOpenCircuitVoltage(void) const
virtual void UpdateEnergySource(void)
Implements UpdateEnergySource.
void HandleEnergyDrainedEvent(void)
Handles the remaining energy going to zero event.
virtual ~RvBatteryModel()
double GetBeta(void) const
double GetBatteryLevel(void)
TracedValue< double > m_batteryLevel
Battery level is defined as: output of Discharge function / alpha value.
Simulation virtual time values and global simulation resolution.
a unique identifier for an interface.
Every class exported by the ns3 library is enclosed in the ns3 namespace.