Package gridiq.simulation

GridIQ - A test bed for smart grid agents This package contains core classes for running simulations.

See:
          Description

Interface Summary
AgentManager The AgentManager employs the Facade design pattern to provide a single point of control for all agents in the system.
ResultsWriter This interface decouples the actual method used to store results from the system.
 

Class Summary
GnuPlotWriter The default results writer supporting plotting using Gnuplot.
JADEAgentManager A concrete implementation of AgentManager to support the JADE agent platform.
Project This class represents configuration settings for a simulation.
SimulationController This component provides a single interface to the GridIQ system by implementing the Facade design pattern.
 

Package gridiq.simulation Description

GridIQ - A test bed for smart grid agents This package contains core classes for running simulations.

A description of this sequence of events is given below.

1 A simulation is initiated The user runs a simulation. The global and project configuration files are parsed to determine simulation settings.

1.1 The network is loaded The network description file specified by the project settings is parsed to construct a network model.

1.2 Agents are started The set of agents specified by the project settings are instantiated with a reference to a bus object in the network model.

1.3 A power flow analysis is executed The power simulation tool is run to solve the network and results are returned to the SimulationController.

1.4 Agents are notified of the simulation results The AgentManager passes the simulation results for each bus to the relevant agent.

1.5 Agents modify network properties Agents use the simulation results in their decision making process to communicate with other agents and modify the properties of their bus.

Steps 1.3 to 1.5 are repeated for the number of iterations specified in the project settings. Each time the updated network structure is used as the basis for the power flow analysis in the next iteration.