You are on page 1of 7

FLUJO DE POTENCIA POR NEWTON-RAPHSON CON EL JACOBIANO CALCULADO EN LAS ECUACIONES DE ERRORES DE POTENCIA

Flujo de Potencia por Newton-Raphson con el Jacobiano


Calculado en las Ecuaciones de Errores de Potencia
Rueda Mayorga Christian Alexander
Escuela Politécnica Nacional, Facultad de Ingeniería Eléctrica y Electrónica, Quito, Ecuador
e-mail: christian.rueda@epn.edu.ec

Resumen: En el presente documento se presenta un algoritmo de solución de flujos de potencia aplicando el


método Newton-Raphson desarrollado con programación en el Software de programación MATLAB. Por medio de
este método los términos de la matriz Jacobiana son calculados como parte de las ecuaciones de errores de
potencia de barra. Dado que estas ecuaciones siempre deben calcularse, resulta muy eficiente el cálculo de todas
las derivadas requeridas en las cuatro submatrices de la matriz Jacobiana.
Palabras clave: Sistema Eléctrico de Potencia, Flujos de potencia, Método Newton-Raphson, Jacobiano, Matlab
Abstract: In this document, a power flux solution algorithm is presented applying the Newton-Raphson method
developed with programming in the MATLAB programming software. By means of this method the terms of the
Jacobian matrix are calculated as part of the bar power error equations. Since these equations must always be
calculated, it is very efficient to calculate all the derivatives required in the four sub-matrices of the Jacobian
matrix.

Keywords: Electric Power System, Power flows, Newton-Raphson method, Jacobian, MATLAB.

1. INTRODUCCION
En el análisis de redes eléctricas el cálculo de la potencia real - Exponer los resultados del estudio de flujos de
y reactiva es fundamental para conocer la condición de potencia basándose en la metodología propuesta.
operación bajo una carga conocida. Para el cálculo de
flujos de potencia se establecen ecuaciones no lineales 3. MARCO TEÓRICO
que se resuelven preferentemente de una forma iterativa.
La complejidad principal de resolución de sistemas de este El análisis de flujo de potencia se refiere a describir el estado
tipo son la no linealidad de las ecuaciones, debido a la operativo de un sistema de energía completo, lo que
relación al cuadrado del voltaje en las potencias y a la significa una red de generadores, líneas de transmisión y
presencia de funciones trigonométricas. A través del cargas que podrían representar un área tan pequeña
método Newton-Raphson se resuelve este sistema de como una provincia o tan grande como regiones. Dadas
ecuaciones, linealizándolas por medio del cálculo de las ciertas cantidades conocidas, por lo general, la cantidad
derivadas parciales de la potencia real y reactiva con de energía generada y consumida en diferentes
respecto de la magnitud del voltaje y su ángulo. La ubicaciones, el análisis de flujo de potencia permite
aplicación del método de Newton-Raphson a la solución determinar otras cantidades. La más importante de estas
de las ecuaciones de flujos de potencia genera la matriz cantidades son los voltajes en ubicaciones a lo largo del
jacobiana que tiene, para un sistema con únicamente sistema de transmisión, que, para la corriente alterna
nodos de carga un orden de 2(N-1) consta de una magnitud y un elemento de tiempo o
ángulo de fase. Una vez que se conocen los voltajes, las
En el presente estudio se optimizan el número de cálculos de corrientes que fluyen a través de cada enlace de
potencias activa y reactiva de barra con el fin de estimar transmisión se pueden calcular fácilmente. Por lo tanto,
todos los términos de la matriz Jacobiana. A continuación, el nombre de flujo de potencia o flujo de carga, dada la
se muestra un breve análisis del método de Newton- cantidad de potencia entregada y de dónde viene, dice
Raphson orientado a la solución de flujos de potencia. cómo fluye a su destino.

2. OBJETIVOS
4. DIAGRAMA DE BLOQUES
- Desarrollar una herramienta computacional eficaz para El algoritmo de la programación para la solución de flujos
el análisis de sistemas eléctricos donde es común la de potencia define en principio la lectura ordenada de
resolución de grandes sistemas de ecuaciones datos, para inicializar las variables de estado. Este
simultaneas desarrollar herramientas e interpretar proceso se lo realiza importando datos desde el
correctamente los resultados obtenidos. programa Excel. La matriz YB se calcula a través de
matrices dispersas.
- Evaluar la metodología de solución para sistemas
eléctricos potencia con indicadores como tiempo de El proceso iterativo empleado usa el Jacobiano embebido
ejecución, número de iteraciones requeridas para que con ecuaciones de errores de potencia incluidas.
la solución converja

PROYECTO EPN, VOL. 1, AGOSTO 2018


FLUJO DE POTENCIA POR NEWTON-RAPHSON CON EL JACOBIANO CALCULADO EN LAS ECUACIONES DE ERRORES DE POTENCIA

Posteriormente se actualizan de las variables de estado,


previo a las correcciones obtenidas y se evalúa la
convergencia en función de la tolerancia máxima
admitida. Finalmente se calculan las potencias de la
barra de compensación, potencias reactivas.
5. APLICACIONES

Para evaluar la funcionalidad del algoritmo implementado se


corren casos de flujos de potencia para un sistema de
prueba.

Fig. 2. Diagrama unifilar para el ejemplo 9.2 en que se muestran los


nombres y números de las barras.
Ejemplo 9.2. En la figura 2 se muestra el diagrama unifilar de
un sistema de potencia sencillo. Los generadores están
conectados en las barras (1) y (4), mientras las cargas se
indican en todas las cuatro barras. Los valores base para el
sistema de trasmisión son 100 MVA y 230 kV. Los datos de
líneas de la tabla 1 dan las impedancias serie en por unidad y
las susceptancias de carga de la línea para los circuitos
equivalentes nominales π de las cuatro líneas identificadas por
las barras en las que terminan. Los datos de barras en la tabla
2 enlistan los valores para P, Q y V en cada barra. Los valores
de la Q de la carga se calculan a partir de los valores P
correspondientes bajo el supuesto de un factor de potencia de
0.85. Los valores programados totales, Pi,prog y Qi,prog son
negativos en las barras de carga (2) y (3). No se especifica la
Qgi donde la magnitud del voltaje es constante. En la columna
de voltajes, los valores para las barras de carga son
estimaciones de inicio plano. La magnitud de voltaje |V 1| y el
ángulo δ 1 de la barra de compensación, así como la
magnitud |V4| en la barra (4), se mantienen constantes en los
valores que se enlistan.
Tabla 1. Datos de líneas para el ejemplo 9.2
Serie Z Serie Y= Z-1 Y en paralelo
Línea, Mvar
de R X G B totales Y/2
barra a por por por por de por
barra unidad unidad unidad unidad carga unidad
*
-
3.81562 0.0512
1-2 0.01008 0.05040 19.07814 10.25
9 5
4
-
5.16956 0.0387
1-3 0.00744 0.03720 25.84780 7.75
1 5
9
-
5.16956 0.0387
2-4 0.00744 0.03720 25.84780 7.75
1 5
9
3.02370 - 0.0637
3-4 0.01272 0.06360 12.75
5 15.118528 5
Base 100MVA, 230 kV
*A 230 kV.
Tabla 2. Datos de barras para el ejemplo 9.2
Generación Carga
Barr
P, Q, P, Q, V, por
Figura 1. Diagrama de flujo del programa a Observaciones
MW Mvar MW Mvar * unidad
Barra de
1 --- --- 50 30.99 1.00 0°
compensación
Barra de carga
2 0 0 170 105.35 1.00 0°
(inductiva)

PROYECTO EPN, VOL. 1, AGOSTO 2018


FLUJO DE POTENCIA POR NEWTON-RAPHSON CON EL JACOBIANO CALCULADO EN LAS ECUACIONES DE ERRORES DE POTENCIA

Barra de carga
3 0 0 200 123.94 1.00 0°
(inductiva)
4 318 --- 80 49.58 1.02 0° Voltaje controlado
* Los valores Q de la carga se calculan de los correspondientes valores de P suponiendo
un factor de potencia de 0.85
REFERENCIAS
Solución. Los cálculos que se hacen a continuación son
realizados mediante el programa computacional Matlab. El [1] Grainger, J.J., Stevenson, W.D., Power System Analysis,
sistema de Ybarra mostrado en la tabla 3 se construye a partir McGraw-Hill, New York, 1994.
[2] Meier, A., Electric Power Systems A Conceptual Introduction,
de los datos de líneas dados en la tabla 1. Por ejemplo, los IEEE John Wiley & Sons, Inc., Hoboken, New Jersey, 2006.
elementos fuera de la diagonal que no son cero, Y21 y Y24, Pp:195-198.
están asociados con la barra (2) de la figura 1 y son iguales a [3] Villafuerte R., Aplicación de un Método Iterativo de dos Pasos
los negativos de sus respectivas admitancias de línea. para el Cálculo de Flujos de Potencia, 2017, Pp:190,197.
[4] Játiva J., Flujo de Potencia por Newton-Raphson con el Jacobiano
Calculado en las Ecuaciones de Errores de Potencia, Escuela
Tabla 3. Matriz de admitancias de barra para el ejemplo 9.2
No. Politécnica Nacional, Revista Politécnica, vol. 33, No. 3, 2014, [En
de línea]. Disponible en:
(1) (2) (3) (4) https://revistapolitecnica.epn.edu.ec/ojs2/index.php/revista_politecni
bar
ra ca2/article/view/157 [Accedido: 29 de julio de 2018]. pp.:1-7.
8.985190-
-
-5.169561+ [5] MATLAB, Math Works, Inc., Natick, MA, USA.
(1) 3.815629+j19.0 0 www.mathworks.com
j44.835953 j25.847809
78144
-
-3.815629 8.985190-
(2) 0 5.169561+j25.8
+j19.078144 j44.835953
47809
- -
8.193267-
(3) 5.169561+j25.8 0 3.023705+j15.1
j40.863838
47809 18528
-
-5.169561 8.193267-
(4) 0 3.023705+j15.1
+j25.847809 j40.863838
18528
Valores en por unidad redondeados a seis lugares decimales

N° de iteraciones: 4
GeneracionV =

Voltaje Angulo
_______ ________
1 0
0.98242 -0.97612
0.969 -1.8722
1.02 1.5231

GeneracionS =

PkW QVAr
______ ______
186.81 114.5
0 0
0 0
318 181.43

6. CONCLUSIONES

- Se ha mejorado el método de calculo de Newton-


Raphson mediante la inclusión de los errores de
potencia de barra en el calculo iterativo de la matriz
Jacobiana.
- El método propuesto se ideó con el objetivo de tener
una herramienta para el cálculo de flujos potencia
con elevado número de barras, a través de la
formación de una función y sus derivadas llevando a
cabo el mismo calculo en cada iteración con el
manejo de operaciones elementales.
- El uso adecuado de los elementos que componen a la
matriz Jacobiana ha permitido obtener la mayor
cantidad de resultados con el mínimo numero de
cálculos realizados en cada iteración.

PROYECTO EPN, VOL. 1, AGOSTO 2018


FLUJO DE POTENCIA POR NEWTON-RAPHSON CON EL JACOBIANO CALCULADO EN LAS ECUACIONES DE ERRORES DE POTENCIA

PROYECTO EPN, VOL. 1, AGOSTO 2018


Anexo
Código de MATLAB
%% Limpieza y Seteo
clc; clear variables;
format short
%% Lectura de la matriz Ybarra
G=xlsread('Datos de Ingreso.xlsx','Yreal');% Obtencion de las admitancias
B=xlsread('Datos de Ingreso.xlsx','Yimaginario');% obtencion de las suceptancias
Y=G+1i*B;

%% Lectura de las condiciones iniciales


Nbarras = length(Y);
vbase = xlsread('Datos de Ingreso.xlsx','Voltaje','C6:C6');
voltaje = xlsread('Datos de Ingreso.xlsx','Voltaje');
v = voltaje(1,:);
th = voltaje(2,:);
potencia = xlsread('Datos de Ingreso.xlsx','Potencia');
Pg = potencia(1,:);
Qg = potencia(2,:);
Pc = potencia(3,:);
Qc = potencia(4,:);
%% Condiciones de Iteraciones
tol = 10^-5; %Tolerancia Maxima para el flujo
Nmx_it = 10; %Número Máximo de iteraciones para el flujo
%% Cálculo de la matriz Jacobiana
for iter = 1:Nmx_it
n = Nbarras;
for i=1:n
for j=1:n
jac(i,j) = v(i)*(G(i,j)*sin(th(i)-th(j))-B(i,j)*cos(th(i)-th(j)))*v(j);
jac(i+n,j) = -v(i)*(G(i,j)*cos(th(i)-th(j))+B(i,j)*sin(th(i)-th(j)))*v(j);
jac(i,j+n) = -jac(i+n,j);
jac(i+n,j+n)= jac(i,j);
end
end

for i=1:n
Q(i,1) = sum(jac(i,1:n));
P(i,1) = -sum(jac(i+n,1:n));
end

J11 = jac(1:n,1:n);
J12 = jac(1:n,n+1:2*n);
J21 = jac(n+1:2*n,1:n);
J22 = jac(n+1:2*n,n+1:2*n);

for j = 1:n
J11(j,j) = -Q(j,1)-B(j,j)*v(j)^2;
J12(j,j) = P(j,1)+G(j,j)*v(j)^2;
J21(j,j) = P(j,1)-G(j,j)*v(j)^2;
J22(j,j) = Q(j,1)-B(j,j)*v(j)^2;
end
J = [J11 J12; J21 J22];
%% Cálculo de la Potencia especificada
for i=1:n
Sesp(i,1) = Pg(i)- Pc(i);
Sesp(i+n,1)= Qg(i)- Qc(i);
end
%% Cálculo de la Potencia calculada
for i=1:n
Scal(i,1) = J(n+i,i)+G(i,i)*v(i)^2;
Scal(n+i,1)= -J(i,i)-B(i,i)*v(i)^2;
end

%% Cálculo de las Variaciones de potencia


for i = 1:2*n
DS(i,1)= Sesp(i)-Scal(i);
end
%Limite de Iteraciones
if max(abs(DS))<= tol
P = P+Pc';
Q = Q+Qc';
for i = 1:n
if Barras(i)== 1
P(i,:) = 0;
Q(i,:) = 0;
end
end
fprintf('N° de iteraciones: %d',iter-1)
GeneracionV = table(v',(th*(180/pi))','VariableNames',{'Voltaje' 'Angulo' })
GeneracionS = table(P*vbase,Q*vbase,'VariableNames',{'PkW' 'QVAr' })
xlswrite('Resultados.xlsx',iter-1','Iteraciones','C2');
xlswrite('Resultados.xlsx',tol','Iteraciones','C3');
xlswrite('Resultados.xlsx',v ,'Voltajes','C3');
xlswrite('Resultados.xlsx',th,'Voltajes','C4');
xlswrite('Resultados.xlsx',P*vbase, 'Potencias','C4');
xlswrite('Resultados.xlsx',Q*vbase, 'Potencias','D4');
xlswrite('Resultados.xlsx',Pc'*vbase','Potencias','E4');
xlswrite('Resultados.xlsx',Qc'*vbase','Potencias','F4');
break
end

%% Reducción de las filas y columnas de la matriz Jacobiana


% Descrpción del Tipo de barra
%0: Barra de compensación V0
%1: Barra de carga PQ
%2: Barra de generaciòn PV
Barras = (xlsread('Datos de Ingreso.xlsx','Tipo de barra'))';
dir = 1;
V0 = 0; %Número de Barras de compensación
PV = 0; %Número de Barras de generación
for j = 1:n
if Barras(j)==0
erase(dir)=j;
erase(dir+1)=j+n;
dir=dir+2;
V0=V0+1;
elseif Barras(j)==2
erase(dir)=j+n;
dir=dir+1;
PV=PV+1;
end
end
J(erase,:) =[];
J(:,erase) =[];
DS(erase,:)=[];

%% Factorizacion triangular
[n,n] = size(J);
for k = 1:n
L(k,k) = 1;
for i = k+1:n
L(i,k) = J(i,k) / J(k,k);
for j = k+1:n
J(i,j) = J(i,j) - L(i,k)*J(k,j);
end
end
for j = k:n
U(k,j) = J(k,j);
end
end
n = n(1);
%% Sustitución hacia adelante
y = DS;
for j = 1:n-1
y(j) = y(j)/L(j,j);
y(j+1:n) = y(j+1:n) - y(j)*L(j+1:n,j);
end
y(n)= y(n)/L(n,n);

%% Sustitución hacia atrás


x = y;
for j = n:-1:2
x(j) = x(j)/U(j,j);
x(1:j-1) = x(1:j-1) - x(j)*U(1:j-1,j);
end
x(1)=x(1)/U(1,1);
x;
%% Actualización de los Datos de voltaje y ángulo
Thdir = x(1:length(Barras)-V0-PV+1); %Dirección de separación de los ángulos
Vdir = x(length(Barras)-V0-PV+2:length(x));%Dirección de separación de los voltajes

c1 = 1; c2 = 1; % Contadores
for i = 1:length(Barras)
if Barras(i)== 1 %2: Barra de carga
v(i) = Vdir(c1)+v(i);
th(i)= Thdir(c2)+th(i);
c1 = c1+1;
c2 = c2+1;
end
if Barras(i)== 2 %1: Barra de generaciòn
th(i)= Thdir(c2)+th(i);
c2 = c2+1;
end
end
end

You might also like