Network node (bus)
[Distribution flow solver (network)Transmission flow solver (network)]


Detailed Description

The node is one of the major components of the method used for solving a powerflow network.

In essense the distribution network can be seen as a series of nodes and links. Nodes primary responsibility is to act as an aggregation point for the links that are attached to it, and to hold the current and voltage values that will be used in the matrix calculations done in the link.

Three types of nodes are defined in this file. Nodes are simply a basic object that exports the voltages for each phase. Triplex nodes export voltages for 3 lines; line1_voltage, line2_voltage, lineN_voltage.

All node objects export a phase property that is a set of phases and may be set using the bitwise or operator (A|B|C for a 3 phase line).

The types of nodes are supported

Three bus types are supported, PQ, PV, and SWING:

PQ bus

The PQ bus is the most commonly found bus type in electric network models. PQ buses are nodes where both the real power (P) and reactive power (Q) are given. In these cases, the updated voltage at for a node is found from an existing (non-zero) voltage using

\[ \widetilde V \leftarrow \frac{P - \jmath Q}{\widetilde{YY} \left( \widetilde V^* - \Sigma \widetilde{YV} \right)} \]

where

\[ \widetilde{YY} \leftarrow \Sigma \widetilde Y + G + \jmath B \]

PV bus

The PV bus is the next most common bus type in electric network models. PV buses are nodes where the real power (P) is given, but the reactive power (Q) must be determined at each iteration. In these cases, the updated voltage for a node is found by calculating

\[ Q \leftarrow - \Im \left[ \widetilde V^* \left( \widetilde{YY} \widetilde V + \Sigma \widetilde{YV} \right) \right] \]

If Q exceeds the Q limits [Qmin, Qmax] then the angle is fixed to the correspond limit and the bus is solved as a PQ bus.

SWING bus

The SWING bus occurs at least one in any given island of a network models. Large models may have more the one SWING bus, particularly if areas of the network are only lighting coupled by relatively high impedance links. SWING bus nodes are nodes where both the real power (P) and reactive power (Q) must be determined at each iteration. In these cases, the updated voltage for a node is found by

\[ \widetilde S \leftarrow \left[ \widetilde V^* \left( \widetilde{YY} \widetilde V + \Sigma \widetilde{YV} \right) \right] \]

where

\[ P + \jmath Q \leftarrow \widetilde S \]


Modules

 GLM file loader
 Load objects represent static loads and export both voltages and current.
 Triplex_node

Functions

int node::create (void)
EXPORT int create_node (OBJECT **obj, OBJECT *parent)
 REQUIRED: allocate and initialize an object.
int node::init (OBJECT *parent=NULL)
EXPORT int init_node (OBJECT *obj)
 Object initialization is called once after all object have been created.
int node::isa (char *classname)
EXPORT int isa_node (OBJECT *obj, char *classname)
 node::node (MODULE *mod)
TIMESTAMP node::postsync (TIMESTAMP t0)
TIMESTAMP node::presync (TIMESTAMP t0)
TIMESTAMP node::sync (TIMESTAMP t0)
EXPORT TIMESTAMP sync_node (OBJECT *obj, TIMESTAMP t0)
EXPORT TIMESTAMP sync_node (OBJECT *obj, TIMESTAMP t0, PASSCONFIG pass)
 Sync is called when the clock needs to advance on the bottom-up pass (PC_BOTTOMUP).
 node::~node ()

Variables

static nodenode::defaults = NULL
static CLASSnode::oclass = NULL
static CLASSnode::pclass = NULL


Function Documentation

EXPORT int create_node ( OBJECT **  obj,
OBJECT parent 
)

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 169 of file node.cpp.

References gl_create_object, gl_error, gl_set_parent, OBJECTDATA, and oclass.

EXPORT int init_node ( OBJECT obj  ) 

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

Parameters:
parent a pointer to this object's parent
Returns:
1 on success, 0 on error

Definition at line 194 of file node.cpp.

References powerflow_object::get_id(), powerflow_object::get_name(), GL_THROW, init(), OBJECTDATA, and s_object_list::parent.

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

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

Parameters:
t0 this objects current timestamp
t1 the timestamp which the object should move forward to
Returns:
t2, where t2>t1 on success, t2=t1 for retry, t2<t1 on failure

Definition at line 214 of file node.cpp.

References s_object_list::clock, powerflow_object::get_id(), powerflow_object::get_name(), gl_error, OBJECTDATA, PC_BOTTOMUP, PC_POSTTOPDOWN, PC_PRETOPDOWN, postsync(), presync(), sync(), TS_INVALID, and TS_NEVER.


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