Aim: Prepare Linknet structure for given Network & find out the primary &
Back-up relay pairs.
P a g e | 2.1
P a g e | 2.2
Here is the MATLAB Program to find out Linknet structure for any Network of Power
system.
% THIS PROGRAM IS FOR MAKING LINKNET STRUCTURE OF GIVEN NETWORK
clc, clear all,
% TO CLEAR SCREEN & ALL VARIABLES
B=input('No of branch=');
% NO. OF BRANCHES OF NETWORK
a=1; b=2;
% Node A & B - Numeric equivalent
Node=zeros(2,B);
% NODE MATRIX = NULL MATRIX
End=zeros(2,B);
% END MATRIX = NULL MATRIX
List=zeros(2,B);
% LIST MATRIX = NULL MATRIX
Far=zeros(2,B);
% FAR MATRIX = NULL MATRIX
Next=zeros(2,B);
% NEXT MATRIX = NULL MATRIX
%==========LOOP FOR GIVING NODE(A) & NODE(B) OF BRANCHES============
for l=1:1:B;
fprintf('Enter Node A of branch %d =',l);
Node(a,l)=input('');
End(a,l)=(l*2-1);
fprintf('Enter Node B of branch %d =',l);
Node(b,l)=input('');
End(b,l)=(l*2);
end
%==========LOOP FOR FIND OUT END(A) & END(B) OF BRANCHES============
for l=1:1:B;
End(a,l)=(l*2-1);
% END(A)=(2*BRANCH)-1
List(a,l)=End(a,l);
End(b,l)=(l*2);
% END(B)=(2*BRANCH)
List(b,l)=End(b,l);
end
%==========LOOP FOR FIND OUT FAR(END) OF BRANCHES============
for l=1:1:B;
Far(a,l)=Node(b,l);
% FAR(END(A))=NODE(B)
Far(b,l)=Node(a,l);
% FAR(END(B))=NODE(A)
end
%==========LOOP FOR FIND OUT NEXT(END)=LIST(NODE) OF BRANCHES============
for l=1:1:B;
if l==1;
% IF FIRST BRANCH, THEN ENTER IN LOOP
Next(a,l)=0;
% NEXT(END(A))=0 FOR FIRST BRANCH
Next(b,l)=0;
% NEXT(END(B))=0 FOR FIRST BRANCH
elseif l>0;
% IF BRANCH IS NON-ZERO, THEN ENTER IN LOOP
%==========FOR FINDING NEXT(A) OF ALL BRANCHES===============
x=l;
% TAKIN x=l AS VARIABLE
while (x>1)
% EVALUATE LOOP TILL FOR x>1 & LOOP END IF x=0
if Node(a,l)==Node((b),(x-1)) % EVALUATE LOOP, IF NODE(A) OF
BRANCH (l) IS EQUAL TO NODE(B) OF BRANCH(x-1)
Next(a,l)=End((b),(x-1));
% NEXT(A) OF BRANCH (l) IS EQUAL
TO END(B) OF BRANCH(x-1)
elseif Node(a,l)==Node(a,(x-1)) % EVALUATE LOOP, IF NODE(A) OF
BRANCH (l) IS EQUAL TO NODE(A) OF BRANCH(x-1)
Next(a,l)=End(a,(x-1)); % NEXT(A) OF BRANCH (l) IS EQUAL
TO END(A) OF BRANCH(x-1)
end
if Next(a,l)==0 % EVALUATE LOOP,IF NEXT(A) OF BRANCH(l) IS EQUAL
TO ZERO
x=x-1;
else
x=0;
end
end
P a g e | 2.3
P a g e | 2.4
P a g e | 2.5
P a g e | 2.7
Here is the Matlab Program to find out Primary / Back-up relay pairs of given network
from Linknet Structure.
relay=B*2;
% No. OF RELAY
NodeR=zeros(1,relay);
% NODE(RELAY) MATRIX = NULL MATRIX
FarR=zeros(1,relay);
% FAR(RELAY) MATRIX = NULL MATRIX
NextR=zeros(1,relay);
% NEXT(RELAY) MATRIX = NULL MATRIX
EndR=zeros(1,relay);
% END(RELAY) MATRIX = NULL MATRIX
ListR=zeros(1,relay);
% LIST(RELAY) MATRIX = NULL MATRIX
ListD=zeros(1,relay);
BranchR=zeros(1,relay);
% BRANCH(RELAY) MATRIX = NULL MATRIX
% AS WE KNOW, WE GET "BRANCH","END","LIST","NODE","FAR" & "NEXT" MATRIXs OF SIZE
(2 x No. branch).
% BUT FOR SIMPLICITY OF CALCULATION WE REQUIRE IT AS RAW MATRIX
% OF (1 x (2*No. branches))
% SO "BranchR","EndR","ListR","NodeR","FarR" & "NextR" ARE REQUIRED MATRIX.
%=========="BranchR"==========
for i=1:1:B;
BranchR(2*i-1)=i;
BranchR(2*i)=i;
end
%=========="EndR"==========
for i=1:1:B;
EndR(2*i-1)=End(1,i);
EndR(2*i)=End(2,i);
end
%=========="ListD"==========
for i=1:1:B;
ListD(2*i-1)=List(1,i);
ListD(2*i)=List(2,i);
end
%=========="NodeR"==========
for i=1:1:B;
NodeR(2*i-1)=Node(1,i);
NodeR(2*i)=Node(2,i);
end
%=========="FarR"==========
for i=1:1:B;
FarR(2*i-1)=Far(1,i);
FarR(2*i)=Far(2,i);
end
%=========="NextR"==========
for i=1:1:B;
NextR(2*i-1)=Next(1,i);
NextR(2*i)=Next(2,i);
end
P a g e | 2.8
P a g e | 2.9
P a g e | 2.10
Input:
No of
Enter
Enter
Enter
Enter
Enter
Enter
Enter
Enter
Enter
Enter
Enter
Enter
branch=6
Node A of
Node B of
Node A of
Node B of
Node A of
Node B of
Node A of
Node B of
Node A of
Node B of
Node A of
Node B of
branch
branch
branch
branch
branch
branch
branch
branch
branch
branch
branch
branch
1
1
2
2
3
3
4
4
5
5
6
6
=1
=2
=1
=2
=1
=3
=2
=4
=3
=5
=3
=5
Output :
LINKNET STRUCTURE FOR GIVE NETWORK
""""""""""""""""""""""""""""""""""
Branch Node
End
Next List Far
1
1
1
0
1
2
1
2
2
0
2
1
2
1
3
1
3
2
2
2
4
2
4
1
3
1
5
3
5
3
3
3
6
0
6
1
4
2
7
4
7
4
4
4
8
0
8
2
5
3
9
6
9
5
5
5
10
0
10
3
6
3
11
9
11
5
6
5
12
10
12
3
PRIMARY / BACK-UP RELAY PAIRS IF GIVEN NETWORK
""""""""""""""""""""""""""""""""""""""""""""""
backup 1st
2nd
3rd
4th
5th
6th
7th
pri
1
7
4
2
5
3
3
7
2
4
5
1
5
11
9
6
3
1
7
0
0
8
4
2
9
12
0
10
11
6
11
10
0
12
9
6
8th
P a g e | 2.11