AlternatingEpEnergyGenerator

Package: inet.power.generator

AlternatingEpEnergyGenerator

simple module

C++ definition

This energy generator model alternates between two modes called generation and sleep mode. In generation mode, it generates a randomly selected constant power for a random time interval. In sleep mode, it doesn't generate energy for another random time interval.

<b>See also:</b> ~AlternatingEpEnergyConsumer

Inheritance diagram

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

Extends

Name Type Description
EpEnergyGeneratorBase simple module

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

Parameters

Name Type Default value Description
displayStringTextFormat string ""

Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information

energySinkModule string "^.energyStorage"

Module path of the energy sink

powerGeneration double

The amount of power generated in the generation mode

generationInterval double

The time interval for the generation mode

sleepInterval double

The time interval for the sleep mode

Properties

Name Value Description
class AlternatingEpEnergyGenerator
display i=block/plug

Signals

Name Type Unit Description
powerGenerationChanged

Statistics

Name Title Source Record Unit Interpolation Mode Description
powerGeneration Power generation powerGenerationChanged vector W sample-hold

Source code

//
// This energy generator model alternates between two modes called generation
// and sleep mode. In generation mode, it generates a randomly selected constant
// power for a random time interval. In sleep mode, it doesn't generate energy
// for another random time interval.
//
// @see ~AlternatingEpEnergyConsumer
//
simple AlternatingEpEnergyGenerator extends EpEnergyGeneratorBase
{
    parameters:
        string energySinkModule = default("^.energyStorage"); // Module path of the energy sink
        volatile double powerGeneration @unit(W); // The amount of power generated in the generation mode
        volatile double generationInterval @unit(s); // The time interval for the generation mode
        volatile double sleepInterval @unit(s); // The time interval for the sleep mode
        @class(AlternatingEpEnergyGenerator);
}
File: src/inet/power/generator/AlternatingEpEnergyGenerator.ned