Package: inet.power.contract
IEnergyStorage
module interfaceThe energy storage models describe devices that absorb energy produced by generators, and provide energy for consumers. For example, an electrochemical battery in a mobile phone provides energy for its display, its CPU, and its wireless communication device. It can also absorb energy produced by a solar panel installed on its display, or by a portable charger plugged into a wall socket.
See also: IEnergyConsumer, IEnergySource, IEnergyGenerator, IEnergySink, IEnergyManagement
Inheritance diagram
The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.
Implemented by
Name | Type | Description |
---|---|---|
CcBatteryPack | simple module | (no description) |
CcEnergyStorageBase | simple module |
This is an abstract base module for current based energy storage models. It defines shared signals and statistics. |
EpEnergyStorageBase | simple module |
This is an abstract base module for power based energy storage models. It defines shared signals and statistics. |
IdealEpEnergyStorage | simple module |
This energy storage model stores an infinite amount of energy. It can provide energy for any number of consumers, and it can absorb energy from any number of generators. The ideal energy storage never gets completely charged or depleted. This module is primarily useful for testing energy consumer and energy generator models. See the base module for signals and statistics. |
SimpleCcBattery | simple module |
This battery model maintains a residual charge capacity by integrating the difference between the total consumed current and the total generated current over time. This model uses a charge independent ideal voltage source and an charge independent internal resistance. It initiates node crash when the residual charge capacity reaches zero. See the base module for signals and statistics. |
SimpleEpEnergyStorage | simple module |
This energy storage model maintains a residual energy capacity by integrating the difference between the total consumed power and the total generated power over time. It initiates node crash when the residual energy capacity reaches zero. This model doesn't have various properties such as self-discharge, memory effect, overcharging, temperature-dependence, etc. that real world batteries have. See the base module for signals and statistics. |
Used in compound modules
Name | Type | Description |
---|---|---|
NodeBase | compound module |
This module contains the most basic infrastructure for network nodes that is not strictly communication protocol related. |
Known subclasses
Name | Type | Description |
---|---|---|
ICcEnergyStorage | module interface |
This interface extends the corresponding energy model interface. It requires implementations to describe energy consumption and energy generation with current [A], and storage capacity with charge [C] and output voltage [V]. The Cc is an abbreviation that is used for charge and current based interfaces. |
IEpEnergyStorage | module interface |
This interface extends the corresponding energy model interface. It requires implementations to describe energy consumption and energy generation with power [W] and storage capacity with energy [J]. The Ep is an abbreviation that is used for energy and power based interfaces. |
Extends
Name | Type | Description |
---|---|---|
IEnergySink | module interface |
The energy sink models absorb energy from multiple energy generators. |
IEnergySource | module interface |
The energy source models provide energy for multiple energy consumers. |
Properties
Name | Value | Description |
---|---|---|
display | i=block/plug |
Source code
// // The energy storage models describe devices that absorb energy produced by // generators, and provide energy for consumers. For example, an electrochemical // battery in a mobile phone provides energy for its display, its CPU, and its // wireless communication device. It can also absorb energy produced by a solar // panel installed on its display, or by a portable charger plugged into a wall // socket. // // @see ~IEnergyConsumer, ~IEnergySource, ~IEnergyGenerator, ~IEnergySink, ~IEnergyManagement // moduleinterface IEnergyStorage extends IEnergySource, IEnergySink { parameters: @display("i=block/plug"); }File: src/inet/power/contract/IEnergyStorage.ned