EpEnergyStorageBase

Package: inet.power.base

EpEnergyStorageBase

simple module

This is an abstract base module for power based energy storage models. It defines shared signals and statistics.

See also: EpEnergyConsumerBase, EpEnergySourceBase, EpEnergyGeneratorBase, EpEnergySinkBase

Inheritance diagram

The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.

Known subclasses

Name Type Description
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.

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.

Properties

Name Value Description
display i=block/plug
class EpEnergyStorageBase

Signals

Name Type Unit
residualEnergyCapacityChanged
powerConsumptionChanged
powerGenerationChanged

Statistics

Name Title Source Record Unit Interpolation Mode
residualEnergyCapacity Residual energy capacity residualEnergyCapacityChanged vector, last J linear
powerConsumption Power consumption powerConsumptionChanged vector W sample-hold
powerGeneration Power generation powerGenerationChanged vector W sample-hold

Source code

//
// This is an abstract base module for power based energy storage models.
// It defines shared signals and statistics.
//
// @see ~EpEnergyConsumerBase, ~EpEnergySourceBase, ~EpEnergyGeneratorBase, ~EpEnergySinkBase
//
simple EpEnergyStorageBase like IEpEnergyStorage
{
    parameters:
        @display("i=block/plug");
        @class(EpEnergyStorageBase);
        @signal[powerConsumptionChanged];
        @signal[powerGenerationChanged];
        @signal[residualEnergyCapacityChanged];
        @statistic[powerConsumption](title="Power consumption"; source=powerConsumptionChanged; record=vector; interpolationmode=sample-hold; unit=W);
        @statistic[powerGeneration](title="Power generation"; source=powerGenerationChanged; record=vector; interpolationmode=sample-hold; unit=W);
        @statistic[residualEnergyCapacity](title="Residual energy capacity"; source=residualEnergyCapacityChanged; record=vector,last; interpolationmode=linear; unit=J);
}

File: src/inet/power/base/EpEnergyStorageBase.ned