BasicEnergyHarvester increases remaining energy stored in an associated Energy Source. More...
#include <basic-energy-harvester.h>
Public Member Functions | |
BasicEnergyHarvester () | |
BasicEnergyHarvester (Time updateInterval) | |
virtual | ~BasicEnergyHarvester () |
int64_t | AssignStreams (int64_t stream) |
Time | GetHarvestedPowerUpdateInterval (void) const |
void | SetHarvestedPowerUpdateInterval (Time updateInterval) |
![]() | |
EnergyHarvester () | |
virtual | ~EnergyHarvester () |
Ptr< EnergySource > | GetEnergySource (void) const |
Ptr< Node > | GetNode (void) const |
double | GetPower (void) const |
void | SetEnergySource (Ptr< EnergySource > source) |
void | SetNode (Ptr< Node > node) |
Sets pointer to node containing this EnergyHarvester. More... | |
![]() | |
Object () | |
virtual | ~Object () |
void | AggregateObject (Ptr< Object > other) |
void | Dispose (void) |
Run the DoDispose methods of this object and all the objects aggregated to it. More... | |
AggregateIterator | GetAggregateIterator (void) const |
virtual TypeId | GetInstanceTypeId (void) const |
template<typename T > | |
Ptr< T > | GetObject (void) const |
template<typename T > | |
Ptr< T > | GetObject (TypeId tid) const |
void | Initialize (void) |
This method calls the virtual DoInitialize method on all the objects aggregated to this object. More... | |
![]() | |
SimpleRefCount () | |
Constructor. More... | |
SimpleRefCount (const SimpleRefCount &o) | |
Copy constructor. More... | |
uint32_t | GetReferenceCount (void) const |
Get the reference count of the object. More... | |
SimpleRefCount & | operator= (const SimpleRefCount &o) |
Assignment. More... | |
void | Ref (void) const |
Increment the reference count. More... | |
void | Unref (void) const |
Decrement the reference count. More... | |
![]() | |
virtual | ~ObjectBase () |
Virtual destructor. More... | |
void | GetAttribute (std::string name, AttributeValue &value) const |
bool | GetAttributeFailSafe (std::string name, AttributeValue &attribute) const |
void | SetAttribute (std::string name, const AttributeValue &value) |
bool | SetAttributeFailSafe (std::string name, const AttributeValue &value) |
bool | TraceConnect (std::string name, std::string context, const CallbackBase &cb) |
bool | TraceConnectWithoutContext (std::string name, const CallbackBase &cb) |
bool | TraceDisconnect (std::string name, std::string context, const CallbackBase &cb) |
bool | TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb) |
Static Public Member Functions | |
static TypeId | GetTypeId (void) |
![]() | |
static TypeId | GetTypeId (void) |
![]() | |
static TypeId | GetTypeId (void) |
Register this type. More... | |
![]() | |
static void | Cleanup (void) |
Noop. More... | |
![]() | |
static TypeId | GetTypeId (void) |
Get the type ID. More... | |
Private Member Functions | |
void | CalculateHarvestedPower (void) |
Calculates harvested Power. More... | |
void | DoDispose (void) |
Defined in ns3::Object. More... | |
virtual double | DoGetPower (void) const |
void | DoInitialize (void) |
Defined in ns3::Object. More... | |
void | UpdateHarvestedPower (void) |
This function is called every m_energyHarvestingUpdateInterval in order to update the amount of power that will be provided by the harvester in the next interval. More... | |
Private Attributes | |
EventId | m_energyHarvestingUpdateEvent |
Ptr< RandomVariableStream > | m_harvestablePower |
TracedValue< double > | m_harvestedPower |
Time | m_harvestedPowerUpdateInterval |
Time | m_lastHarvestingUpdateTime |
TracedValue< double > | m_totalEnergyHarvestedJ |
Additional Inherited Members | |
![]() | |
Object (const Object &o) | |
virtual void | NotifyNewAggregate (void) |
This method is invoked whenever two sets of objects are aggregated together. More... | |
![]() | |
void | ConstructSelf (const AttributeConstructionList &attributes) |
virtual void | NotifyConstructionCompleted (void) |
This method is invoked once all member attributes have been initialized. More... | |
BasicEnergyHarvester increases remaining energy stored in an associated Energy Source.
Doxygen introspection did not find any typical Config paths.
The BasicEnergyHarvester implements a simple model in which the amount of power provided by the harvester varies over time according to a customizable generic random variable and time update intervals.
Unit of power is chosen as Watt since energy models typically calculate energy as (time in seconds * power in Watt).
Definition at line 48 of file basic-energy-harvester.h.
ns3::BasicEnergyHarvester::BasicEnergyHarvester | ( | ) |
Definition at line 64 of file basic-energy-harvester.cc.
References NS_LOG_FUNCTION.
ns3::BasicEnergyHarvester::BasicEnergyHarvester | ( | Time | updateInterval | ) |
updateInterval | Energy harvesting update interval. |
BasicEnergyHarvester constructor function that sets the interval between each update of the value of the power harvested by this energy harvester.
Definition at line 69 of file basic-energy-harvester.cc.
References m_harvestedPowerUpdateInterval, and NS_LOG_FUNCTION.
|
virtual |
Definition at line 75 of file basic-energy-harvester.cc.
References NS_LOG_FUNCTION.
int64_t ns3::BasicEnergyHarvester::AssignStreams | ( | int64_t | stream | ) |
stream | Random variable stream number. |
This function sets the stream number to be used by the random variable that determines the amount of power that can be harvested by this energy harvester.
Definition at line 81 of file basic-energy-harvester.cc.
References m_harvestablePower, NS_LOG_FUNCTION, and ns3::RandomVariableStream::SetStream().
|
private |
Calculates harvested Power.
Definition at line 163 of file basic-energy-harvester.cc.
References ns3::RandomVariableStream::GetValue(), m_harvestablePower, m_harvestedPower, ns3::Simulator::Now(), NS_LOG_DEBUG, and NS_LOG_FUNCTION.
Referenced by UpdateHarvestedPower().
|
privatevirtual |
Defined in ns3::Object.
Reimplemented from ns3::EnergyHarvester.
Definition at line 157 of file basic-energy-harvester.cc.
References NS_LOG_FUNCTION.
|
privatevirtual |
Reimplemented from ns3::EnergyHarvester.
Definition at line 174 of file basic-energy-harvester.cc.
References m_harvestedPower, and NS_LOG_FUNCTION.
|
privatevirtual |
Defined in ns3::Object.
Reimplemented from ns3::Object.
Definition at line 147 of file basic-energy-harvester.cc.
References m_lastHarvestingUpdateTime, ns3::Simulator::Now(), NS_LOG_FUNCTION, and UpdateHarvestedPower().
Time ns3::BasicEnergyHarvester::GetHarvestedPowerUpdateInterval | ( | void | ) | const |
This function returns the interval between each update of the value of the power harvested by this energy harvester.
Definition at line 96 of file basic-energy-harvester.cc.
References m_harvestedPowerUpdateInterval, and NS_LOG_FUNCTION.
Referenced by GetTypeId().
|
static |
Definition at line 38 of file basic-energy-harvester.cc.
References GetHarvestedPowerUpdateInterval(), m_harvestablePower, m_harvestedPower, m_totalEnergyHarvestedJ, ns3::MakeTimeChecker(), ns3::MakeTraceSourceAccessor(), ns3::Seconds(), SetHarvestedPowerUpdateInterval(), and ns3::TypeId::SetParent().
void ns3::BasicEnergyHarvester::SetHarvestedPowerUpdateInterval | ( | Time | updateInterval | ) |
updateInterval | Energy harvesting update interval. |
This function sets the interval between each update of the value of the power harvested by this energy harvester.
Definition at line 89 of file basic-energy-harvester.cc.
References m_harvestedPowerUpdateInterval, and NS_LOG_FUNCTION.
Referenced by BasicEnergyHarvesterTestCase::DoRun(), and GetTypeId().
|
private |
This function is called every m_energyHarvestingUpdateInterval in order to update the amount of power that will be provided by the harvester in the next interval.
Definition at line 107 of file basic-energy-harvester.cc.
References CalculateHarvestedPower(), ns3::EventId::Cancel(), ns3::EnergyHarvester::GetEnergySource(), ns3::Time::GetNanoSeconds(), ns3::EnergyHarvester::GetNode(), ns3::Time::GetSeconds(), ns3::Simulator::IsFinished(), m_energyHarvestingUpdateEvent, m_harvestedPower, m_harvestedPowerUpdateInterval, m_lastHarvestingUpdateTime, m_totalEnergyHarvestedJ, ns3::Simulator::Now(), NS_ASSERT, NS_LOG_DEBUG, NS_LOG_FUNCTION, and ns3::Simulator::Schedule().
Referenced by DoInitialize().
|
private |
Definition at line 123 of file basic-energy-harvester.h.
Referenced by UpdateHarvestedPower().
|
private |
Definition at line 118 of file basic-energy-harvester.h.
Referenced by AssignStreams(), CalculateHarvestedPower(), and GetTypeId().
|
private |
Definition at line 120 of file basic-energy-harvester.h.
Referenced by CalculateHarvestedPower(), DoGetPower(), GetTypeId(), and UpdateHarvestedPower().
|
private |
Definition at line 125 of file basic-energy-harvester.h.
Referenced by BasicEnergyHarvester(), GetHarvestedPowerUpdateInterval(), SetHarvestedPowerUpdateInterval(), and UpdateHarvestedPower().
|
private |
Definition at line 124 of file basic-energy-harvester.h.
Referenced by DoInitialize(), and UpdateHarvestedPower().
|
private |
Definition at line 121 of file basic-energy-harvester.h.
Referenced by GetTypeId(), and UpdateHarvestedPower().