Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
44 views

Clear All: Program Loadflow - NR % This Is The Newton-Raphson Power Flow Program

This document contains the code for a Newton-Raphson power flow program. It initializes matrices and parameters, defines the Newton-Raphson iteration process to calculate mismatches between calculated and given power values, computes the Jacobian matrix, updates voltage angles and magnitudes at each iteration, and calculates final power flows and losses once mismatches are below a threshold.

Uploaded by

teja
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
44 views

Clear All: Program Loadflow - NR % This Is The Newton-Raphson Power Flow Program

This document contains the code for a Newton-Raphson power flow program. It initializes matrices and parameters, defines the Newton-Raphson iteration process to calculate mismatches between calculated and given power values, computes the Jacobian matrix, updates voltage angles and magnitudes at each iteration, and calculates final power flows and losses once mismatches are below a threshold.

Uploaded by

teja
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 3

Program loadflow_nr

% THIS IS THE NEWTON-RAPHSON POWER FLOW PROGRAM


clear all
d2r=pi/180;w=100*pi;
% The Ybus matrix is
[ybus,ych]=ybus;
g=real(ybus);b=imag(ybus);
% The given parameters and initial conditions are
p=[0;-0.96;-0.35;-0.16;0.24];
q=[0;-0.62;-0.14;-0.08;-0.35];
mv=[1.05;1;1;1;1.02];
th=[0;0;0;0;0];
del=1;indx=0;
% The Newton-Raphson iterations starts here
while del>1e-6
for i=1:5
temp=0;
for k=1:5
temp=temp+mv(i)*mv(k)*(g(i,k)-j*b(i,k))*exp(j*(th(i)-th(k)));
end
pcal(i)=real(temp);qcal(i)=imag(temp);
end
% The mismatches
delp=p-pcal';
delq=q-qcal';
% The Jacobian matrix
for i=1:4
ii=i+1;
for k=1:4
kk=k+1;
j11(i,k)=mv(ii)*mv(kk)*(g(ii,kk)*sin(th(ii)-th(kk))b(ii,kk)*cos(th(ii)-th(kk)));
end
j11(i,i)=-qcal(ii)-b(ii,ii)*mv(ii)^2;
end
for i=1:4
ii=i+1;

for k=1:4
kk=k+1;
j211(i,k)=-mv(ii)*mv(kk)*(g(ii,kk)*cos(th(ii)-th(kk))b(ii,kk)*sin(th(ii)-th(kk)));
end
j211(i,i)=pcal(ii)-g(ii,ii)*mv(ii)^2;
end
j21=j211(1:3,1:4);
j12=-j211(1:4,1:3);
for i=1:3
j12(i,i)=pcal(i+1)+g(i+1,i+1)*mv(i+1)^2;
end
j22=j11(1:3,1:3);
for i=1:3
j22(i,i)=qcal(i+1)-b(i+1,i+1)*mv(i+1)^2;
end
jacob=[j11 j12;j21 j22];
delpq=[delp(2:5);delq(2:4)];
corr=inv(jacob)*delpq;
th=th+[0;corr(1:4)];
mv=mv+[0;mv(2:4).*corr(5:7);0];
del=max(abs(delpq));
indx=indx+1;
end
preal=(pcal+[0 0 0 0 0.24])*100;
preac=(qcal+[0 0 0 0 0.11])*100;
% Power flow calculations
for i=1:5
v(i)=mv(i)*exp(j*th(i));
end
for i=1:4
for k=i+1:5
if (ybus(i,k)==0)
s(i,k)=0;s(k,i)=0;
c(i,k)=0;c(k,i)=0;
q(i,k)=0;q(k,i)=0;
cur(i,k)=0;cur(k,i)=0;
else
cu=-(v(i)-v(k))*ybus(i,k);

s(i,k)=-v(i)*cu'*100;
s(k,i)=v(k)*cu'*100;
c(i,k)=100*abs(ych(i,k))*abs(v(i))^2;
c(k,i)=100*abs(ych(k,i))*abs(v(k))^2;
cur(i,k)=cu;cur(k,i)=-cur(i,k);

end
end

end

pwr=real(s);
qwr=imag(s);
q=qwr-c;
% Power loss
ilin=abs(cur);
for i=1:4
for k=i+1:5
if (ybus(i,k)==0)
pl(i,k)=0;pl(k,i)=0;
ql(i,k)=0;ql(k,i)=0;
else
z=-1/ybus(i,k);
r=real(z);
x=imag(z);
pl(i,k)=100*r*ilin(i,k)^2;pl(k,i)=pl(i,k);
*x*ilin(i,k)^2;ql(k,i)=ql(i,k);
end
end
end

ql(i,k)=100

You might also like