Professional Documents
Culture Documents
Esta formulação é a mais utilizada por ter inúmeras vantagens sobre as outras:
apresentam menor tempo de solução e menores requisitos de memória, pois utiliza a matriz
de admitância nodal que normalmente é bastante esparsa simétrica, sendo necessário o
armazenamento apenas dos elementos não-nulos acima da diagonal, além dos próprios
elementos da diagonal.
Observando o sistema elétrico, Verificamos que para cada barra da rede temos quatro
variáveis:
Barra do tipo PQ
Barra do tipo PV
Parâmetros longitudinais
+
+
São as resistências (R) e as reatâncias (X) conectadas entre dois nós do sistema (i e j).
Parâmetros transversais
+
+
São as admitâncias (Y) conectadas entre um nó do sistema (i) e à terra.
Método de Newton-Raphson
∞
f ( x) = ∑ C n .( x − x0 ) = C0 + C1.∆x1 + C2 .∆x 2 + ... + Cn .∆x n
n =0
Ou seja:
y = f ( x) = f ( x0 ) + f ' ( x0 ).∆x
A resolução deste problema é feita por um método iterativo, onde o resultado de cada
iteração será o dado de entrada para a próxima iteração. Assim, a equação pode ser reescrita
na forma matricial para a primeira iteração como:
y − f ( x) = J ( x).∆x 0
y − f ( x v ) = J ( x v ).∆x v
∆x v = J x v −1 x y − f x v
[ ( )] [ ( )]
v +1
x = x v + ∆x v
∆P P esp − P calc
[ v
]
y − f ( x ) = = esp calc
∆Q Q − Q
∆θ
∆x v =
∆V
Onde:
Pesp e Qesp → vetores das potências ativa e reativa líquidas especificadas no problema.
Pcalc e Qcalc → vetores das potências ativa e reativa líquidas calculadas por meio das equações.
J ∆x = − f
Onde:
Matriz YP e YBUS
Matriz Yp
Matriz Ybus
Se temos um sistema com n barras, podemos afirmar que as variáveis de estado são os
módulos das tensões das barras do tipo PQ e os ângulos das barras do tipo PV e PQ. As
equações que podemos escrever para solucionar os sistemas são os somatórios de potências
ativas das barras tipos PV e PQ e os somatórios das potências reativas das barras do tipo PQ.
Desta forma, a dimensão do sistema não-linear a ser resolvido é dada pelo número de
equações ou pelo número de variáveis de estado do sistema, pois os dois tem que ser iguais
para que o sistema seja determinado.
Onde,
O número de variáveis de estado do sistema é dado pela mesma equação, pois para as
barras do tipo PQ tem-se duas variáveis de estado (módulo da tensão e ângulo da tensão) e
para as barras do tipo PV tem-se apenas uma variável de estado (ângulo da tensão).
H M N ∆θ ∆P
K M K K = K
J M L ∆V ∆Q
V
Para i≠k
Para i=k
H ii = −Vi 2 Bii − Qi
N ii = +Vi 2 Gii + Pi
J ii = −Vi 2 Gii + Pi
θik → θi-θk
Pi → Pg (i)-Pl (i)
Qi → Qg (i)-Ql (i)
Cálculos:
( )
Pik = Vi 2 . g ik + g ik -ViVk .( g ik . cos θik + bik sen θik )
( )
Qik = −Vi 2 . bik + bik -ViVk .( g ik .sen θik − bik cos θik )
Onde,
g ik → representa o efeito das perdas por condutância direta para a terra nas cadeias de
Barra 2:
Potência ativa
Potência Reativa
Barra 4:
Potência ativa
PG 4 = 2 pu
Potência Reativa
QG 4 = Q42 + Q43 + Q L 4
Conclusão:
Matriz Yp:
( 0.00, 0.23) ( 0.99, -9.90) ( 0.00, 0.00) ( 0.46, -5.52) ( 0.00, 0.00)
( 0.99, -9.90) ( 0.00, 0.22) ( 0.78,-12.45) ( 0.74,-11.06) ( 0.00, 0.00)
( 0.00, 0.00) ( 0.78,-12.45) ( 0.00, 0.22) ( 0.00, 0.00) ( 0.55, -8.30)
( 0.46, -5.52) ( 0.74,-11.06) ( 0.00, 0.00) ( 0.00, 0.38) ( 0.80,-19.97)
( 0.00, 0.00) ( 0.00, 0.00) ( 0.55, -8.30) ( 0.80,-19.97) ( 0.00, 0.35)
Matriz Ybus:
( 1.45, -15.19) ( -0.99, 9.90) ( -0.00, -0.00) ( -0.46, 5.52) ( -0.00, -0.00)
( -0.99, 9.90) ( 2.51, -33.19) ( -0.78, 12.45) ( -0.74, 11.06) ( -0.00, -0.00)
( -0.00, -0.00) ( -0.78, 12.45) ( 1.33, -20.52) ( -0.00, -0.00) ( -0.55, 8.30)
( -0.46, 5.52) ( -0.74, 11.06) ( -0.00, -0.00) ( 2.00, -36.17) ( -0.80, 19.97)
( -0.00, -0.00) ( -0.00, -0.00) ( -0.55, 8.30) ( -0.80, 19.97) ( 1.35, -27.91)
Matriz Jacobiano:
16.27 -10.40 0.00 0.00 0.51 -0.00 -0.00
-10.54 28.59 -12.36 0.00 -0.03 1.21 -0.00
0.00 -12.11 14.56 -7.69 -0.01 -0.27 -0.48
0.00 0.00 -7.68 23.59 -0.01 -0.69 -1.99
-2.51 0.14 0.06 0.03 15.35 -0.00 0.00
-0.00 2.74 -2.04 -0.59 0.00 17.63 -7.80
-0.00 -0.00 0.54 -3.98 -0.00 -7.79 20.88
BARRA 1:
Modulo de Tensao = 1.019
Angulo = -2.66ø
P[1][2]= -71.24 MW \nQ[1][2]= -22.45 Mvar \nS[1][2]= 74.69MVA
P[1][4]= -28.76 MW \nQ[1][4]= -27.55 Mvar \nS[1][4]= 39.83MVA
BARRA 2:
Modulo de Tensao = 1.040
Angulo = 1.13ø
P[2][1]= 71.74 MW \nQ[2][1]= 6.28 Mvar \nS[2][1]= 72.02MVA
P[2][3]= 205.13 MW \nQ[2][3]= 102.76 Mvar \nS[2][3]= 229.43MVA
P[2][4]= 23.13 MW \nQ[2][4]= -18.27 Mvar \nS[2][4]= 29.48MVA
Potencia reativa gerada = 90.77 Mvar
BARRA 3:
Modulo de Tensao = 0.957
Angulo = -8.03ø
P[3][2]= -202.61 MW \nQ[3][2]= -77.53 Mvar \nS[3][2]= 216.94MVA
P[3][5]= 2.61 MW \nQ[3][5]= -22.47 Mvar \nS[3][5]= 22.62MVA
BARRA 4:
Modulo de Tensao = 1.050
Angulo = 0.00ø
P[4][1]= 28.91 MW \nQ[4][1]= 2.60 Mvar \nS[4][1]= 29.03MVA
P[4][2]= -23.09 MW \nQ[4][2]= 7.93 Mvar \nS[4][2]= 24.42MVA
P[4][5]= 299.62 MW \nQ[4][5]= 159.70 Mvar \nS[4][5]= 339.53MVA
Potencia ativa gerada = 305.44 MW
Potencia reativa gerada = 170.23 Mvar
BARRA 5:
Modulo de Tensao = 0.968
Angulo = -8.27ø
P[5][3]= -2.61 MW \nQ[5][3]= -5.21 Mvar \nS[5][3]= 5.83MVA
P[5][4]= -297.39 MW \nQ[5][4]= -144.79 Mvar \nS[5][4]= 330.77MVA
BARRA 1:
Modulo da Tensao(V)=1.02
Potencia Ativa(Pi)= -1.00
Potencia Reativa(Qi)= -0.50
Angulo da Tensao=-0.05 rad
Potencia Ativa Gerada(Pg)= 0.00
Potencia Reativa Gerada(Qg)= 0.00
Potencia Ativa Consumida(Pl)= 1.00
Potencia Reativa Consumida(Ql)= 0.50
BARRA 2:
Modulo da Tensao(V)=1.04
Potencia Ativa(Pi)= 3.00
Potencia Reativa(Qi)= 0.57
Angulo da Tensao=0.02 rad
Potencia Ativa Gerada(Pg)= 3.00
Potencia Reativa Gerada(Qg)= 0.91
Potencia Ativa Consumida(Pl)= 0.00
Potencia Reativa Consumida(Ql)= 0.00
BARRA 3:
Modulo da Tensao(V)=0.96
Potencia Ativa(Pi)= -2.00
Potencia Reativa(Qi)= -1.00
Angulo da Tensao=-0.14 rad
Potencia Ativa Gerada(Pg)= 0.00
Potencia Reativa Gerada(Qg)= 0.00
Potencia Ativa Consumida(Pl)= 2.00
Potencia Reativa Consumida(Ql)= 1.00
BARRA 4:
Modulo da Tensao(V)=1.05
Potencia Ativa(Pi)= 0.00
Potencia Reativa(Qi)= 0.00
Angulo da Tensao=0.00 rad
Potencia Ativa Gerada(Pg)= 3.05
Potencia Reativa Gerada(Qg)= 1.70
Potencia Ativa Consumida(Pl)= 0.00
Potencia Reativa Consumida(Ql)= 0.00
BARRA 5:
Modulo da Tensao(V)=0.97
Potencia Ativa(Pi)= -3.00
Potencia Reativa(Qi)= -1.50
Angulo da Tensao=-0.14 rad
Potencia Ativa Gerada(Pg)= 0.00
Potencia Reativa Gerada(Qg)= 0.00
Potencia Ativa Consumida(Pl)= 3.00
Potencia Reativa Consumida(Ql)= 1.50
Código fonte do programa, em linguagem C, compilado por Dev-C++ :
#include <math.h>
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#define num 5
int i,j,k,l;
int NBPQ=0; // numeros de barras do tipo PQ
int NBPV=0; // numero de barras do tipo PV
int cont=0;
int dimensao=0;
int ind[2*num-2];
double soma, Ps, Qs;
double Jacobiano[2*num-2][2*num-1];
double deltaX[2*num-2];
double P[num][num], Q[num][num], S[num][num];
double Yp_g[num][num],Yp_b[num][num]; //matriz das condutancias
double Ybus_g[num][num],Ybus_b[num][num]; //matriz das susceptancias
double temp_b,temp_g;
int Tipo_barra[num]={0,1,0,2,0}; //Tipo de barra 0=PQ 1=PV 2=V
char barra;
double Pi[num]={-1,0,-2,0,-3};
double Qi[num]={-0.5,0,-1,0,-1.5};
double Vi[num]={1,1.04,1,1.05,1};
double Angulo[num]={0,0,0,0,0};
double Potger[num]={0,3,0,0,0};
double Qger[num]={0,0,0,0,0};
double Pcons[num]={1,0,2,0,3};
double Qcons[num]={0.5,0,1,0,1.5};
//Reatância
double X[num][num]={
{0,0.1,0,0.18,0}, //Barra 1 com as outras
barras
{0.1,0,0.08,0.09,0}, //Barra 2 com as outras
barras
{0,0.08,0,0,0.12}, //Barra 3 com as outras
barras
{0.18,0.09,0,0,0.05}, //Barra 4 com as outras
barras
{0,0,0.12,0.05,0}}; //Barra 5 com as outras
barras
//Susceptância
double B[num][num]={
{0,0.2,0,0.25,0}, //Barra 1 com as outras
barras
{0.20,0,0.15,0.1,0}, //Barra 2 com as outras
barras
{0,0.15,0,0,0.3}, //Barra 3 com as outras
barras
{0.25,0.1,0,0,0.4}, //Barra 4 com as outras
barras
{0,0,0.3,0.4,0}}; //Barra 5 com as outras barras
int main()
{
FILE *pt;
pt=fopen("c:\\resultados.txt","w");
// Calcula a Y primitiva
for(i=0;i<num;i++)
{ for(j=0;j<num;j++)
{ if(i==j)
{ temp_b=B[i][i];
for(k=0;k<num;k++)
{ if(i!=k && R[i][k]!=0 && X[i][k]!=0)
{ temp_b=temp_b+B[i][k]/2;}
}
Yp_g[i][j]=0;
Yp_b[i][j]=temp_b;
}
else
{ Yp_g[i][j]=0; Yp_b[i][j]=0;
if(R[i][j]!=0)
{ Yp_g[i][j]=(R[i][j]/(pow(R[i][j],2)+pow(X[i][j],2))); }
if(X[i][j]!=0)
{ Yp_b[i][j]=-(X[i][j]/(pow(R[i][j],2)+pow(X[i][j],2))); }
}
}
}
// Imprime a Yp
fprintf(pt,"\n\nMatriz Yp:");
for(i=0;i<num;i++)
{ fprintf(pt,"\n");
for(j=0;j<num;j++)
{ fprintf(pt," (%6.2lf,%6.2lf) ",Yp_g[i][j],Yp_b[i][j]);
}
}
//Calcula a Y bus
for(i=0;i<num;i++)
{ for(j=0;j<num;j++)
{ if(i==j)
{ temp_g=0,temp_b=0;
for(k=0;k<num;k++)
{ temp_g=temp_g+Yp_g[i][k];
temp_b=temp_b+Yp_b[i][k];
}
Ybus_g[i][j]=temp_g;
Ybus_b[i][j]=temp_b;
}
else
{ Ybus_g[i][j]=-Yp_g[i][j];
Ybus_b[i][j]=-Yp_b[i][j];
}
}
}
//Imprime a Ybus
fprintf(pt,"\n\nMatriz Ybus:");
for(i=0;i<num;i++)
{ fprintf(pt,"\n");
for(j=0;j<num;j++)
{ fprintf(pt,"(%6.2lf, %6.2lf) ",Ybus_g[i][j],Ybus_b[i][j]);
}
}
for(i=0;i<num;i++)
{ if(Tipo_barra[i]==1)
{ Pi[i]=Potger[i]-Pcons[i];
soma=0;
for(j=0;j<num;j++)
{ if(Ybus_g[i][j]!=0 && Ybus_b[i][j]!=0)
{ soma=soma+(Vi[j]*(Ybus_g[i][j]*sin(Angulo[i]-Angulo[j])-
Ybus_b[i][j]*cos(Angulo[i]-Angulo[j])));
}
}
Qi[i]=Vi[i]*soma;
NBPV++;
}
if(Tipo_barra[i]==0)
{ Pi[i]=Potger[i]-Pcons[i];
Qi[i]=Qger[i]-Qcons[i];
NBPQ++;
}
}
k=0; l=NBPQ+NBPV;
for(j=0;j<num;j++)
{ if(Tipo_barra[j]!=2)
{ ind[k]=j;
k++;
}
if(Tipo_barra[j]==0)
{ ind[l]=j;
l++;
}
}
for(i=0;i<2*NBPQ+NBPV;i++)
{ if(i<NBPQ+NBPV)
{ deltaX[i]=Angulo[ind[i]]; }
else
{ deltaX[i]=Vi[ind[i]];}
}
// Calcula a matriz jacobiano
while(dimensao<2*NBPQ+NBPV)
{
for(k=0;k<2*NBPQ+NBPV;k++)
{ i=ind[k];
for(l=0;l<2*NBPQ+NBPV;l++)
{ j=ind[l];
if(k<NBPQ+NBPV && l<NBPQ+NBPV)
{ if(i==j)
{ Jacobiano[k][l]=-pow(Vi[i],2)*Ybus_b[i][j]-Qi[i];
}
else
{ Jacobiano[k][l]=Vi[i]*Vi[j]*(Ybus_g[i][j]*sin(Angulo[i]-
Angulo[j])-Ybus_b[i][j]*cos(Angulo[i]-Angulo[j]));
}
else
if(k<NBPQ+NBPV && l>=NBPQ+NBPV)
{ if(i==j)
{ Jacobiano[k][l]=pow(Vi[i],2)*Ybus_g[i][j]+Pi[i];
}
else
{
Jacobiano[k][l]=Vi[i]*Vi[j]*(Ybus_g[i][j]*cos(Angulo[i]-
Angulo[j])+Ybus_b[i][j]*sin(Angulo[i]-Angulo[j]));
}
}
else
if(k>=NBPQ+NBPV && l<NBPQ+NBPV)
{ if(i==j)
{ Jacobiano[k][l]=-pow(Vi[i],2)*Ybus_g[i][j]+Pi[i];
}
else
{ Jacobiano[k][l]=-
Vi[i]*Vi[j]*(Ybus_g[i][j]*cos(Angulo[i]-
Angulo[j])+Ybus_b[i][j]*sin(Angulo[i]-Angulo[j]));
}
}
else
if(k>=NBPQ+NBPV && l>=NBPQ+NBPV)
{ if(i==j)
{ Jacobiano[k][l]=-pow(Vi[i],2)*Ybus_b[i][j]+Qi[i];
}
else
{
Jacobiano[k][l]=Vi[i]*Vi[j]*(Ybus_g[i][j]*sin(Angulo[i]-Angulo[j])-
Ybus_b[i][j]*cos(Angulo[i]-Angulo[j]));
}
}
}
}
//Calcula Matriz -f
l=2*NBPQ+NBPV;
for(k=0;k<2*NBPQ+NBPV;k++)
{ i=ind[k];
soma=0;
if(k<NBPQ+NBPV)
{ for(j=0;j<num;j++)
{ soma=soma+(Vi[j]*(Ybus_g[i][j]*cos(Angulo[i]-
Angulo[j])+Ybus_b[i][j]*sin(Angulo[i]-Angulo[j])));
}
Jacobiano[k][l]=Pi[i]-(Vi[i]*soma);
}
else
{ for(j=0;j<num;j++)
{ soma=soma+(Vi[j]*(Ybus_g[i][j]*sin(Angulo[i]-Angulo[j])-
Ybus_b[i][j]*cos(Angulo[i]-Angulo[j])));
}
Jacobiano[k][l]=Qi[i]-(Vi[i]*soma);
}
}
NR(Jacobiano);
cont++;
}
fprintf(pt,"\n\nMatriz Jacobiano:");
for(i=0;i<2*NBPQ+NBPV;i++)
{ fprintf(pt,"\n");
for(j=0;j<2*NBPQ+NBPV;j++)
{ fprintf(pt," %6.2lf ",Jacobiano[i][j]);
}
}
fprintf(pt,"\n");
for(k=0;k<2*NBPQ+NBPV;k++)
{ if(k<NBPQ+NBPV)
{ fprintf(pt,"\ndeltaX[%d] : é[%d] =
%.2lfø",k,ind[k]+1,180*deltaX[k]/M_PI); }
else
{ fprintf(pt,"\ndeltaX[%d] : Vi[%d] =
%.3lf",k,ind[k]+1,deltaX[k]);
}
}
Ps=0; Qs=0;
for(i=0;i<num;i++)
{ Ps=Ps-Pcons[i];
Qs=Qs-Qcons[i];
Ps=Ps+Potger[i];
Qs=Qs+Qger[i];
}
fprintf(pt,"\n\n\nPERDAS TOTAIS DO SISTEMA:");
fprintf(pt,"\nPerda total ativa do sistema = %7.2lf MW",Ps*100);
fprintf(pt,"\nPerda total reativa do sistema = %7.2lf MVar",Qs*100);