# CHAPTER 3.1: SYMMETRICAL SHORT CIRCUIT CAPACITY CALCULATIONS¶

## Example 3.1.1, Page number 466-467¶

In :
import math
import cmath

#Variable declaration
V = 500.0                   #Generator voltage(V)
rating = 10.0               #Rating of the generator(kVA)
n_up = 1.0/2                #Turns ratio of step-up transformer
Z_line = complex(1.0,2.0)   #Transmission line impedance(ohm)
n_down = 10.0/1             #Turns ratio of step-down transformer

#Calculation
V_base_gen = V                                 #Base voltage(V)
kVA_base_gen = rating                          #Base rating(kVA)
I_base_gen = kVA_base_gen*1000/V_base_gen      #Base current(A)
Z_base_gen = V_base_gen/I_base_gen             #Base impedance(ohm)
V_base_line = V_base_gen/n_up                  #Voltage base of the transmission line(V)
kVA_base_line = rating                         #Base rating of transmission line(kVA)
I_base_line = kVA_base_line*1000/V_base_line   #Base current of transmission line(A)
Z_base_line = V_base_line/I_base_line          #Base impedance of transmission line(ohm)
Z_line_1 = Z_line/Z_base_line                  #Impedance of transmission line(p.u)
V_base_load = V_base_line/n_down               #Base voltage at the load(V)
kVA_base_load = rating                         #Base rating of load(kVA)
Z_total = Z_line_1+Z_load                      #Total impedance(p.u)
I = 1.0/Z_total                                #Current(p.u)

#Result
print('Current, I = %.3f∠%.2f° p.u' %(abs(I),cmath.phase(I)*180/math.pi))

Current, I = 0.222∠-63.43° p.u


## Example 3.1.2, Page number 467-468¶

In :
#Variable declaration
kV = 33.0                   #Transmission line operating voltage(kV)
R = 5.0                     #Transmission line resistance(ohm)
X = 20.0                    #Transmission line reactance(ohm)
kVA_tr = 5000.0             #Rating of step-up transformer(kVA)
X_tr = 6.0                  #Reactance of transformer(%)
kVA_A = 10000.0             #Rating of alternator A(kVA)
X_A = 10.0                  #Reactance of alternator A(%)
kVA_B = 5000.0              #Rating of alternator B(kVA)
X_B = 7.5                   #Reactance of alternator B(%)

#Calculation
kVA_base = kVA_A                                      #Base rating(kVA)
X_gen_A = X_A*kVA_base/kVA_A                          #Reactance of generator A(%)
X_gen_B = X_B*kVA_base/kVA_B                          #Reactance of generator B(%)
X_trans = X_tr*kVA_base/kVA_tr                        #Reactance of transformer(%)
X_per = kVA_base*X/(10*kV**2)                         #X(%)
R_per = kVA_base*R/(10*kV**2)                         #R(%)
Z_F1 = (X_gen_A*X_gen_B/(X_gen_A+X_gen_B))+X_trans    #Impedance upto fault(%)
kVA_F1 = kVA_base*(100/Z_F1)                          #Short-circuit kVA fed into the fault(kVA)
R_per_F2 = R_per                                      #R(%)
X_per_F2 = X_per+Z_F1                                 #X(%)
Z_F2 = (R_per_F2**2+X_per_F2**2)**0.5                 #Total impedance upto F2(%)
kVA_F2 = kVA_base*(100/Z_F2)                          #Short-circuit kVA fed into the fault at F2(kVA)

#Result
print('Case(a): kVA at a short-circuit fault between phases at the HV terminal of transformers = %.f kVA' %kVA_F1)
print('Case(b): kVA at a short-circuit fault between phases at load end of transmission line = %.f kVA' %kVA_F2)
print('\nNOTE: Changes in the obtained answer from that of textbook is due to more precision here & approximation in textbook')

Case(a): kVA at a short-circuit fault between phases at the HV terminal of transformers = 55556 kVA
Case(b): kVA at a short-circuit fault between phases at load end of transmission line = 27282 kVA

NOTE: Changes in the obtained answer from that of textbook is due to more precision here & approximation in textbook


## Example 3.1.3, Page number 468-469¶

In :
#Variable declaration
kVA_a = 40000.0          #Capacity of transmission line(kVA)
x_a = 10.0               #Reactance of transmission line(%)
kVA_b = 20000.0          #Capacity of transmission line(kVA)
x_b = 5.0                #Reactance of transmission line(%)
kVA_c = 50000.0          #Capacity of transmission line(kVA)
x_c = 20.0               #Reactance of transmission line(%)
kVA_d = 30000.0          #Capacity of transmission line(kVA)
x_d = 15.0               #Reactance of transmission line(%)
kVA_e = 10000.0          #Capacity of transmission line(kVA)
x_e = 6.0                #Reactance of transmission line(%)
kVA_T1 = 150000.0        #Capacity of transformer(kVA)
x_T1 = 10.0              #Reactance of transformer(%)
kVA_T2 = 50000.0         #Capacity of transformer(kVA)
x_T2 = 8.0               #Reactance of transformer(%)
kVA_T3 = 20000.0         #Capacity of transformer(kVA)
x_T3 = 5.0               #Reactance of transformer(%)
kVA_GA = 150000.0        #Capacity of generator(kVA)
x_sA = 90.0              #Synchronous reactance of generator(%)
x_tA = 30.0              #Transient reactance of generator(%)
kVA_GB = 50000.0         #Capacity of generator(kVA)
x_sB = 50.0              #Synchronous reactance of generator(%)
x_tB = 17.5              #Transient reactance of generator(%)
V = 33.0                 #Feeder voltage(kV)

#Calculation
kVA_base = 200000.0                                  #Base rating(kVA)
X_a = kVA_base/kVA_a*x_a                             #Reactance(%)
X_b = kVA_base/kVA_b*x_b                             #Reactance(%)
X_c = kVA_base/kVA_c*x_c                             #Reactance(%)
X_d = kVA_base/kVA_d*x_d                             #Reactance(%)
X_e = kVA_base/kVA_e*x_e                             #Reactance(%)
X_T1 = kVA_base/kVA_T1*x_T1                          #Reactance(%)
X_T2 = kVA_base/kVA_T2*x_T2                          #Reactance(%)
X_T3 = kVA_base/kVA_T3*x_T3                          #Reactance(%)
X_sA = kVA_base/kVA_GA*x_sA                          #Synchronous reactance(%)
X_tA = kVA_base/kVA_GA*x_tA                          #Transient reactance(%)
X_sB = kVA_base/kVA_GB*x_sB                          #Synchronous reactance(%)
X_tB = kVA_base/kVA_GB*x_tB                          #Transient reactance(%)
X_eq_ab = X_a+X_b                                    #Equivalent reactance of transmission lines a & b(%)
X_eq_abc = X_eq_ab*X_c/(X_eq_ab+X_c)                 #Equivalent reactance of transmission line c with series combination of a & b(%)
X_CF = (X_eq_abc+X_sA)*X_d/(X_eq_abc+X_sA+X_d)       #Total reactance b/w sub-station C & F(%)
#Case(i)
X_tr_genA = kVA_base/kVA_GA*x_tA                     #Reactance in transient state of generator A(%)
X_T1_tr = kVA_base/kVA_T1*x_T1                       #Reactance in transient state of transformer T1(%)
X_CF_tr = X_CF                                       #Total reactance in transient state b/w sub-station C & F(%)
X_eq_tAF = X_tr_genA+X_T1_tr+X_CF_tr                 #Equivalent transient reactance from generator A to substation F(%)
X_tr_genB = kVA_base/kVA_GB*x_tB                     #Reactance in transient state of generator B(%)
X_T2_tr = kVA_base/kVA_T2*x_T2                       #Reactance in transient state of transformer T2(%)
X_eq_tBF = X_tr_genB+X_T2_tr                         #Equivalent transient reactance from generator B to substation F(%)
X_eq_tF = X_eq_tAF*X_eq_tBF/(X_eq_tAF+X_eq_tBF)      #Equivalent transient reactance upto substation F(%)
X_eq_tfault = X_eq_tF+X_T3                           #Equivalent transient reactance upto fault point(%)
kVA_t_sc = kVA_base/X_eq_tfault*100                  #Transient short circuit kVA(kVA)
I_t_sc = kVA_t_sc/(3**0.5*V)                         #Transient short circuit rms current(A)
I_t_sc_peak = 2**0.5*I_t_sc                          #Peak value of transient short circuit current(A)
#Case(ii)
X_S_genA = kVA_base/kVA_GA*x_sA                      #Reactance in steady state of generator A(%)
X_eq_SAF = X_S_genA+X_T1+X_CF                        #Equivalent steady state reactance from generator A to substation F(%)
X_eq_SBF = X_sB+X_T2                                 #Equivalent steady state reactance from generator B to substation F(%)
X_eq_SF = X_eq_SAF*X_eq_SBF/(X_eq_SAF+X_eq_SBF)      #Equivalent steady state reactance upto substation F(%)
X_eq_Sfault = X_eq_SF+X_T3                           #Equivalent steady state reactance upto fault point(%)
kVA_S_sc = kVA_base/X_eq_Sfault*100                  #Steady state short circuit kVA(kVA)
I_S_sc = kVA_S_sc/(3**0.5*V)                         #Sustained short circuit rms current(A)
I_S_sc_peak = 2**0.5*I_S_sc                          #Peak value of sustained short circuit current(A)

#Result
print('Case(i) : Transient short circuit current at X = %.f A (peak value)' %I_t_sc_peak)
print('Case(ii): Sustained short circuit current at X = %.f A (peak value)' %I_S_sc_peak)
print('\nNOTE: Changes in the obtained answer from that of textbook is due to more precision here')

Case(i) : Transient short circuit current at X = 4750 A (peak value)
Case(ii): Sustained short circuit current at X = 3170 A (peak value)

NOTE: Changes in the obtained answer from that of textbook is due to more precision here


## Example 3.1.4, Page number 469-470¶

In :
#Variable declaration
kVA_gen = 21000.0       #Generator rating(kVA)
kV_gen = 13.8           #Voltage rating of generator(kV)
X_tr_gen = 30.0         #Transient reactance of generator(%)
kVA_trans = 7000.0      #Transformer rating(kVA)
kV_trans_lv = 13.8      #LV voltage rating of transformer(kV)
kV_trans_hv = 66.0      #HV voltage rating of transformer(kV)
X_trans = 8.4           #Reactance of transformer(%)
l = 50.0                #Tie line length(miles)
x = 0.848               #Reactance of tie line(ohm/mile)
l_fault = 20.0          #Location of fault from station A(miles)

#Calculation
kVA_base = kVA_gen                             #Base rating(kVA)
X_A = X_tr_gen                                 #Reactance of generator A(%)
X_B = X_tr_gen                                 #Reactance of generator B(%)
X_T1 = 3.0*X_trans                             #Reactance of transformer T1(%)
X_T2 = 3.0*X_trans                             #Reactance of transformer T2(%)
X_1 = kVA_base/(10*kV_trans_hv**2)*x*l_fault   #Reactance(%)
X_2 = X_1*(l-l_fault)/l_fault                  #Reactance(%)
X_AF = X_A+X_T1+X_1                            #Resultant reactance A to F(%)
X_BF = X_B+X_T2+X_2                            #Resultant reactance B to F(%)
X_eq_fault = X_AF*X_BF/(X_AF+X_BF)             #Equivalent reactance upto fault(%)
kVA_SC = kVA_base/X_eq_fault*100               #Short circuit kVA((kVA)
I_SC = kVA_SC/(3**0.5*kV_trans_hv)             #Short circuit current(A)

#Result
print('Short circuit current = %.f A' %I_SC)
print('\nNOTE: Changes in the obtained answer from that of textbook is due to more precision here')

Short circuit current = 562 A

NOTE: Changes in the obtained answer from that of textbook is due to more precision here


## Example 3.1.5, Page number 470-471¶

In :
#Variable declaration
MVA_G1 = 100.0            #Generator rating(MVA)
X_G1 = 30.0               #Reactance of generator(%)
MVA_G2 = 150.0            #Generator rating(MVA)
X_G2 = 20.0               #Reactance of generator(%)
MVA_G3 = 200.0            #Generator rating(MVA)
X_G3 = 15.0               #Reactance of generator(%)
MVA_T1 = 150.0            #Transformer rating(MVA)
X_T1 = 10.0               #Reactance of transformer(%)
MVA_T2 = 175.0            #Transformer rating(MVA)
X_T2 = 8.0                #Reactance of transformer(%)
MVA_T3 = 200.0            #Transformer rating(MVA)
X_T3 = 6.0                #Reactance of transformer(%)
MVA_T4 = 100.0            #Transformer rating(MVA)
X_T4 = 5.0                #Reactance of transformer(%)
MVA_T5 = 150.0            #Transformer rating(MVA)
X_T5 = 5.0                #Reactance of transformer(%)
Z_L1 = complex(0.5,1.0)   #Line impedance(ohm/km)
L1 = 100.0                #Line length(km)
Z_L2 = complex(0.4,1.2)   #Line impedance(ohm/km)
L2 = 50.0                 #Line length(km)
Z_L3 = complex(0.4,1.2)   #Line impedance(ohm/km)
L3 = 50.0                 #Line length(km)
Z_L4 = complex(0.3,1.0)   #Line impedance(ohm/km)
L4 = 60.0                 #Line length(km)
kV_L1 = 220.0             #Voltage towards line(kV)
kV_L2 = 220.0             #Voltage towards line(kV)
kV_L3 = 132.0             #Voltage towards line(kV)
kV_L4 = 132.0             #Voltage towards line(kV)

#Calculation
MVA_base = 200.0                         #Base rating(MVA)
X_d_G1 = (MVA_base/MVA_G1)*(X_G1/100)    #Reactance of generator(p.u)
X_d_G2 = (MVA_base/MVA_G2)*(X_G2/100)    #Reactance of generator(p.u)
X_d_G3 = (MVA_base/MVA_G3)*(X_G3/100)    #Reactance of generator(p.u)
X_T_1 = (MVA_base/MVA_T1)*(X_T1/100)     #Reactance of transformer(p.u)
X_T_2 = (MVA_base/MVA_T2)*(X_T2/100)     #Reactance of transformer(p.u)
X_T_3 = (MVA_base/MVA_T3)*(X_T3/100)     #Reactance of transformer(p.u)
X_T_4 = (MVA_base/MVA_T4)*(X_T4/100)     #Reactance of transformer(p.u)
X_T_5 = (MVA_base/MVA_T5)*(X_T5/100)     #Reactance of transformer(p.u)
Z_L1_base = kV_L1**2/MVA_base            #L1 base impedance(ohm)
Z_L_1 = Z_L1*L1/Z_L1_base                #Line impedance(p.u)
Z_L2_base = kV_L2**2/MVA_base            #L2 base impedance(ohm)
Z_L_2 = Z_L2*L2/Z_L2_base                #Line impedance(p.u)
Z_L3_base = kV_L3**2/MVA_base            #L3 base impedance(ohm)
Z_L_3 = Z_L3*L3/Z_L3_base                #Line impedance(p.u)
Z_L4_base = kV_L4**2/MVA_base            #L4 base impedance(ohm)
Z_L_4 = Z_L4*L4/Z_L4_base                #Line impedance(p.u)

#Result
print('p.u values of the single line diagram are as below')
print('Generators p.u reactances :')
print(' X_d_G1 = %.1f p.u' %X_d_G1)
print(' X_d_G2 = %.3f p.u' %X_d_G2)
print(' X_d_G3 = %.2f p.u' %X_d_G3)
print('Transformers p.u reactances :')
print(' X_T1 = %.3f p.u' %X_T_1)
print(' X_T2 = %.4f p.u' %X_T_2)
print(' X_T3 = %.2f p.u' %X_T_3)
print(' X_T4 = %.1f p.u' %X_T_4)
print(' X_T5 = %.3f p.u' %X_T_5)
print('Lines p.u impedances :')
print(' Z_L1 = (%.3f + %.3fj) p.u' %(Z_L_1.real,Z_L_1.imag))
print(' Z_L2 = (%.3f + %.3fj) p.u' %(Z_L_2.real,Z_L_2.imag))
print(' Z_L3 = (%.3f + %.3fj) p.u' %(Z_L_3.real,Z_L_3.imag))
print(' Z_L4 = (%.3f + %.3fj) p.u' %(Z_L_4.real,Z_L_4.imag))
print('\nNOTE: ERROR: (1). Reactance of T2 is 8 percent & not 1 percent as mentioned in the textbook problem statement')
print('             (2). Several calculation mistakes in the textbook')

p.u values of the single line diagram are as below
Generators p.u reactances :
X_d_G1 = 0.6 p.u
X_d_G2 = 0.267 p.u
X_d_G3 = 0.15 p.u
Transformers p.u reactances :
X_T1 = 0.133 p.u
X_T2 = 0.0914 p.u
X_T3 = 0.06 p.u
X_T4 = 0.1 p.u
X_T5 = 0.067 p.u
Lines p.u impedances :
Z_L1 = (0.207 + 0.413j) p.u
Z_L2 = (0.083 + 0.248j) p.u
Z_L3 = (0.230 + 0.689j) p.u
Z_L4 = (0.207 + 0.689j) p.u

NOTE: ERROR: (1). Reactance of T2 is 8 percent & not 1 percent as mentioned in the textbook problem statement
(2). Several calculation mistakes in the textbook


## Example 3.1.6, Page number 471¶

In :
#Variable declaration
kVA_gen = 21000.0       #Generator rating(kVA)
kV_gen = 13.8           #Voltage rating of generator(kV)
X_tr_gen = 30.0         #Transient reactance of generator(%)
kVA_trans = 7000.0      #Transformer rating(kVA)
kV_trans_lv = 13.8      #LV voltage rating of transformer(kV)
kV_trans_hv = 66.0      #HV voltage rating of transformer(kV)
X_trans = 8.4           #Reactance of transformer(%)
l = 50.0                #Tie line length(miles)
x = 0.848               #Reactance of tie line(ohm/mile)
l_fault = 20.0          #Location of fault from station A(miles)

#Calculation
kVA_base = kVA_gen                                     #Base rating(kVA)
kV_base_lv = kV_trans_lv                               #Base voltage on L.V side(kV)
kV_base_hv = kV_trans_hv                               #Base voltage on H.V side(kV)
Z_gen_pu = 1j*X_tr_gen/100                             #Impedance of generator(p.u)
Z_trans_pu = 1j*X_trans*3/100                          #Impedance of transformer(p.u)
Z_F_left = 1j*x*l_fault*kVA_base/(kV_base_hv**2*1000)  #Impedance of line to left of fault F(p.u)
Z_F_right = Z_F_left*(l-l_fault)/l_fault               #Impedance of line to right of fault(p.u)
Z_AF = Z_gen_pu+Z_trans_pu+Z_F_left                    #Impedance(p.u)
Z_BF = Z_gen_pu+Z_trans_pu+Z_F_right                   #Impedance(p.u)
Z_eq = Z_AF*Z_BF/(Z_AF+Z_BF)                           #Equivalent impedance(p.u)
I_F = 1.0/abs(Z_eq)                                    #Fault current(p.u)
I_base = kVA_base/(3**0.5*kV_base_hv)                  #Base current(A)
I_F_actual = I_F*I_base                                #Actual fault current(A)

#Result
print('Actual fault current = %.f A' %I_F_actual)
print('\nNOTE: Changes in the obtained answer from that of textbook is due to more precision here')

Actual fault current = 562 A

NOTE: Changes in the obtained answer from that of textbook is due to more precision here


## Example 3.1.7, Page number 471-472¶

In :
#Variable declaration
MVA_G1 = 50.0         #Generator rating(MVA)
kV_G1 = 15.0          #Voltage rating of generator(kV)
X_G1 = 0.2            #Reactance of generator(p.u)
MVA_G2 = 25.0         #Generator rating(MVA)
kV_G2 = 15.0          #Voltage rating of generator(kV)
X_G2 = 0.2            #Reactance of generator(p.u)
kV_T = 66.0           #Voltage rating of transformer(kV)
X_T = 0.1             #Reactance of transformer(p.u)
kV_fault = 66.0       #Voltage at fault occurence(kV)
kv_base = 69.0        #Base voltage(kV)
MVA_base = 100.0      #Base MVA

#Calculation
X_d_G1 = X_G1*MVA_base/MVA_G1             #Sub-transient reactance referred to 100 MVA(p.u)
E_G1 = kV_fault/kv_base                   #Voltage(p.u)
X_d_G2 = X_G2*MVA_base/MVA_G2             #Sub-transient reactance referred to 100 MVA(p.u)
E_G2 = kV_fault/kv_base                   #Voltage(p.u)
X_net = X_d_G1*X_d_G2/(X_d_G1+X_d_G2)     #Net sub-transient reactance(p.u)
E_g = (E_G1+E_G2)/2                       #Net voltage(p.u). NOTE: Not sure how this comes
I_fault = E_g/(1j*(X_net+X_T))            #Sub-transient fault current(p.u)

#Result
print('Sub-transient fault current = %.3fj p.u' %I_fault.imag)
print('\nNOTE: Changes in the obtained answer from that of textbook is due to more precision here')

Sub-transient fault current = -2.609j p.u

NOTE: Changes in the obtained answer from that of textbook is due to more precision here


## Example 3.1.8, Page number 472¶

In :
import math
import cmath

#Variable declaration
X_d_st = 0.2       #Sub-transient reactance(p.u)
X_d_t = 0.4        #Transient reactance(p.u)
X_d = 1.0          #Direct axis reactance(p.u)
I_pu = 1.0         #Load current(p.u)
PF = 0.80          #Lagging power factor

#Calculation
V = 1.0                     #Terminal voltage(p.u)
sin_phi = (1-PF**2)**0.5
I = I_pu*(PF-1j*sin_phi)    #Load current(p.u)
E_st = V+1j*I*X_d_st        #Voltage behind sub-transient reactance(p.u)
E_t = V+1j*I*X_d_t          #Voltage behind transient reactance(p.u)
E = V+1j*I*X_d              #Voltage behind direct axis reactance(p.u)

#Result
print('Voltage behind sub-transient reactance = %.2f∠%.2f° p.u' %(abs(E_st),cmath.phase(E_st)*180/math.pi))
print('Voltage behind transient reactance = %.2f∠%.2f° p.u' %(abs(E_t),cmath.phase(E_t)*180/math.pi))
print('Voltage behind direct axis reactance, E = %.2f∠%.2f° p.u' %(abs(E),cmath.phase(E)*180/math.pi))

Voltage behind sub-transient reactance = 1.13∠8.13° p.u
Voltage behind transient reactance = 1.28∠14.47° p.u
Voltage behind direct axis reactance, E = 1.79∠26.57° p.u


## Example 3.1.9, Page number 472¶

In :
#Variable declaration
kVA_G = 7500.0         #Generator rating(kVA)
kV_G = 6.9             #Voltage rating of generator(kV)
X_d_st = 9.0/100       #Sub-transient reactance of generator
X_d_t = 15.0/100       #Transient reactance of generator
X_d = 100.0            #Synchronous reactance of generator
kVA_T = 7500.0         #Transformer rating(kVA)
kV_T_delta = 6.9       #Voltage rating of transformer delta side(kV)
kV_T_wye = 115.0       #Voltage rating of transformer wye side(kV)
X = 10.0/100           #Transformer reactance

#Calculation
I_base_ht = kVA_T/(3**0.5*kV_T_wye)     #Base current at ht side(A)
I_base_lt = kVA_T/(3**0.5*kV_T_delta)   #Base current at lt side(A)
I_f_st = 1.0/(1j*(X_d_st+X))            #Sub-transient current after fault(p.u)
I_f_ht = abs(I_f_st)*I_base_ht          #Initial fault current in h.t side(A)
I_f_lt = abs(I_f_st)*I_base_lt          #Initial fault current in l.t side(A)

#Result
print('Initial symmetrical rms current in the h.v side = %.f A' %I_f_ht)
print('Initial symmetrical rms current in the l.v side = %.f A' %I_f_lt)
print('\nNOTE: Changes in the obtained answer from that of textbook is due to more precision here')

Initial symmetrical rms current in the h.v side = 198 A
Initial symmetrical rms current in the l.v side = 3303 A

NOTE: Changes in the obtained answer from that of textbook is due to more precision here


## Example 3.1.10, Page number 472¶

In :
#Variable declaration
kVA_alt = 625.0       #Alternator rating(kVA)
V_alt = 480.0         #Voltage rating of alternator(V)
X_st = 8.0/100        #Sub-transient reactance

#Calculation
kVA_base = 625.0            #Base kVA
V_base = 480.0              #Base voltage(V)
V = 1.0                     #Terminal voltage(p.u)
E_st = V+1j*I_load*X_st     #Sub-transient voltage(p.u)
I_st = E_st/(1j*X_st)       #Sub-transient current(p.u)

#Result
print('Initial symmetrical rms current at the generator terminal = (%.1f%.1fj) p.u' %(I_st.real,I_st.imag))

Initial symmetrical rms current at the generator terminal = (0.8-12.5j) p.u


## Example 3.1.11, Page number 472-473¶

In :
import math
import cmath

#Variable declaration
X_d_st_G = 0.15      #Sub-transient reactance of generator(p.u)
X_d_st_M = 0.45      #Sub-transient reactance of motor(p.u)
X = 0.10             #Leakage reactance of transformer(p.u)
V = 0.9              #Terminal voltage of the generator(p.u)
I_G = 1.0            #Output current of the generator(p.u)
PF = 0.8             #Power factor of the load

#Calculation
sin_phi = (1-PF**2)**0.5
I = I_G*(PF+1j*sin_phi)            #Load current(p.u)
E_st_G = V+1j*I*X_d_st_G           #Sub-transient voltage of the generator(p.u)
E_st_M = V-1j*I*X_d_st_M           #Sub-transient voltage of the motor(p.u)
I_st_g = E_st_G/(1j*(X_d_st_G+X))  #Sub-transient current in the generator at fault(p.u)
I_st_m = E_st_M/(1j*(X_d_st_M-X))  #Sub-transient current in the motor at fault(p.u)

#Result
print('Case(a): Sub-transient current in the fault in generator = %.3f∠%.3f° p.u' %(abs(I_st_g),cmath.phase(I_st_g)*180/math.pi))
print('Case(b): Sub-transient current in the fault in motor = %.3f∠%.2f° p.u' %(abs(I_st_m),(180+cmath.phase(I_st_m)*180/math.pi)))
print('\nNOTE: ERROR: Sub-transient reactance of motor is 0.45 p.u & not 0.35 p.u as mentioned in textbook statement')

Case(a): Sub-transient current in the fault in generator = 3.275∠-81.573° p.u
Case(b): Sub-transient current in the fault in motor = 3.498∠72.90° p.u

NOTE: ERROR: Sub-transient reactance of motor is 0.45 p.u & not 0.35 p.u as mentioned in textbook statement


## Example 3.1.12, Page number 473-474¶

In :
#Variable declaration
kVA_G = 625.0            #Generator rating(kVA)
V_G = 2.4                #Voltage rating of generator(kV)
X_st_G = 8.0/100         #Sub-transient reactance of generator
rating_M = 250.0         #Motor rating(HP)
V_M = 2.4                #Voltage rating of motor(kV)
n = 90.0/100             #Efficiency of motor
X_st_M = 20.0/100        #Sub-transient reactance of motor

#Calculation
kVA_base = 625.0                                      #Base kVA
input_M = rating_M*0.746/n                            #Each motor input(kVA)
X_st_m_pu = X_st_M*kVA_base/input_M                   #Sub-transient reactance of motor(p.u)
I_base = kVA_base/(3**0.5*V_M)                        #Base current(A)
Z_th = 1j*X_st_m_pu/3*X_st_G/(X_st_m_pu/3+X_st_G)     #Thevenin impedance(p.u)
I_st = 1.0/Z_th                                       #Initial symmetrical current at F(p.u)
I_st_g = I_st*(X_st_m_pu/3/(X_st_m_pu/3+X_st_G))      #Fault current rating of generator breaker(p.u)
I_st_m = (I_st-I_st_g)/3                              #Fault current rating of each motor breaker(p.u)

#Result
print('Sub-transient fault current at F = %.2fj p.u' %I_st.imag)
print('Fault current rating of generator breaker = %.1fj p.u' %I_st_g.imag)
print('Fault current rating of each motor breaker = %.2fj p.u' %I_st_m.imag)

Sub-transient fault current at F = -17.47j p.u
Fault current rating of generator breaker = -12.5j p.u
Fault current rating of each motor breaker = -1.66j p.u