AlternatingEpEnergyGenerator

Package: inet.power.generator

simple module AlternatingEpEnergyGenerator

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 also: AlternatingEpEnergyConsumer

inet.power.generator.AlternatingEpEnergyGeneratorAlternatingEpEnergyGeneratorsimple

Inheritance 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

“power: {powerGeneration}”

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);
        displayStringTextFormat = default("power: {powerGeneration}");
}

File: src/inet/power/generator/AlternatingEpEnergyGenerator.ned