Model a generic Lithium Ion Battery basing on [1][2]. More...
#include <li-ion-energy-source.h>
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. |
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
virtual void ns3::LiIonEnergySource::DecreaseRemainingEnergy | ( | double | energyJ | ) | [virtual] |
energyJ | Amount of energy (in Joules) to decrease from energy source. |
Implements DecreaseRemainingEnergy.
virtual double ns3::LiIonEnergySource::GetEnergyFraction | ( | void | ) | [virtual] |
Time ns3::LiIonEnergySource::GetEnergyUpdateInterval | ( | void | ) | const |
virtual double ns3::LiIonEnergySource::GetInitialEnergy | ( | void | ) | const [virtual] |
Implements GetInitialEnergy.
Implements ns3::EnergySource.
virtual double ns3::LiIonEnergySource::GetRemainingEnergy | ( | void | ) | [virtual] |
Implements GetRemainingEnergy.
Implements ns3::EnergySource.
virtual double ns3::LiIonEnergySource::GetSupplyVoltage | ( | void | ) | const [virtual] |
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:
Attributes defined for this type:
TraceSources defined for this type:
Reimplemented from ns3::EnergySource.
virtual void ns3::LiIonEnergySource::IncreaseRemainingEnergy | ( | double | energyJ | ) | [virtual] |
energyJ | Amount of energy (in Joules) to increase from energy source. |
Implements IncreaseRemainingEnergy.
void ns3::LiIonEnergySource::SetEnergyUpdateInterval | ( | Time | interval | ) |
interval | Energy update interval. |
This function sets the interval between each energy update.
void ns3::LiIonEnergySource::SetInitialEnergy | ( | double | initialEnergyJ | ) |
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 | ) |
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.