Distribution flow solver (radial)
[Runtime modules]


Detailed Description

This module contains a model simulating a powerflow distribution network using Kersting's method outlined in his book: Distribution System Modeling and Analysis.

Implements a switch object.

Implements a a series reactor object with specifiable impedances.

In this method, the network is looked at as a system of nodes and links. Voltage and current are passed along the network in a series of sweeps. During the sweeps, and small system of equations are solved at each link using linear methods. The sweeps are repeated for each timestep until the system reaches equilibrium, at which point the time in the network can advance to the next available timestamp. During a sweep, 3 passes are made across the network; pre-topdown, bottom up, and post-topdown. During the pre-topdown pass, the meter object resets agregator variables, and calculates maximum powe and energy consumption. During the bottom up pass, currents are agregated, starting at the meter, and working its way up the network to the generation node. In the post-topdown pass, voltages for each node are calculated starting at the generation node and working down towards the meter object (and from there into the end use models).

This is a static reactor, so values will only be computed once.


Files

file  powerflow.h
 
Id
powerflow.h 1182 2008-12-22 22:08:36Z dchassin
Copyright (C) 2008 Battelle Memorial Institute

Modules

 Capacitor
 Fuse
 Line
 This file contains the definition for 4 types of lines, their configurations and the conductors associated with these lines.
 Meter
 Substation object serves as a connecting object between the powerflow and network solvers.
 Powerflow library (abstract)
 The powerflow_library class is an abstract class that implements basic elements of powerflow object configurations.
 Powerflow objects (abstract)
 The powerflow_object class is an abstract class that implements basic elements of powerflow solutions.
 Regulator
 Relay
 Implements a relay object.
 Transformer
 The transformer is one of the more complex objects in the powerflow network.

Functions

EXPORT int commit_series_reactor (OBJECT *obj)
 REQUIRED: allocate and initialize an object.
EXPORT int commit_switch_object (OBJECT *obj)
 REQUIRED: allocate and initialize an object.
int switch_object::create (void)
 Fully resolved status (ABC) - used for reliability and recalculation detection.
EXPORT int init_series_reactor (OBJECT *obj)
 Object initialization is called once after all object have been created.
EXPORT int init_switch (OBJECT *obj)
 Object initialization is called once after all object have been created.
EXPORT TIMESTAMP sync_series_reactor (OBJECT *obj, TIMESTAMP t0, PASSCONFIG pass)
 Sync is called when the clock needs to advance on the bottom-up pass (PC_BOTTOMUP).
EXPORT TIMESTAMP sync_switch (OBJECT *obj, TIMESTAMP t0, PASSCONFIG pass)
 Sync is called when the clock needs to advance on the bottom-up pass (PC_BOTTOMUP).


Function Documentation

EXPORT int commit_series_reactor ( OBJECT obj  ) 

REQUIRED: allocate and initialize an object.

Parameters:
obj a pointer to a pointer of the last object in the list
parent a pointer to the parent of this object
Returns:
1 for a successfully created object, 0 for error

Definition at line 143 of file series_reactor.cpp.

References OBJECTDATA.

EXPORT int commit_switch_object ( OBJECT obj  ) 

REQUIRED: allocate and initialize an object.

Parameters:
obj a pointer to a pointer of the last object in the list
parent a pointer to the parent of this object
Returns:
1 for a successfully created object, 0 for error

Definition at line 792 of file switch_object.cpp.

References OBJECTDATA.

EXPORT int init_series_reactor ( OBJECT obj  ) 

Object initialization is called once after all object have been created.

Parameters:
obj a pointer to this object
Returns:
1 on success, 0 on error

Definition at line 177 of file series_reactor.cpp.

References GL_THROW, and OBJECTDATA.

EXPORT int init_switch ( OBJECT obj  ) 

Object initialization is called once after all object have been created.

Parameters:
obj a pointer to this object
Returns:
1 on success, 0 on error

Definition at line 826 of file switch_object.cpp.

References GL_THROW, and OBJECTDATA.

EXPORT TIMESTAMP sync_series_reactor ( OBJECT obj,
TIMESTAMP  t0,
PASSCONFIG  pass 
)

Sync is called when the clock needs to advance on the bottom-up pass (PC_BOTTOMUP).

Parameters:
obj the object we are sync'ing
t0 this objects current timestamp
pass the current pass for this sync call
Returns:
t1, where t1>t0 on success, t1=t0 for retry, t1<t0 on failure

Definition at line 198 of file series_reactor.cpp.

References GL_THROW, OBJECTDATA, PC_BOTTOMUP, PC_POSTTOPDOWN, and PC_PRETOPDOWN.

EXPORT TIMESTAMP sync_switch ( OBJECT obj,
TIMESTAMP  t0,
PASSCONFIG  pass 
)

Sync is called when the clock needs to advance on the bottom-up pass (PC_BOTTOMUP).

Parameters:
obj the object we are sync'ing
t0 this objects current timestamp
pass the current pass for this sync call
Returns:
t1, where t1>t0 on success, t1=t0 for retry, t1<t0 on failure

Definition at line 847 of file switch_object.cpp.

References GL_THROW, OBJECTDATA, PC_BOTTOMUP, PC_POSTTOPDOWN, and PC_PRETOPDOWN.


GridLAB-DTM Version 2.0
An open-source project initiated by the US Department of Energy