A Discrete-Event Network Simulator
API
ns3::RvBatteryModel Class Reference

Rakhmatov Vrudhula non-linear battery model. More...

#include "rv-battery-model.h"

+ Inheritance diagram for ns3::RvBatteryModel:
+ Collaboration diagram for ns3::RvBatteryModel:

Public Member Functions

 RvBatteryModel ()
 
virtual ~RvBatteryModel ()
 
double GetAlpha (void) const
 
double GetBatteryLevel (void)
 
double GetBeta (void) const
 
double GetCutoffVoltage (void) const
 
virtual double GetEnergyFraction (void)
 
virtual double GetInitialEnergy (void) const
 
Time GetLifetime (void) const
 
int GetNumOfTerms (void) const
 
double GetOpenCircuitVoltage (void) const
 
virtual double GetRemainingEnergy (void)
 
Time GetSamplingInterval (void) const
 
virtual double GetSupplyVoltage (void) const
 
void SetAlpha (double alpha)
 Sets the alpha value for the battery model. More...
 
void SetBeta (double beta)
 Sets the beta value for the battery model. More...
 
void SetCutoffVoltage (double voltage)
 Sets cutoff voltage of battery. More...
 
void SetNumOfTerms (int num)
 Sets the number of terms of the infinite sum for estimating battery level. More...
 
void SetOpenCircuitVoltage (double voltage)
 Sets open circuit voltage of battery. More...
 
void SetSamplingInterval (Time interval)
 
virtual void UpdateEnergySource (void)
 Implements UpdateEnergySource. More...
 
- Public Member Functions inherited from ns3::EnergySource
 EnergySource ()
 
virtual ~EnergySource ()
 
void AppendDeviceEnergyModel (Ptr< DeviceEnergyModel > deviceEnergyModelPtr)
 
void ConnectEnergyHarvester (Ptr< EnergyHarvester > energyHarvesterPtr)
 
void DisposeDeviceModels (void)
 Calls Dispose () method of the device energy models. More...
 
DeviceEnergyModelContainer FindDeviceEnergyModels (std::string name)
 
DeviceEnergyModelContainer FindDeviceEnergyModels (TypeId tid)
 
virtual double GetEnergyFraction (void)=0
 
virtual double GetInitialEnergy (void) const =0
 
Ptr< NodeGetNode (void) const
 
virtual double GetRemainingEnergy (void)=0
 
virtual double GetSupplyVoltage (void) const =0
 
void InitializeDeviceModels (void)
 Calls Start () method of the device energy models. More...
 
void SetNode (Ptr< Node > node)
 Sets pointer to node containing this EnergySource. More...
 
virtual void UpdateEnergySource (void)=0
 This function goes through the list of DeviceEnergyModels to obtain total current draw at the energy source and updates remaining energy. More...
 
- Public Member Functions inherited from ns3::Object
 Object ()
 Constructor. More...
 
virtual ~Object ()
 Destructor. More...
 
void AggregateObject (Ptr< Object > other)
 Aggregate two Objects together. More...
 
void Dispose (void)
 Dispose of this Object. More...
 
AggregateIterator GetAggregateIterator (void) const
 Get an iterator to the Objects aggregated to this one. More...
 
virtual TypeId GetInstanceTypeId (void) const
 Get the most derived TypeId for this Object. More...
 
template<>
Ptr< ObjectGetObject () const
 Specialization of () for objects of type ns3::Object. More...
 
template<typename T >
Ptr< T > GetObject (TypeId tid) const
 Get a pointer to the requested aggregated Object by TypeId. More...
 
template<>
Ptr< ObjectGetObject (TypeId tid) const
 Specialization of (TypeId tid) for objects of type ns3::Object. More...
 
template<typename T >
Ptr< T > GetObject (void) const
 Get a pointer to the requested aggregated Object. More...
 
void Initialize (void)
 Invoke DoInitialize on all Objects aggregated to this one. More...
 
bool IsInitialized (void) const
 Check if the object has been initialized. More...
 
- Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter >
 SimpleRefCount ()
 Default constructor. More...
 
 SimpleRefCount (const SimpleRefCount &o)
 Copy constructor. More...
 
uint32_t GetReferenceCount (void) const
 Get the reference count of the object. More...
 
SimpleRefCountoperator= (const SimpleRefCount &o)
 Assignment operator. More...
 
void Ref (void) const
 Increment the reference count. More...
 
void Unref (void) const
 Decrement the reference count. More...
 
- Public Member Functions inherited from ns3::ObjectBase
virtual ~ObjectBase ()
 Virtual destructor. More...
 
void GetAttribute (std::string name, AttributeValue &value) const
 Get the value of an attribute, raising fatal errors if unsuccessful. More...
 
bool GetAttributeFailSafe (std::string name, AttributeValue &value) const
 Get the value of an attribute without raising erros. More...
 
virtual TypeId GetInstanceTypeId (void) const =0
 Get the most derived TypeId for this Object. More...
 
void SetAttribute (std::string name, const AttributeValue &value)
 Set a single attribute, raising fatal errors if unsuccessful. More...
 
bool SetAttributeFailSafe (std::string name, const AttributeValue &value)
 Set a single attribute without raising errors. More...
 
bool TraceConnect (std::string name, std::string context, const CallbackBase &cb)
 Connect a TraceSource to a Callback with a context. More...
 
bool TraceConnectWithoutContext (std::string name, const CallbackBase &cb)
 Connect a TraceSource to a Callback without a context. More...
 
bool TraceDisconnect (std::string name, std::string context, const CallbackBase &cb)
 Disconnect from a TraceSource a Callback previously connected with a context. More...
 
bool TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb)
 Disconnect from a TraceSource a Callback previously connected without a context. More...
 

Static Public Member Functions

static TypeId GetTypeId (void)
 Get the type ID. More...
 
- Static Public Member Functions inherited from ns3::EnergySource
static TypeId GetTypeId (void)
 Get the type ID. More...
 
- Static Public Member Functions inherited from ns3::Object
static TypeId GetTypeId (void)
 Register this type. More...
 
- Static Public Member Functions inherited from ns3::ObjectBase
static TypeId GetTypeId (void)
 Get the type ID. More...
 

Private Member Functions

double Discharge (double load, Time t)
 Discharges the battery. More...
 
virtual void DoDispose (void)
 Defined in ns3::Object. More...
 
virtual void DoInitialize (void)
 Defined in ns3::Object. More...
 
void HandleEnergyDrainedEvent (void)
 Handles the remaining energy going to zero event. More...
 
double RvModelAFunction (Time t, Time sk, Time sk_1, double beta)
 RV model A function. More...
 

Private Attributes

double m_alpha
 alpha value of RV model, in Coulomb More...
 
TracedValue< doublem_batteryLevel
 Battery level is defined as: output of Discharge function / alpha value. More...
 
double m_beta
 beta value of RV model, in second^-1 More...
 
EventId m_currentSampleEvent
 Current sample event. More...
 
double m_cutoffVoltage
 Cutoff voltage (in Volts) More...
 
Time m_lastSampleTime
 Last sample time. More...
 
TracedValue< Timem_lifetime
 time of death of the battery More...
 
std::vector< doublem_load
 load profile More...
 
double m_lowBatteryTh
 low battery threshold, as a fraction of the initial energy More...
 
int m_numOfTerms
 Number# of terms for infinite sum in battery level estimation. More...
 
double m_openCircuitVoltage
 Open circuit voltage (in Volts) More...
 
double m_previousLoad
 load value (total current) of previous sampling More...
 
Time m_samplingInterval
 Sampling interval. More...
 
std::vector< Timem_timeStamps
 time stamps of load profile More...
 

Additional Inherited Members

- Protected Member Functions inherited from ns3::EnergySource
void BreakDeviceEnergyModelRefCycle (void)
 This function is called to break reference cycle between EnergySource and DeviceEnergyModel. More...
 
double CalculateTotalCurrent (void)
 
void NotifyEnergyChanged (void)
 This function notifies all DeviceEnergyModel of energy changed event. More...
 
void NotifyEnergyDrained (void)
 This function notifies all DeviceEnergyModel of energy depletion event. More...
 
void NotifyEnergyRecharged (void)
 This function notifies all DeviceEnergyModel of energy recharged event. More...
 
- Protected Member Functions inherited from ns3::Object
 Object (const Object &o)
 Copy an Object. More...
 
virtual void DoDispose (void)
 Destructor implementation. More...
 
virtual void DoInitialize (void)
 Initialize() implementation. More...
 
virtual void NotifyNewAggregate (void)
 Notify all Objects aggregated to this one of a new Object being aggregated. More...
 
- Protected Member Functions inherited from ns3::ObjectBase
void ConstructSelf (const AttributeConstructionList &attributes)
 Complete construction of ObjectBase; invoked by derived classes. More...
 
virtual void NotifyConstructionCompleted (void)
 Notifier called once the ObjectBase is fully constructed. More...
 

Detailed Description

Rakhmatov Vrudhula non-linear battery model.

Introspection did not find any typical Config paths.

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.


Attributes

  • RvBatteryModelPeriodicEnergyUpdateInterval: RV battery model sampling interval.
    • Set with class: ns3::TimeValue
    • Underlying type: Time +9.22337e+18ns:+9.22337e+18ns
    • Initial value: +1e+09ns
    • Flags: construct write read
  • RvBatteryModelLowBatteryThreshold: Low battery threshold.
    • Set with class: ns3::DoubleValue
    • Underlying type: double -1.79769e+308:1.79769e+308
    • Initial value: 0.1
    • 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

Size of this type is 280 bytes (on a 64-bit architecture).

Definition at line 50 of file rv-battery-model.h.

Constructor & Destructor Documentation

◆ RvBatteryModel()

ns3::RvBatteryModel::RvBatteryModel ( )

Definition at line 95 of file rv-battery-model.cc.

References m_batteryLevel, m_lastSampleTime, m_lifetime, m_previousLoad, m_timeStamps, ns3::Simulator::Now(), NS_LOG_FUNCTION, and ns3::Seconds().

+ Here is the call graph for this function:

◆ ~RvBatteryModel()

ns3::RvBatteryModel::~RvBatteryModel ( )
virtual

Definition at line 105 of file rv-battery-model.cc.

References NS_LOG_FUNCTION.

Member Function Documentation

◆ Discharge()

double ns3::RvBatteryModel::Discharge ( double  load,
Time  t 
)
private

Discharges the battery.

Parameters
loadLoad value (total current form devices, in mA).
tTime stamp of the load value.
Returns
Calculated alpha value.

Discharge function calculates a value which is then compared to the alpha value to determine if the battery is dead. It will also update the battery level.

Note that the load value passed to Discharge has to be in mA.

Definition at line 321 of file rv-battery-model.cc.

References m_beta, m_lastSampleTime, m_load, m_previousLoad, m_timeStamps, NS_ASSERT, NS_LOG_FUNCTION, RvModelAFunction(), and ns3::Seconds().

Referenced by UpdateEnergySource().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ DoDispose()

void ns3::RvBatteryModel::DoDispose ( void  )
privatevirtual

Defined in ns3::Object.

Reimplemented from ns3::EnergySource.

Definition at line 306 of file rv-battery-model.cc.

References ns3::EnergySource::BreakDeviceEnergyModelRefCycle(), and NS_LOG_FUNCTION.

+ Here is the call graph for this function:

◆ DoInitialize()

void ns3::RvBatteryModel::DoInitialize ( void  )
privatevirtual

Defined in ns3::Object.

Reimplemented from ns3::Object.

Definition at line 298 of file rv-battery-model.cc.

References NS_LOG_DEBUG, NS_LOG_FUNCTION, and UpdateEnergySource().

+ Here is the call graph for this function:

◆ GetAlpha()

double ns3::RvBatteryModel::GetAlpha ( void  ) const
Returns
The alpha value used by the battery model.

Definition at line 243 of file rv-battery-model.cc.

References m_alpha, and NS_LOG_FUNCTION.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ GetBatteryLevel()

double ns3::RvBatteryModel::GetBatteryLevel ( void  )
Returns
Battery level [0, 1].

Definition at line 265 of file rv-battery-model.cc.

References m_batteryLevel, NS_LOG_FUNCTION, and UpdateEnergySource().

Referenced by GetEnergyFraction().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetBeta()

double ns3::RvBatteryModel::GetBeta ( void  ) const
Returns
The beta value used by the battery model.

Definition at line 258 of file rv-battery-model.cc.

References m_beta, and NS_LOG_FUNCTION.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ GetCutoffVoltage()

double ns3::RvBatteryModel::GetCutoffVoltage ( void  ) const
Returns
Cutoff voltage of battery.

Definition at line 228 of file rv-battery-model.cc.

References m_cutoffVoltage, and NS_LOG_FUNCTION.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ GetEnergyFraction()

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.

Definition at line 134 of file rv-battery-model.cc.

References GetBatteryLevel(), and NS_LOG_FUNCTION.

+ Here is the call graph for this function:

◆ GetInitialEnergy()

double ns3::RvBatteryModel::GetInitialEnergy ( void  ) const
virtual
Returns
Initial energy stored (theoretical capacity) in the battery, in Joules.

Implements GetInitialEnergy.

Implements ns3::EnergySource.

Definition at line 111 of file rv-battery-model.cc.

References GetSupplyVoltage(), m_alpha, and NS_LOG_FUNCTION.

+ Here is the call graph for this function:

◆ GetLifetime()

Time ns3::RvBatteryModel::GetLifetime ( void  ) const
Returns
Lifetime of the battery.

Definition at line 273 of file rv-battery-model.cc.

References m_lifetime, and NS_LOG_FUNCTION.

◆ GetNumOfTerms()

int ns3::RvBatteryModel::GetNumOfTerms ( void  ) const
Returns
The number of terms of the infinite sum for estimating battery level.

Definition at line 287 of file rv-battery-model.cc.

References m_numOfTerms, and NS_LOG_FUNCTION.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ GetOpenCircuitVoltage()

double ns3::RvBatteryModel::GetOpenCircuitVoltage ( void  ) const
Returns
Open circuit voltage of battery.

Definition at line 213 of file rv-battery-model.cc.

References m_openCircuitVoltage, and NS_LOG_FUNCTION.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ GetRemainingEnergy()

double ns3::RvBatteryModel::GetRemainingEnergy ( void  )
virtual
Returns
Remaining energy in energy source, in Joules

Implements GetRemainingEnergy.

Implements ns3::EnergySource.

Definition at line 126 of file rv-battery-model.cc.

References GetSupplyVoltage(), m_alpha, m_batteryLevel, NS_LOG_FUNCTION, and UpdateEnergySource().

+ Here is the call graph for this function:

◆ GetSamplingInterval()

Time ns3::RvBatteryModel::GetSamplingInterval ( void  ) const
Returns
The interval between each energy update.

Definition at line 198 of file rv-battery-model.cc.

References m_samplingInterval, and NS_LOG_FUNCTION.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ GetSupplyVoltage()

double ns3::RvBatteryModel::GetSupplyVoltage ( void  ) const
virtual
Returns
Supply voltage at the energy source.

Implements GetSupplyVoltage.

Implements ns3::EnergySource.

Definition at line 118 of file rv-battery-model.cc.

References m_cutoffVoltage, m_openCircuitVoltage, and NS_LOG_FUNCTION.

Referenced by GetInitialEnergy(), and GetRemainingEnergy().

+ Here is the caller graph for this function:

◆ GetTypeId()

◆ HandleEnergyDrainedEvent()

void ns3::RvBatteryModel::HandleEnergyDrainedEvent ( void  )
private

Handles the remaining energy going to zero event.

This function notifies all the energy models aggregated to the node about the energy being depleted. Each energy model is then responsible for its own handler.

Definition at line 313 of file rv-battery-model.cc.

References ns3::EnergySource::NotifyEnergyDrained(), NS_LOG_DEBUG, and NS_LOG_FUNCTION.

Referenced by UpdateEnergySource().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ RvModelAFunction()

double ns3::RvBatteryModel::RvModelAFunction ( Time  t,
Time  sk,
Time  sk_1,
double  beta 
)
private

RV model A function.

Parameters
tCurrent time.
skTime stamp in array position k
sk_1Time stamp in array position k-1
betaBeta value used by the battery model.
Returns
Result of A function.

This function computes alpha value using the recorded load profile.

Definition at line 367 of file rv-battery-model.cc.

References m_numOfTerms, and NS_LOG_FUNCTION.

Referenced by Discharge().

+ Here is the caller graph for this function:

◆ SetAlpha()

void ns3::RvBatteryModel::SetAlpha ( double  alpha)

Sets the alpha value for the battery model.

Parameters
alphaAlpha.

Definition at line 235 of file rv-battery-model.cc.

References m_alpha, NS_ASSERT, and NS_LOG_FUNCTION.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ SetBeta()

void ns3::RvBatteryModel::SetBeta ( double  beta)

Sets the beta value for the battery model.

Parameters
betaBeta.

Definition at line 250 of file rv-battery-model.cc.

References m_beta, NS_ASSERT, and NS_LOG_FUNCTION.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ SetCutoffVoltage()

void ns3::RvBatteryModel::SetCutoffVoltage ( double  voltage)

Sets cutoff voltage of battery.

Parameters
voltageCutoff voltage.

Definition at line 220 of file rv-battery-model.cc.

References m_cutoffVoltage, m_openCircuitVoltage, NS_ASSERT, and NS_LOG_FUNCTION.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ SetNumOfTerms()

void ns3::RvBatteryModel::SetNumOfTerms ( int  num)

Sets the number of terms of the infinite sum for estimating battery level.

Parameters
numNumber of terms.

Definition at line 280 of file rv-battery-model.cc.

References m_numOfTerms, and NS_LOG_FUNCTION.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ SetOpenCircuitVoltage()

void ns3::RvBatteryModel::SetOpenCircuitVoltage ( double  voltage)

Sets open circuit voltage of battery.

Parameters
voltageOpen circuit voltage.

Definition at line 205 of file rv-battery-model.cc.

References m_openCircuitVoltage, NS_ASSERT, and NS_LOG_FUNCTION.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ SetSamplingInterval()

void ns3::RvBatteryModel::SetSamplingInterval ( Time  interval)
Parameters
intervalEnergy update interval.

This function sets the interval between each energy update.

Definition at line 191 of file rv-battery-model.cc.

References m_samplingInterval, and NS_LOG_FUNCTION.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ UpdateEnergySource()

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.

Definition at line 141 of file rv-battery-model.cc.

References ns3::EnergySource::CalculateTotalCurrent(), ns3::EventId::Cancel(), Discharge(), HandleEnergyDrainedEvent(), ns3::Simulator::IsFinished(), m_alpha, m_batteryLevel, m_currentSampleEvent, m_lastSampleTime, m_lifetime, m_lowBatteryTh, m_previousLoad, m_samplingInterval, m_timeStamps, ns3::Simulator::Now(), NS_LOG_DEBUG, NS_LOG_FUNCTION, ns3::Time::S, ns3::Simulator::Schedule(), and UpdateEnergySource().

Referenced by DoInitialize(), GetBatteryLevel(), GetRemainingEnergy(), and UpdateEnergySource().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Member Data Documentation

◆ m_alpha

double ns3::RvBatteryModel::m_alpha
private

alpha value of RV model, in Coulomb

Definition at line 225 of file rv-battery-model.h.

Referenced by GetAlpha(), GetInitialEnergy(), GetRemainingEnergy(), SetAlpha(), and UpdateEnergySource().

◆ m_batteryLevel

TracedValue<double> ns3::RvBatteryModel::m_batteryLevel
private

Battery level is defined as: output of Discharge function / alpha value.

The output of Discharge function is an estimated charge consumption of the battery.

The alpha value is the amount of charges stored in the battery, or battery capacity (in Coulomb).

When the battery is fully charged (no charge is consumed from the battery) the battery level is 1. When the battery is fully discharged, the battery level is 0.

NOTE Note that the definition in Timmermann's paper is the inverse of this definition. In the paper, battery level = 1 when the battery is drained.

Definition at line 251 of file rv-battery-model.h.

Referenced by RvBatteryModel(), GetBatteryLevel(), GetRemainingEnergy(), GetTypeId(), and UpdateEnergySource().

◆ m_beta

double ns3::RvBatteryModel::m_beta
private

beta value of RV model, in second^-1

Definition at line 226 of file rv-battery-model.h.

Referenced by Discharge(), GetBeta(), and SetBeta().

◆ m_currentSampleEvent

EventId ns3::RvBatteryModel::m_currentSampleEvent
private

Current sample event.

Definition at line 260 of file rv-battery-model.h.

Referenced by UpdateEnergySource().

◆ m_cutoffVoltage

double ns3::RvBatteryModel::m_cutoffVoltage
private

Cutoff voltage (in Volts)

Definition at line 224 of file rv-battery-model.h.

Referenced by GetCutoffVoltage(), GetSupplyVoltage(), and SetCutoffVoltage().

◆ m_lastSampleTime

Time ns3::RvBatteryModel::m_lastSampleTime
private

Last sample time.

Definition at line 231 of file rv-battery-model.h.

Referenced by RvBatteryModel(), Discharge(), and UpdateEnergySource().

◆ m_lifetime

TracedValue<Time> ns3::RvBatteryModel::m_lifetime
private

time of death of the battery

Definition at line 262 of file rv-battery-model.h.

Referenced by RvBatteryModel(), GetLifetime(), GetTypeId(), and UpdateEnergySource().

◆ m_load

std::vector<double> ns3::RvBatteryModel::m_load
private

load profile

Definition at line 229 of file rv-battery-model.h.

Referenced by Discharge().

◆ m_lowBatteryTh

double ns3::RvBatteryModel::m_lowBatteryTh
private

low battery threshold, as a fraction of the initial energy

Definition at line 253 of file rv-battery-model.h.

Referenced by GetTypeId(), and UpdateEnergySource().

◆ m_numOfTerms

int ns3::RvBatteryModel::m_numOfTerms
private

Number# of terms for infinite sum in battery level estimation.

Definition at line 233 of file rv-battery-model.h.

Referenced by GetNumOfTerms(), RvModelAFunction(), and SetNumOfTerms().

◆ m_openCircuitVoltage

double ns3::RvBatteryModel::m_openCircuitVoltage
private

Open circuit voltage (in Volts)

Definition at line 223 of file rv-battery-model.h.

Referenced by GetOpenCircuitVoltage(), GetSupplyVoltage(), SetCutoffVoltage(), and SetOpenCircuitVoltage().

◆ m_previousLoad

double ns3::RvBatteryModel::m_previousLoad
private

load value (total current) of previous sampling

Definition at line 228 of file rv-battery-model.h.

Referenced by RvBatteryModel(), Discharge(), and UpdateEnergySource().

◆ m_samplingInterval

Time ns3::RvBatteryModel::m_samplingInterval
private

Sampling interval.

(1 / sampling interval) = sampling frequency

Definition at line 259 of file rv-battery-model.h.

Referenced by GetSamplingInterval(), SetSamplingInterval(), and UpdateEnergySource().

◆ m_timeStamps

std::vector<Time> ns3::RvBatteryModel::m_timeStamps
private

time stamps of load profile

Definition at line 230 of file rv-battery-model.h.

Referenced by RvBatteryModel(), Discharge(), and UpdateEnergySource().


The documentation for this class was generated from the following files: