Spec:NEVDataFormat

= Overview =

This specification page outlines the formatting for array input data (GLM-based) for NEV objects, as well as the internal common programming structure. Input changes will require implementation of new functionality for interpreting GLM inputs. Note that the NEV solver methods and inputs will be exclusive to a Newton-Raphson solver implementation. While the Forward-Backward Sweep method could also be used for NEV solutions, it is not planned to be implemented at this time.

= GLM Array Inputs =

GLM-file inputs will need to support specifying which phase various connections will support. The multiple input arguments needed for the different phases and "generic" nature of the NEV implementation will be handled using a format similar to the Double_array specification, but outlined in further detail on the NEV Array Page. Below is the proposed implementation of what a load object with Wye-specified voltages and a delta-connected, constant impedance load could look like:

object load { terminals "1,2,3"; voltage "2400.0+0.0d,1,0; 2400.0-120.0d,2,0; 2400.0+120.0d,3,0"; constant_impedance "2500+1200j,1,2; 2500+1200j,2,3; 2500+1200j,3,1"; nominal_voltage 2400.0; }

Note that terminals, voltage, and constant_impedance utilize the syntax of array and input specification of NEV Array Page, which is expected to be the method for incorporating NEV-related data for all powerflow objects. The details of these individual fields are covered on the Node specification page. This merely serves as an example of the array-like input structure. Specific field formats are discussed on their appropriate parent class (node and link) pages.

= Powerflow Data Structure =

Inside the source code, all interfacing to the NEV solver will be done through a common data structure. The structure will follow a form similar to the version 3.1 and earlier Newton-Raphson structure and will be divided into two main structures: a node/bus structure and a link/branch structure. Sparse matrix operations will store the data in the Y_NEV structure defined in Table 1.

Node/bus Structure
The elements of the node/bus structures are defined in Table 2. Node data will be formed in a structure typed NEVbusdata. Bolded items are internal working variables for the TCIM-Newton-Raphson method [1], but will be allocated within the node and link objects themselves.

Update Functions
In an effort to compartmentalize the NEV code, two update functions will be performed to move key updating aspects from the central solver code to the individual objects. This will help with data compartmentalization and parallelization of the code. Two specific function sets will be utilized for these updates. Y_update_fxn</tt> will perform any admittance-related updates and V_update_fxn</tt> will perform the voltage updates associated with the powerflow iteration process. Further details will be in the node specification and the NEV solver specification.

Y_update_fxn</tt> will perform "admittance-level, intermediate solution" updates, including those that typically happen on a per-iteration basis. e.g., A</tt>, B</tt>, C</tt>, and D</tt> Jacobian matrix updates of [1] will be performed via a function call from the central solver. The function will be a simple Boolean return (pass/fail) that will update the "changing admittance" (Y_matrix_update</tt>) portion at every solution pass.

V_update_fxn</tt> will perform the voltage updates for each intermediate solution of the powerflow. As with the previous admittance-level changes, this will perform the voltage updates to node/bus voltages at each iteration. This will return a simple character value indicating a pass, fail, or error state. This will be utilized to indicate if convergence was reached or not, or if some other issue occurred. This function will also call any DELTAMODE</tt>-related checks of the SWING initialization routine.

Link/branch structure
The elements of the link/branch structures are defined in Table 3. Link data will be formed in a structure typed NEVbranchdata</tt>. Bolded items are internal working variables for the TCIM-Newton-Raphson method [1], but will be allocated within the node and link objects themselves.

It is useful to note that many of the above variable references are pointers to the original node and link data variables. If multiple powerflow solutions are required, such as in forecasting or scenario-based problems, values for these components will need to be saved as well.

= Data population =

Many of the elements of the data structure are utilized by the underlying NEV solver, but will be populated by the individual base object types. Details will be included in the individual object specifications.

= References =
 * 1) Garcia, P, J.L. Pereira, S. Carneiro Jr., V. da Costa, and N. Martins, "Three-Phase Power Flow Calculations Using the Current Injection Method," IEEE Transactions on Power Systems, vol. 15, no. 2, May 2000, pp. 508-514.

= See also =


 * Overview Page
 * Requirements
 * Specifications
 * Implementation