You are on page 1of 2

FAULT ANALYSIS / SLG and LL Faults

clc;
Vf=input('Enter the line voltage : \n')*1E+3;
MVAb=input('Enter the power in MVA :\n')*1E+6;
Z1=1i*input('Enter the positive sequence reactance : \n');
Z2=1i*input('Enter the negative sequence reactance : \n');
Zg0=1i*input('Enter the zero sequence reactance : \n');
Zn=1i*input('Enter the neutral grounding reactor if provided else enter zero : \n');
Z0=Zg0+3*Zn;
type=input('Enter the Fault type as 1 for SLG fault, 2 for LL fault, 3 for DLG fault :\n');
Zf=1i*input('If the fault involves fault impedance enter the value else enter zero : \n');
a=(-0.5+0.8660i);
A=[1 1 1;1 a^2 a;1 a a^2];
E=Vf/Vf;
input('\n\n');
disp('MATLAB OUTPUT :');
input('\n');
if type == 1
[Ia0,Ia1,Ia2,Ia,Ib,Ic,Ifpu]=SLGF(E,Z0,Z1,Z2,Zf);
else
[Ia0,Ia1,Ia2,Ia,Ib,Ic,Ifpu]=LLF(E,Z1,Z2,Zf);
end
Va0=-Z0*Ia0;
Va1 = E-Z1*Ia1 ;
Va2=-Z2*Ia2;
V= [Va0 Va1 Va2] ;
Ibase=MVAb/(sqrt(3)*Vf);
Ifault=Ifpu*Ibase;
fprintf('\n\nThe Fault current magnitude is : If = %d Amps\n',abs(Ifault));
VV=A*transpose(V);
% Phase Currents : Iabc = [Ia Ib Ic]
Iabc=[Ia Ib Ic];
fprintf('\n\nThe phase currents is given by : \n Iabc = [%d %d %d] Amps\n',abs([Ia Ib Ic]))
% Phase Voltages : Vabc = [Va Vb Vc]
Va=VV(1);
Vb=VV(2);
Vc=VV(3);
% Line-Line Voltages : Vab, Vbc, Vca
Vab=(Va-Vb)*Vf;
fprintf('\nVab = %d Volts \n\n',abs(Vab))
Vbc=(Vb-Vc)*Vf;
fprintf('\nVbc = %d Volts \n\n',abs(Vbc))
Vca=(Vc-Va)*Vf;
fprintf('\nVca = %d Volts \n\n',abs(Vca))

sub programs for functions specified in the above main body :

(i) Save File name as : SLGF.m


function [Ia0,Ia1,Ia2,Ia,Ib,Ic,Ifpu]=SLGF(E,Z0,Z1,Z2,Zf)
Ia0=E/(Z0+Z1+Z2+3*Zf) ;
Ia1=Ia0;
Ia2=Ia0;
Ia=3*Ia0;
Ib=0;
Ic=0;
Ifpu=Ia;
fprintf('\n\nThe SLG fault in p.u is given by : \n If(p.u) = %d p.u \n',abs(Ifpu))
end
(i) Save File name as : LLF.m
function [Ia0,Ia1,Ia2,Ia,Ib,Ic,Ifpu]=LLF(E,Z1,Z2,Zf)
Ia0=0;
Ia1=E/(Z1+Z2+Zf);
Ia2=-Ia1;
Ia=0;
Ib=-i*sqrt(3)*Ia1;
Ifpu=Ib;
Ic=-Ib;
fprintf('\n\nThe SLG fault in p.u is given by : \n If(p.u) = %d p.u \n',abs(Ifpu))
end

You might also like