Node
[Powerflow objects (abstract)]


Detailed Description

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

Id
node.h 1201 2009-01-08 22:31:37Z d3x593
Copyright (C) 2008 Battelle Memorial Institute

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.

Voltage control
When the global variable require_voltage_control is set to TRUE, the bus type is used to determine how voltage control is implemented. Voltage control is only performed when the bus has no link that considers it a to node. When the flag #NF_HASSOURCE is cleared, then the following is in effect:

Fault support
The following conditions are used to describe a fault impedance X (e.g., 1e-6), between phase x and neutral or group, or between phases x and y, and leaving phase z unaffected at iteration t:


Modules

 Triplex_node

Functions

LINKCONNECTED * node::attachlink (OBJECT *obj)
 Attachlink is called by link objects during their creation.
EXPORT int create_node (OBJECT **obj, OBJECT *parent)
 REQUIRED: allocate and initialize an object.
EXPORT int init_node (OBJECT *obj)
 Object initialization is called once after all object have been created.
int node::kmldump (FILE *fp)
int * node::NR_populate (void)
 NR_populate is called by link objects during their first presync if a node is not "initialized".
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).

Variables

static unsigned int node::n = 0
 node count */


Function Documentation

LINKCONNECTED * node::attachlink ( OBJECT obj  )  [inherited]

Attachlink is called by link objects during their creation.

It creates a linked list of links that are attached to the current node.

Parameters:
obj the link that has an attachment to this node
Parameters:
obj  object to attach

Definition at line 2412 of file node.cpp.

References link::from, gl_error, gl_malloc, OBJECTDATA, and link::to.

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

References gl_create_object, gl_error, gl_set_parent, and OBJECTDATA.

EXPORT int init_node ( 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 2189 of file node.cpp.

References GL_THROW, and OBJECTDATA.

int node::kmldump ( FILE *  fp  )  [inherited]

Todo:
complete KML implement of supply (ticket #133)

Definition at line 2038 of file node.cpp.

References gl_object_isa, OBJECTDATA, OBJECTHDR, PHASE_A, PHASE_B, and PHASE_C.

int * node::NR_populate ( void   )  [inherited]

NR_populate is called by link objects during their first presync if a node is not "initialized".

This function "initializes" the node into the Newton-Raphson data structure NR_busdata

Definition at line 2447 of file node.cpp.

References gl_malloc, GL_THROW, OBJECTHDR, PHASE_A, PHASE_B, and PHASE_C.

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

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


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