IEnergyStorage

Package: inet.power.contract

module interface IEnergyStorage

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 also: IEnergyConsumer, IEnergySource, IEnergyGenerator, IEnergySink, IEnergyManagement

Usage diagram

Inheritance diagram

Implemented by

Name

Type

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.

CcBatteryPack

simple module

Models a battery pack consisting of multiple identical cells arranged in series or parallel. Calculates the overall capacity, voltage, and internal resistance based on the cell properties and their arrangement. In a serial arrangement, voltages and internal resistances add up. In a parallel arrangement, capacities add up and internal resistance decreases.

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 a 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 does not 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

The fundamental infrastructure for all network nodes focusing on non-communication aspects of network nodes.

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

IEnergySource

module interface

The energy source models provide energy for multiple energy consumers.

IEnergySink

module interface

The energy sink models absorbs energy from multiple energy generators.

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