Codes, equations and algorithms for load flow analysis in power systems.
This project is maintained by Sree2011
For any power system containing n buses,
\[\begin{equation*} \begin{bmatrix} I_1 \\ I_2 \\ \vdots \\ I_i \\ \vdots \\ I_n \end{bmatrix} = \begin{bmatrix} Y_{11} & Y_{12} & \cdots & Y_{1i} & \cdots & Y_{1n} \\ Y_{21} & Y_{22} & \cdots & Y_{2i} & \cdots & Y_{2n} \\ \vdots & \vdots & \ddots & \vdots & \ddots & \vdots \\ Y_{i1} & Y_{i2} & \cdots & Y_{ii} & \cdots & Y_{in} \\ \vdots & \vdots & \ddots & \vdots & \ddots & \vdots \\ Y_{n1} & Y_{n2} & \cdots & Y_{ni} & \cdots & Y_{nn} \end{bmatrix} \begin{bmatrix} V_1 \\ V_2 \\ \vdots \\ V_i \\ \vdots \\ V_n \end{bmatrix} \end{equation*}\] \[[I_{bus}] = [Y_{bus}][V_{bus}]\]Formulas for calculation:
For diagonal elements, \(Y_{ii} = \sum_{j=0}^{n}y_{ij}\)
For off-diagonal elements, \(Y_{ij} = Y_{ji} = -y_{ij}\)
where $y_{ij}$ is the admittance of the line between bus i and bus j.
classDiagram class Complex{ - float real - float imaginary + Complex(float real,float imaginary) Complex + getReal() float + getImag() float + fromString(String s) Complex + findMax(int[] array) int + add(Complex other) Complex + subtract(Complex other) Complex + multiply(Complex other) Complex + divide(Complex other) Complex + negate(Complex other) Complex + reciprocal(Complex other) Complex + toString() String } class Ybus_Java{ - Scanner sc + main(String args[]) void + get_input(int choice, int n) Complex[][] + calculate_matrix(Complex[][] y, int n) Complex[][] + display_matrix(Complex[][] ybus, int n) void } Ybus_Java --> Complex : uses
Adding annotations for MATLAB and Python implementations:
Here are the links to the documentations:
Language | Link |
---|---|
Python | Ybus_python |
Java | Ybus_java |
MATLAB | Ybus_matlab |