SimpleEpEnergyStorage

Package: inet.power.storage

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.

See also: SimpleEpEnergyManagement

Inheritance diagram

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

Extends

Name Type Description
EpEnergyStorageBase simple module

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

Parameters

Name Type Default value Description
nominalCapacity double

the maximum amount of energy stored

initialCapacity double nominalCapacity

the initially stored amount of energy

printCapacityStep double 0.01 * nominalCapacity

displays residual capacity changes in the log

displayStringTextFormat string "%c (%p)"

Properties

Name Value Description
display i=block/plug
class SimpleEpEnergyStorage

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

Scheduled messages (observed)

msgkindctrltagsmsgnamecontext
omnetpp::cMessage0timer

Direct method calls (observed)

call tofunctioninfo
PingAppinet::PingApp::handleOperationStagehandleOperationStage
NodeStatusinet::NodeStatus::handleOperationStagehandleOperationStage
Ieee80211Interfaceinet::NetworkInterface::handleOperationStagehandleOperationStage
Ieee80211LlcLpdinet::ieee80211::Ieee80211LlcLpd::handleOperationStagehandleOperationStage
Ieee80211Macinet::ieee80211::Ieee80211Mac::handleOperationStagehandleOperationStage
Ieee80211MgmtAdhocinet::ieee80211::Ieee80211MgmtAdhoc::handleOperationStagehandleOperationStage
Loopbackinet::Loopback::handleOperationStagehandleOperationStage
LoopbackInterfaceinet::NetworkInterface::handleOperationStagehandleOperationStage
Arpinet::Arp::handleOperationStagehandleOperationStage
InterfaceTableinet::InterfaceTable::handleOperationStagehandleOperationStage
Ipv4NodeConfiguratorinet::Ipv4NodeConfigurator::handleOperationStagehandleOperationStage
Ipv4inet::Ipv4::handleOperationStagehandleOperationStage
Ipv4RoutingTableinet::Ipv4RoutingTable::handleOperationStagehandleOperationStage
Ieee80211ScalarRadioinet::physicallayer::Ieee80211Radio::handleOperationStagehandleOperationStage
SimpleEpEnergyManagementinet::power::SimpleEpEnergyManagement::receiveSignalpowerConsumptionChanged
SimpleEpEnergyManagementinet::power::SimpleEpEnergyManagement::receiveSignalpowerGenerationChanged
Tcpinet::tcp::Tcp::handleOperationStagehandleOperationStage
Udpinet::Udp::handleOperationStagehandleOperationStage

Called methods (observed)

functioninfocall from
inet::power::SimpleEpEnergyStorage::addEnergyConsumeraddEnergyConsumerStateBasedEpEnergyConsumer
inet::power::SimpleEpEnergyStorage::addEnergyGeneratoraddEnergyGeneratorAlternatingEpEnergyGenerator
inet::power::SimpleEpEnergyStorage::receiveSignalpowerConsumptionChangedStateBasedEpEnergyConsumer
inet::power::SimpleEpEnergyStorage::receiveSignalpowerGenerationChangedAlternatingEpEnergyGenerator

Source code

//
// 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.
//
// @see ~SimpleEpEnergyManagement
//
simple SimpleEpEnergyStorage extends EpEnergyStorageBase
{
    parameters:
        double nominalCapacity @unit(J); // the maximum amount of energy stored
        double initialCapacity @unit(J) = default(nominalCapacity); // the initially stored amount of energy
        double printCapacityStep @unit(J) = default(0.01 * nominalCapacity); // displays residual capacity changes in the log
        string displayStringTextFormat = default("%c (%p)");
        @class(SimpleEpEnergyStorage);
}

File: src/inet/power/storage/SimpleEpEnergyStorage.ned