Simple Module CcEnergyStorageBase

Package: inet.power.base
File: src/inet/power/base/CcEnergyStorageBase.ned

C++ definition

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

See also: CcEnergyConsumerBase, CcEnergySourceBase, CcEnergyGeneratorBase, CcEnergySinkBase

Author: Levente Meszaros

CcEnergyStorageBase

Usage diagram:

The following diagram shows usage relationships between types. Unresolved types are missing from the diagram.

Inheritance diagram:

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

Known subclasses:

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

Properties:

Name Value Description
display i=block/plug

Signals:

Name Type Unit
currentConsumptionChanged
residualChargeCapacityChanged
currentGenerationChanged

Statistics:

Name Title Source Record Unit Interpolation Mode
currentGeneration Current generation currentGenerationChanged vector sample-hold
residualChargeCapacity Residual charge capacity residualChargeCapacityChanged vector linear
currentConsumption Current consumption currentConsumptionChanged vector sample-hold

Source code:

//
// This is an abstract base module for current based energy storage models.
// It defines shared signals and statistics.
//
// @see ~CcEnergyConsumerBase, ~CcEnergySourceBase, ~CcEnergyGeneratorBase, ~CcEnergySinkBase  
// @author Levente Meszaros
//
simple CcEnergyStorageBase like ICcEnergyStorage
{
    parameters:
        @display("i=block/plug");
        @signal[currentConsumptionChanged];
        @signal[currentGenerationChanged];
        @signal[residualChargeCapacityChanged];
        @statistic[currentConsumption](title="Current consumption"; source=currentConsumptionChanged; record=vector; interpolationmode=sample-hold);
        @statistic[currentGeneration](title="Current generation"; source=currentGenerationChanged; record=vector; interpolationmode=sample-hold);
        @statistic[residualChargeCapacity](title="Residual charge capacity"; source=residualChargeCapacityChanged; record=vector; interpolationmode=linear);
}