ns3::LiIonEnergySource Class Reference

Model a generic Lithium Ion Battery basing on [1][2]. More...

#include <li-ion-energy-source.h>

Inheritance diagram for ns3::LiIonEnergySource:
Inheritance graph
[legend]
Collaboration diagram for ns3::LiIonEnergySource:
Collaboration graph
[legend]

List of all members.

Public Member Functions

virtual double GetInitialEnergy (void) const
void SetInitialEnergy (double initialEnergyJ)
virtual double GetSupplyVoltage (void) const
void SetInitialSupplyVoltage (double supplyVoltageV)
virtual double GetRemainingEnergy (void)
virtual double GetEnergyFraction (void)
virtual void DecreaseRemainingEnergy (double energyJ)
virtual void IncreaseRemainingEnergy (double energyJ)
virtual void UpdateEnergySource (void)
void SetEnergyUpdateInterval (Time interval)
Time GetEnergyUpdateInterval (void) const

Static Public Member Functions

static TypeId GetTypeId (void)
 This method returns the TypeId associated to ns3::LiIonEnergySource.

Detailed Description

Model a generic Lithium Ion Battery basing on [1][2].

The model can be fitted to any type of Li-Ion Battery, simply changing the model parameters. The default values are fitted for the Panasonic CGR18650DA Li-Ion Battery [3].

The energy is drained as defined from the EnergySource interface but, this class consider the non-linear behaviour of Li-Ion cell. Each time energy is drained from the cell, the class evaluates the discharge curve to get the actual cell's voltage, accordingly to State of Charge (SOC) and current's drain.

If the actual voltage of the cell goes below the minimum threshold voltage, the cell is considered depleted and the energy drained event fired up.

The model requires several parameters to approximates the discharge curves:

For a complete reference of the energy source model and model's fitting please refer to UAN Framework page and Li-Ion model fitting page.

References: [1] C. M. Shepherd, "Design of Primary and Secondary Cells - Part 3. Battery discharge equation," U.S. Naval Research Laboratory, 1963 [2] Tremblay, O.; Dessaint, L.-A.; Dekkiche, A.-I., "A Generic Battery Model for the Dynamic Simulation of Hybrid Electric Vehicles," Ecole de Technologie Superieure, Universite du Quebec, 2007 [3] http://www.panasonic.com/industrial/includes/pdf/Panasonic_LiIon_CGR18650DA.pdf


Member Function Documentation

virtual void ns3::LiIonEnergySource::DecreaseRemainingEnergy ( double  energyJ  )  [virtual]
Parameters:
energyJ Amount of energy (in Joules) to decrease from energy source.

Implements DecreaseRemainingEnergy.

virtual double ns3::LiIonEnergySource::GetEnergyFraction ( void   )  [virtual]
Returns:
Energy fraction.

Implements GetEnergyFraction.

Implements ns3::EnergySource.

Time ns3::LiIonEnergySource::GetEnergyUpdateInterval ( void   )  const
Returns:
The interval between each energy update.
virtual double ns3::LiIonEnergySource::GetInitialEnergy ( void   )  const [virtual]
Returns:
Initial energy stored in energy source, in Joules.

Implements GetInitialEnergy.

Implements ns3::EnergySource.

virtual double ns3::LiIonEnergySource::GetRemainingEnergy ( void   )  [virtual]
Returns:
Remaining energy in energy source, in Joules

Implements GetRemainingEnergy.

Implements ns3::EnergySource.

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

Implements GetSupplyVoltage.

Implements ns3::EnergySource.

static TypeId ns3::LiIonEnergySource::GetTypeId ( void   )  [static]

This method returns the TypeId associated to ns3::LiIonEnergySource.

This object is accessible through the following paths with Config::Set and Config::Connect:

  • /NodeList/[i]/DeviceList/[i]/$ns3::AlohaNoackNetDevice/Phy/$ns3::EnergySource/$ns3::LiIonEnergySource
  • /NodeList/[i]/DeviceList/[i]/$ns3::AlohaNoackNetDevice/Phy/$ns3::LiIonEnergySource
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/BsIpcsPacketClassifier/$ns3::EnergySource/$ns3::LiIonEnergySource
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/BsIpcsPacketClassifier/$ns3::LiIonEnergySource
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/LinkManager/$ns3::EnergySource/$ns3::LiIonEnergySource
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/LinkManager/$ns3::LiIonEnergySource
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/SSManager/$ns3::EnergySource/$ns3::LiIonEnergySource
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/SSManager/$ns3::LiIonEnergySource
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/ServiceFlowManager/$ns3::EnergySource/$ns3::LiIonEnergySource
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/ServiceFlowManager/$ns3::LiIonEnergySource
  • /NodeList/[i]/DeviceList/[i]/$ns3::NonCommunicatingNetDevice/Phy/$ns3::EnergySource/$ns3::LiIonEnergySource
  • /NodeList/[i]/DeviceList/[i]/$ns3::NonCommunicatingNetDevice/Phy/$ns3::LiIonEnergySource
  • /NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/Classifier/$ns3::EnergySource/$ns3::LiIonEnergySource
  • /NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/Classifier/$ns3::LiIonEnergySource
  • /NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/LinkManager/$ns3::EnergySource/$ns3::LiIonEnergySource
  • /NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/LinkManager/$ns3::LiIonEnergySource
  • /NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/SSScheduler/$ns3::EnergySource/$ns3::LiIonEnergySource
  • /NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/SSScheduler/$ns3::LiIonEnergySource
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Channel/NoiseModel/$ns3::EnergySource/$ns3::LiIonEnergySource
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Channel/NoiseModel/$ns3::LiIonEnergySource
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Channel/PropagationModel/$ns3::EnergySource/$ns3::LiIonEnergySource
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Channel/PropagationModel/$ns3::LiIonEnergySource
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Mac/$ns3::EnergySource/$ns3::LiIonEnergySource
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Mac/$ns3::LiIonEnergySource
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Phy/$ns3::EnergySource/$ns3::LiIonEnergySource
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Phy/$ns3::LiIonEnergySource
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Transducer/$ns3::EnergySource/$ns3::LiIonEnergySource
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Transducer/$ns3::LiIonEnergySource
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/BsIpcsPacketClassifier/$ns3::EnergySource/$ns3::LiIonEnergySource
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/BsIpcsPacketClassifier/$ns3::LiIonEnergySource
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/LinkManager/$ns3::EnergySource/$ns3::LiIonEnergySource
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/LinkManager/$ns3::LiIonEnergySource
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/SSManager/$ns3::EnergySource/$ns3::LiIonEnergySource
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/SSManager/$ns3::LiIonEnergySource
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/ServiceFlowManager/$ns3::EnergySource/$ns3::LiIonEnergySource
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/ServiceFlowManager/$ns3::LiIonEnergySource
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/Classifier/$ns3::EnergySource/$ns3::LiIonEnergySource
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/Classifier/$ns3::LiIonEnergySource
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/LinkManager/$ns3::EnergySource/$ns3::LiIonEnergySource
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/LinkManager/$ns3::LiIonEnergySource
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/SSScheduler/$ns3::EnergySource/$ns3::LiIonEnergySource
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/SSScheduler/$ns3::LiIonEnergySource
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/BandwidthManager/$ns3::EnergySource/$ns3::LiIonEnergySource
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/BandwidthManager/$ns3::LiIonEnergySource
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/BurstProfileManager/$ns3::EnergySource/$ns3::LiIonEnergySource
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/BurstProfileManager/$ns3::LiIonEnergySource
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Channel/$ns3::UanChannel/NoiseModel/$ns3::EnergySource/$ns3::LiIonEnergySource
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Channel/$ns3::UanChannel/NoiseModel/$ns3::LiIonEnergySource
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Channel/$ns3::UanChannel/PropagationModel/$ns3::EnergySource/$ns3::LiIonEnergySource
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Channel/$ns3::UanChannel/PropagationModel/$ns3::LiIonEnergySource
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/ConnectionManager/$ns3::EnergySource/$ns3::LiIonEnergySource
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/ConnectionManager/$ns3::LiIonEnergySource
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Phy/Channel/$ns3::UanChannel/NoiseModel/$ns3::EnergySource/$ns3::LiIonEnergySource
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Phy/Channel/$ns3::UanChannel/NoiseModel/$ns3::LiIonEnergySource
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Phy/Channel/$ns3::UanChannel/PropagationModel/$ns3::EnergySource/$ns3::LiIonEnergySource
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Phy/Channel/$ns3::UanChannel/PropagationModel/$ns3::LiIonEnergySource

Attributes defined for this type:

  • LiIonEnergySourceInitialEnergyJ: Initial energy stored in basic energy source.
    • Set with class: ns3::DoubleValue
    • Underlying type: double -1.79769e+308:1.79769e+308
    • Initial value: 31752
    • Flags: construct write read
  • IntialCellVoltage: Initial (maximum) voltage of the cell (fully charged).
    • Set with class: ns3::DoubleValue
    • Underlying type: double -1.79769e+308:1.79769e+308
    • Initial value: 4.05
    • Flags: construct write read
  • NominalCellVoltage: Nominal voltage of the cell.
    • Set with class: ns3::DoubleValue
    • Underlying type: double -1.79769e+308:1.79769e+308
    • Initial value: 3.6
    • Flags: construct write read
  • ExpCellVoltage: Cell voltage at the end of the exponential zone.
    • Set with class: ns3::DoubleValue
    • Underlying type: double -1.79769e+308:1.79769e+308
    • Initial value: 3.6
    • Flags: construct write read
  • RatedCapacity: Rated capacity of the cell.
    • Set with class: ns3::DoubleValue
    • Underlying type: double -1.79769e+308:1.79769e+308
    • Initial value: 2.45
    • Flags: construct write read
  • NomCapacity: Cell capacity at the end of the nominal zone.
    • Set with class: ns3::DoubleValue
    • Underlying type: double -1.79769e+308:1.79769e+308
    • Initial value: 1.1
    • Flags: construct write read
  • ExpCapacity: Cell Capacity at the end of the exponential zone.
    • Set with class: ns3::DoubleValue
    • Underlying type: double -1.79769e+308:1.79769e+308
    • Initial value: 1.2
    • Flags: construct write read
  • InternalResistance: Internal resistance of the cell
    • Set with class: ns3::DoubleValue
    • Underlying type: double -1.79769e+308:1.79769e+308
    • Initial value: 0.083
    • Flags: construct write read
  • TypCurrent: Typical discharge current used to fit the curves
    • Set with class: ns3::DoubleValue
    • Underlying type: double -1.79769e+308:1.79769e+308
    • Initial value: 2.33
    • Flags: construct write read
  • ThresholdVoltage: Minimum threshold voltage to consider the battery depleted.
    • Set with class: ns3::DoubleValue
    • Underlying type: double -1.79769e+308:1.79769e+308
    • Initial value: 3.3
    • Flags: construct write read
  • PeriodicEnergyUpdateInterval: Time between two consecutive periodic energy updates.
    • Set with class: TimeValue
    • Underlying type: Time
    • Initial value: 1000000000ns
    • Flags: construct write read

TraceSources defined for this type:

Reimplemented from ns3::EnergySource.

virtual void ns3::LiIonEnergySource::IncreaseRemainingEnergy ( double  energyJ  )  [virtual]
Parameters:
energyJ Amount of energy (in Joules) to increase from energy source.

Implements IncreaseRemainingEnergy.

void ns3::LiIonEnergySource::SetEnergyUpdateInterval ( Time  interval  ) 
Parameters:
interval Energy update interval.

This function sets the interval between each energy update.

void ns3::LiIonEnergySource::SetInitialEnergy ( double  initialEnergyJ  ) 
Parameters:
initialEnergyJ Initial energy, in Joules

Implements SetInitialEnergy. Note that initial energy is assumed to be set before simulation starts and is set only once per simulation.

void ns3::LiIonEnergySource::SetInitialSupplyVoltage ( double  supplyVoltageV  ) 
Parameters:
supplyVoltageV Initial Supply voltage at the energy source, in Volts.

Sets the initial supply voltage of the energy source. To be called only once.

virtual void ns3::LiIonEnergySource::UpdateEnergySource ( void   )  [virtual]

Implements UpdateEnergySource.

Implements ns3::EnergySource.


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

Generated on 6 Jan 2011 for NS-3 by  doxygen 1.6.1