Taller #2 Análisis de flujo de carga mediante el método de Gauss-Seidel
Nombre: Sebastian David Pintor Ahumada Codigo:20162007013
Realizar el flujo de carga por el método de Gauss-Seidel en Matlab , Calcular la corriente en
el nodo compensador , la potencia en el nodo compensador y las perdidas totales del sistema
bajo la consideración de un Épsilon de 0.0001
El Sistema de potencia tiene los siguientes datos :
Nodo Tipo V δ P (Ig) Q (Ic)
1000 a =
1 PV ? ? ?
1p.u
-1500 A = -1.5
2 PQ ? ? ?
p.u
100kV =
3 Slack ? ? ?
1p.u
En principio establecemos el como usar los datos que nos brinda el ejercicio de forma que se
puedan hallar las variables necesarias para conocer potencia y con ello las perdidas,
comenzando con la caracterización del nodo Slack el cual al ser la referencia tendrá como
valor de fase 0°
En principio se procede a calcular la Matriz Bus, teniendo en cuenta la nomenclatura
implementada en el enunciado del ejercicio
𝑦12 + 𝑦13 −𝑦12 −𝑦13
𝑌 = [ −𝑦12 𝑦12 + 𝑦23 −𝑦23 ]
−𝑦13 −𝑦23 𝑦13 + 𝑦23
Obteniendo asi la equivalencia de los valores de la matriz con respecto a los parámetros del
sistema
𝑌11 = 𝑦12 + 𝑦13 𝑌12 = −𝑦12 = 𝑌21 𝑌13 = −𝑦13 = 𝑌13
𝑌23 = −𝑦23 = 𝑌32
𝑌22 = 𝑦12 + 𝑦23 𝑌33 = 𝑦13 + 𝑦23
Como en el sistema solo existe una zona , el cambio entre valor real y valor por unidad radica
en la multiplicación de un escalar
Debido a que el tratamiento y desarrollo numérico de este problema será realizado en el
software Matlab es necesario declarar , construir la matriz bus en dicho software, para ello
se parte de la creación de un vector que alberga los datos correspondientes a la admitancia
en valor real entre Buses en el sistema , para luego operarla de la forma planteada
previamente
%Admitancia =[Bus 1-2, Bus 1-3, Bus 2-3]
Admitancia= [0.5-0.3i;1.5-0.2i;0.75-0.1i];
Matriz_Bus=[Admitancia(1)+Admitancia(2),-Admitancia(1),-Admitancia(2);-
Admitancia(1),Admitancia(1)+Admitancia(3),-Admitancia(3);-Admitancia(2),-
Admitancia(3),Admitancia(2)+Admitancia(3)];
El sistema presenta una característica frente a los nodos PV, PQ (1,2) y es su caracterización ,
donde la potencia o energía asociada a ella viene en relación ante un suministro de corriente,
algo que es a tener en cuenta cuando se aplique las ecuaciones del flujo de carga por el método
Gauss-Seidel, El fin de este ejercicio es determinar el valor de potencia en los barrajes l y
potencias transferidas entre buses por lo cual la siguiente ecuación será nuestra guía
Sin embargo, esta ecuación no es aplicable aun debido al desconocimiento de las variables
de tensión asociadas , por lo cual es necesario la aplicación de Gauss-Seidel al sistema de
ecuaciones no lineales para asi poder determinar estos valores de tensión desconocidos
( tensión en los nodos de generación y carga ) , asi utilizamos las siguientes ecuaciones con
ciertas consideraciones como lo es la corriente constante asociada al punto i-esimo.
𝑛
𝐾 1 𝑃𝑖 − 𝑗𝑄𝑖
𝑉𝑖 = ( (𝐾−1) − ∑ 𝑌𝑖𝑗 𝑉𝑖 𝐾−1 )
𝑌𝑖𝑖 𝑉𝑖
𝑗=1≠𝑖
Aterrizado a nuestro ejercicio queda de la siguiente forma:
1
𝑉1 𝐾 = (𝐼 − 𝑌12 𝑉2 𝐾−1 − 𝑌13 𝑉3 𝐾−1 )
𝑌11 1
1
𝑉2 𝐾 = (𝐼2 − 𝑌21 𝑉1 𝐾−1 − 𝑌23 𝑉3 𝐾−1 )
𝑌22
Donde para el estado inmediatamente anterior en la iteración 1 de las tensiones 1,2 son de
valor 1 p.u en Angulo de 0 ya que no hay restricciones , para el caso de V 3 al ser nodo de
compensación esta permanecerá igual , estas iteraciones se realizarán hasta el momento
donde el valor de la siguiente relación este por debajo del valor de épsilon , es decir 0,0001
|𝑉𝑖 𝐾 − 𝑉𝑖 𝐾−1 | ≤ 0.0001
Aplicándolo a nuestro software se parte de la creación de un vector donde se encontrarán los
datos específicos del ejercicio asociados a las corrientes asignadas por barraje y otro en el
cual se almacenarán los valores de tensión asociados a los buses , el cual se ira actualizando
cuando se realice la iteración , además de la declaración de variables que se implementaran
en el ciclo de iteraciones las cuales están en la siguiente tabla
Variables usadas en el ciclo de iteración
Variable Tipo Función
Establecerá el error máximo presente entre
Error Float iteraciones y asi poder hallar la solución del
sistema
Condicional para que se mantengan las iteraciones
Parar_Iteraciones Entero/Boolean
si esta tiene un valor de 0
Mantiene un conteo sobre el número de
Numero_de_Iteracion Entero
iteraciones que se han realizado
Pretende almacenar la operación de resta entre
Auxiliar_Error Float/Vector
iteración presente y pasada
Pretende ser una memoria destino para almacenar
Estado_Anterior Float/Vector
la iteración presente que se convertirá en pasada
la realización de iteraciones es dada hasta que se cumple una condición es un análogo a la
implementación de la función while donde asociaremos una variable que me permita
interrumpir el ciclo si la condición se cumple: de la siguiente forma:
Tensión =[0;0;100000];
Corriente=[1000;-1500;0];
%Variable acondicionadoras de la iteración
Error= 0.0001;
Parar_Iteraciones=0;
Estado_Anterior=[100000,100000,100000];%para el inicio de iteraciones se dara el
valor a los estados anteriores de una unidad
Numero_de_iteracion=0;
Auxiliar_Error=[10,10];
%Iteraciones
while(Parar_Iteraciones==0)
Tension(1)=(1/(Matriz_Bus(1,1)))*(Corriente(1)-
((Matriz_Bus(1,2)*Estado_Anterior(2))+(Matriz_Bus(1,3)*Estado_Anterior(3))));
Tension(2)=(1/(Matriz_Bus(2,2)))*(Corriente(2)-
((Matriz_Bus(2,1)*Estado_Anterior(1))+(Matriz_Bus(2,3)*Estado_Anterior(3))));
Numero_de_iteracion=Numero_de_iteracion+1;
if(Numero_de_iteracion>2)
Auxiliar_Error(1)= abs(Tension(1) - Estado_Anterior(1));
disp( Auxiliar_Error(1));
Auxiliar_Error(2)= abs((Tension(2)) - Estado_Anterior(2));
disp( Auxiliar_Error(2));
end
if(Auxiliar_Error(1)<Error)
if(Auxiliar_Error(2)<Error)
Parar_Iteraciones=1;
end
end
Estado_Anterior(1)=Tension(1);
Estado_Anterior(2)=Tension(2);
end
Con esto podremos acceder a los datos de tensión en los barrajes bajo el llamado en el
“command window “ de Tensión (# de Bus) y conocer su magnitud y Angulo por medio de
las funciones angle() para conocer la fase de la tensión y cualquier número complejo y abs ()
para conocer la magnitud respectiva
Con esto es posible conocer las corrientes entre buses por medio de la aplicación de la Ley
de Ohm y con esta corriente determinar las potencias transferidas, además de las perdidas en
las líneas
𝐼𝑖𝑗 = 𝑦𝐼𝑗 (𝑉𝑖 − 𝑉𝑗 )
𝑆𝑖𝑗 = 𝑉𝑖 𝐼𝑖𝑗 ∗
Para las perdidas en las líneas basta con realizar la suma entre flujos de carga en la línea de
esta forma
𝑆𝐿𝑖𝑗 = 𝑆𝑖𝑗 + 𝑆𝑗𝑖
Aterrizando esta forma de calculo a nuestro software , se utilizarán variables de tipo vector
asociadas a cada variable mencionada ,vector con el fin de asignar a una sola variable
particiones asociadas a una entidad (Bus 1, Bus2 , Bus3)
Para el caso de las corrientes entre buses se creo un vector por bus en el cual se guardarán
por posición las permutaciones que puedan presentarse.
Corriente_Bus1=[Admitancia(1)*(Tension(1)-
Tension(2)),Admitancia(2)*(Tension(1)-Tension(3))];%
Corriente_Bus1=[Bus1-2,Bus1-3];
Corriente_Bus2=[Admitancia(1)*(Tension(2)-
Tension(1)),Admitancia(3)*(Tension(2)-Tension(3))];%
Corriente_Bus2=[Bus2-1,Bus2-3];
Corriente_Bus3=[Admitancia(2)*(Tension(3)-
Tension(1)),Admitancia(3)*(Tension(3)-Tension(2))];%
Corriente_Bus3=[Bus3-1,Bus3-2];
Se realizo lo mismo que en el caso del corriente para los flujos de carga y perdidas en las
líneas
Potencias_Bus1=[Tension(1)*conj(Corriente_Bus1(1)),Tension(1)*conj(Corrie
nte_Bus1(2))];
Potencias_Bus2=[Tension(2)*conj(Corriente_Bus2(1)),Tension(2)*conj(Corrie
nte_Bus2(2))];
Potencias_Bus3=[Tension(3)*conj(Corriente_Bus3(1)),Tension(3)*conj(Corrie
nte_Bus3(2))];
Perdidas=[Potencias_Bus1(1)+Potencias_Bus2(1),Potencias_Bus1(2)+Potencias
_Bus3(1),Potencias_Bus2(2)+Potencias_Bus3(2)];
Para el calculo de potencia por barraje se creó un vector el cual guardar el resultado de la
multiplicación entre la matriz bus , el vector que contiene los valores de tensión por nodo y
además multiplicar por posición la tensión asociada a la misma de forma conjugada para
obtener la potencia compleja conjugada , en esta se usa la función conj() y obtendremos la
potencia compleja asociada a cada barraje
En el caso de cálculo de caída de tensión sobre las líneas se realiza la respectiva operación
con el llamado de las variables guardadas asignadas a tensión de barraje y además
implementando LCK con los corrientes bus se obtiene las corrientes asociadas a cada barraje
Corriente_Barra=[abs(Corriente_Bus1(1)+Corriente_Bus1(2));abs(Corriente_Bus2(1)+Corriente_Bu
s2(2));abs(Corriente_Bus3(1)+Corriente_Bus3(2))];
Magnitud_Tension=[abs(Tension(1)-Tension(2));abs(Tension(1)-Tension(3));abs(Tension(2)-
Tension(1));abs(Tension(2)-Tension(3));abs(Tension(3)-Tension(1));abs(Tension(3)-
Tension(2))];
Para el desarrollo de los puntos A y B basta con alterar el Vector “Admitancias “ según el
valor que se tome para estas
De esta forma se obtienen los siguientes resultados
ANALISIS CON ADMITANCIA COMPLETA
Admitancia Completa
Nodo Tipo V δ I P Q
1 PV 100.17kV=1.0017p.u. 0.0655 1000 A 100.1MW 114.53kVAR
2 PQ 98.99kV=0.9899 p.u -0.183 -1500 A -148.5MW 474.62kVAR
3 Slack 100kV = 1p.u 0 500 A 50MW 2.27VAR
Nótese que el nodo 3 esta compensando el suministro para abastecer el nodo 2 sin embargo
hay un exceso de 1.6 MW el cual corresponde a perdidas en el sistema que asume el Nodo 3,
en términos de corriente el nodo 1 suministra 1000 A , el nodo 3 suministra 500 A y el nodo
2 consume 1500 A
Perdidas con Admitancia Completa
Activas (kW) Reactivas (kVAR)
Línea
12 783.55 470.13
13 64.796 8.6395
23 827.92 110.39
Datos con Admitancia Completa
Corriente Desfase Diferencia de Potencial Flujo Activa Flujo Reactiva
A ° kV MW MVAR
Bus 1 a 2 729.94 -10.827 1.2518 71.803 13.818
Bus 1 a 3 314.52 25.847 0.20784 28.37 -13.703
Bus 2 a 1 729.94 169.17 1.2518 -71.02 -13.348
Bus 2 a 3 794.97 -170.07 1.0507 -77.478 13.822
Bus 3 a 1 314.52 -154.15 0.20784 -28.306 13.712
Bus 3 a 2 794.97 9.9323 1.0507 78.306 13.712
Obteniendo asi el siguiente esquemático sobre el comportamiento del flujo de carga en el
sistema bajo las condiciones de trabajo con la admitancia completa
ANALISIS CON PARTE REAL
Realizando el mismo ejercicio usando solo la parte real de las admitancias se obtienen los
siguientes datos
Parte Real de la Admitancia
Nodo Tipo V δ I P Q
1 PV 100.22kV=1.002p.u. 0 1000 A 100.22MW 0VAR
2 PQ 98.88kV=0.988p.u 0 -1500 A 148.33MW 0VAR
3 Slack 100kV = 1p.u 0 500 A 50MW 0VAR
Esta vez el nodo 3 suministra 50 MW y el nodo 2 Consume 148.33MW dejando un 1.89MW
de perdidas en la línea de las cuales se hace cargo o compensa el nodo slack bajo el
suministro de la misma , en términos de corriente el nodo 1 suministra 1000 A , el nodo 3
suministra 500 A y el nodo 2 consume 1500 A
Perdidas con Parte Real de la Admitancia
Activas (kW) Reactivas (kVAR)
Línea
12 888.89 0
1 3 74.074 0
23 925.93 0
Datos con parte real de la Admitancia
Corriente Desfase Diferencia de Potencial Flujo Activa Flujo Reactiva
A ° kV MW MVAR
Bus 1 a 2 666.67 0 1.33 66.815 0
Bus 1 a 3 333.33 0 0.22 33.407 0
Bus 2 a 1 666.67 180 1.33 -65.926 0
Bus 2 a 3 833.33 180 1.11 -82.407 0
Bus 3 a 1 333.33 180 0.22 -33.33 0
Bus 3 a 2 833.33 0 1.11 83.333 0
Expresando el flujo de carga en un esquema , se obtiene el siguiente grafico :
CALCULO DE TENSIONES POR MEDIO DE LVK
Bajo la suposición de que conocemos la corriente que pasa entre los barrajes se procede a plantear
ley de Ohm con la cual podremos obtener la diferencia de potencial presente en cada punto con
respecto a un referencia (V3-Nodo Slack) , tomando como referencia el siguiente esquema :
Obtenemos las siguientes ecuaciones :
𝐼13
𝑉𝑃𝑉 = + 𝑉3
𝑌13
𝐼23
𝑉𝑃𝑄 = + 𝑉3
𝑌32
Esto puesto, digitado en nuestro software queda de la siguiente manera :
%CALCULO DE TENSIONES POR LVK
V_LVK=[0,0,0];100000;%%Referencia
V_LVK(3)=100000;
V_LVK(1)=((Corriente_Bus1(2)/Admitancia(2))+V_LVK(3));
V_LVK(2)=((Corriente_Bus2(2)/Admitancia(3))+V_LVK(3));
Para lo cual se obtuvieron los mismos resultados en valores de tensión para los nodos.