Вы находитесь на странице: 1из 7

INSTITUTO FEDERAL SUL-RIO-GRANDENSE

CURSO SUPERIOR DE ENGENHARIA ELTRICA


DISCIPLINA DE ANLISE DE SITEMAS DE ENERGIA A
PROFESSOR ANDR LERM

IMPLEMENTAO DE FLUXO DE
POTNCIA EM MATLAB
(GAUSS-SEIDEL)

FABIANO LUIS LIMA PASSOS

DEZEMBRO, 2014

So apresentadas a seguir as linhas de cdigo do programa executado


em MATLAB, com seus devidos comentrios de programao. Aps so
explicados, em linhas gerais, os princpios de funcionamento de algumas
partes do trabalho que requerem uma ressalva maior.
%Trabalho sobre Fluxo de Potncia - Mtodo de Gauss-Seidel
%Disciplina de Analise de Sistemas de Energia A
%Data:17/12/2014
%Fabiano Luis Lima Passos
%Dados conforme exemplo 8.1 Stevenson

clc;
clear all;
%Tipo 0- Carga 2- Tenso 3-Referncia
%Barras
QGerada
barra =
0.65
1.15
0.7
0.7
0.85

num_barra Tipo
Tenso
Fase(graus) PGerada
PCarga
QCarga
Susceptncia shunt
[ 1
2
1.04
0
0
0.30
0;
2
0
1.0
0
0
0.60
0;
3
1
1.02
0
1.80
0.4
0;
4
0
1.0
0
0
0.3
0;
5
0
1.0
0
0
0.4
0];

%Trechos entre barras


Origem
Destino
capacitor_serie
Fase phi (graus)
trechos =
[
1
2
0
0.0;
1
5
0
0.0;
2
3
0
0.0;
3
4
0
0.0;
3
5
0
0.0;
4
5
0
0.0];

Resistncia

Reatncia

0.0420

0.1680

0.0310

0.1260

0.0310

0.1260

0.0840

0.3360

0.0540

0.2100

0.0630

0.2520

Determinao da dimenso das matrizes

[num_barras, colun1] = size(barra);


[num_trechos , colun2] = size(trechos);
%
Obteno dos dados de barra
tipo = (barra(:,2))'; %Indica tipo de barra: PQ, PV, ou Vteta
V_esp = (barra(:,3))'; %Tenso na barra em pu
theta_esp = (barra(:,4))' * pi/180; %theta em radianos
Pesp_g = (barra(:,5))'; %Potncia ativa especificada gerada
Qesp_g = (barra(:,6))'; %Potncia reativa especificada gerada

0
0
0
0
0

Pesp_c = (barra(:,7))'; %Potncia ativa especificada carga


Qesp_c = (barra(:,8))'; %Potncia reativa especificada carga
Cap_paralelo = (barra(:,9))'; %Capacitor em paralelo com a barra
(basta adicionar valores para resolver a letra b)
P_esp = Pesp_g - Pesp_c; %Potncia ativa especificada (gerador carga)
Q_esp = Qesp_g - Qesp_c; %Potncia reativa especificada (gerador carga)
%
Obteno dos dados do trecho entre as barras
barra_origem = trechos(:,1); %Determina origem
barra_destino = trechos(:,2); %Determina destino
r = trechos(:,3); %Resitncia
x = trechos(:,4); %Reatncia
bs = trechos(:,5) / 2; %Montagem dos capacitores shunt no modelo pi
phi = trechos(:,6)*pi/180; %ngulo de defasagem nas barras em radianos
(dado em graus)
Y = zeros(num_barras,num_barras); %Cria um vetor de zeros para a
admitancia com a dimenso do sistema
%Matriz de admitncias
for k = 1:num_barras
Y(k,k) = i*Cap_paralelo(k);
end
for a = 1:num_trechos %Montagem da matriz de admitncias a partir dos
dados fornecidos da linha e sistema
k = barra_origem(a);
m = barra_destino(a);
y(a) = 1/(r(a) + i*x(a));
Y(k,k) = Y(k,k) + y(a) + i*bs(a);
Y(m,m) = Y(m,m) + y(a) + i*bs(a);
Y(k,m) = Y(k,m) - y(a);
Y(m,k) = Y(m,k) - y(a);
end
G = real(Y); %Parte real de Y - matriz de condutncias
B = imag(Y); %Parte imaginria de Y - matriz de susceptncias
n=length(tipo); %Especifica ordem do sistema
for a=1:1:n
E_ant(a) = V_esp(a)*cos(theta_esp(a))+i*sin(theta_esp(a)); %Cria
vetor com tenses e ngulos especificados
end
iter_max=100; %Especifica nmero mximo de iteraes
iter=1; %Inicia vetor que conta nmero de iteraes
while iter~=iter_max
for a=2:1:n %Comea em dois pois a barra 1 slack
if tipo(a)==0 %Clculo para barras tipo PQ
acc=0; acq=0;%Inicializa variveis que armazenan o
somatrio de Yak*Ek
for k=1:1:n
acq=acq+Y(a,k)*E_ant(k); %Yak*Ek para todos valores de k
if a~=k
acc=acc+Y(a,k)*E_ant(k); %Yak*Ek com k diferente de a
end

end
E(a) = (1/Y(a,a))*(((P_esp(a)-i*Q_esp(a))/conj(E_ant(a)))acc);%Clculo da tenso na barra
V(a) = abs(E(a));%Mdulo da tenso na barra
theta(a) = angle(E(a));%ngulo da barra
else
if tipo(a)==1 %Clculo para barras tipo PV
acq=0; acc=0;
for k=1:1:n
acq=acq+Y(a,k)*E_ant(k);
if a~=k
acc=acc+Y(a,k)*E_ant(k);
end
end
Q(a) = -imag(conj(E_ant(a))*acq);%Qcalculada
E(a) = (1/Y(a,a))*(((P_esp(a)-i*Q(a))/conj(E_ant(a)))acc);%Clculo da tenso na barra
E_corr(a) = E(a)*V_esp(a)/abs(E(a));%Adequao do
mdulo da tenso
theta(a)=angle(E_corr(a));
E(a)=E_corr(a);
end
Q(a) = -imag(conj(E(a))*acq);%Qcalculada
end
E_tol(a)=E_ant(a);
E_ant(a)=E(a);
end
if abs(abs(E)-abs(E_tol))<1e-8 %Critrio de convergncia
tolerncia
iter
iter=iter_max;
else
iter=iter+1;
end
end

for a=1:1:n
if tipo(a)==0
P(a)=P_esp(a);
Q(a)=Q_esp(a);
else
if tipo(a)==1
P(a)=P_esp(a);
V(a)=V_esp(a);
Qesp_g(a)=Q(a);
else
V(a)=V_esp(a);
theta(a)=theta_esp(a);
E(a)=V_esp(a)*cos(theta_esp(a))+i*sin(theta_esp(a));
end
end
end
Ikm=zeros(num_trechos);
Skm=zeros(num_trechos);
%Fluxo de potncia
for a=1:num_trechos
k = barra_origem(a);
m = barra_destino(a);

end

Ikm(a)=(E(k)-E(m))*Y(k,m);
Skm(a)=E(k)*conj(Ikm(a));

Pkm=real(Skm);
Qkm=imag(Skm);
%Potncia da barra slack
Pslack=0;
Qslack=0;
for a=1:num_trechos
k = barra_origem(a);
m = barra_destino(a);
if k==1
Pslack=Pslack+Pkm(a);
Qslack=Qslack+Qkm(a);
end
end
P(1)=-Pslack;
Q(1)=-Qslack;
%
Resultados Obtidos
%Tenses, ngulos e potncias
fprintf('\nTenses, ngulos e potncias\n');
fprintf('\nResultados Obtidos\n');
fprintf('\nTenso nas barras (pu)\n');
V
fprintf('\nngulo teta em graus\n');
theta=theta*180/pi;
theta
fprintf('\nPotncia ativa calculada (pu)\n');
P
fprintf('\nPotncia reativa calculada (pu)\n');
Q
fprintf('\nFluxo de Potncia (MVA)\n');
fprintf('\n
De
Para
Pkm
Qkm\n');
for a = 1:num_trechos
fprintf(' |%3d %6d %9.2f %8.2f
|\n',barra_origem(a),barra_destino(a),Pkm(a)*100,Qkm(a)*100) %Base do
sistema 100MVA
end
%Fabiano Luis Lima Passos
% Mtodo de Gauss-Seidel

Descrio do Mtodo de Gauss-Seidel

O mtodo de Gauss-Seidel um mtodo iterativo para resoluo de


sistemas de equaes lineares. semelhante ao mtodo de Jacobi (e como
tal, obedece ao mesmo critrio de convergncia). condio suficiente de
convergncia que a matriz seja estritamente diagonal dominante, i. e., fica
garantida a convergncia da sucesso de valores gerados para a soluo
exacta do sistema linear. Sendo que o mtodo de Gauss-Seidel apresenta
convergncia mais rpida que este ltimo. A iterao geralmente continua at
que a soluo esteja dentro da tolerncia especificada.

Referncias Bibliogrficas

Power System Analysis and Design 5th ed., J. Duncan Glover, Mulukutla S.
Sarma, Brooks/Cole Pub Co.
GRAINGER, J, STEVENSON JR, W, Power System Analysis, McGraw-Hill,
1994

Вам также может понравиться