diff --git a/+SimplusGT/+Class/SynchronousMachineFullOrder.m b/+SimplusGT/+Class/SynchronousMachineFullOrder.m new file mode 100644 index 00000000..234b8244 --- /dev/null +++ b/+SimplusGT/+Class/SynchronousMachineFullOrder.m @@ -0,0 +1,425 @@ +% This class defines the model of synchronous machine with full order. + +% Author(s): Duange Guo + +%% Notes +% +% The model is in admittance form. +% +% dw means the derivative of w +% +% This model contains 6 windings equations: +% stator: d and q axis +% rotor: d-axis field winding (fd), d-axis damper (1d), 2 q-axis dampers (gq, kq), +% +% 1. q-axis leads the d-axis (IEEE standard) +% 2. rotor angle with regard to q-axis +% 3. the whole model is in load convention, +% but the equations below are in generator convention +% 4. 0-axis is omitted +% 5. w is not in p.u. +% + +%% Class + +classdef SynchronousMachineFullOrder < SimplusGT.Class.ModelAdvance + + methods + % Constructor + function obj = SynchronousMachineFullOrder(varargin) + setProperties(obj,nargin,varargin{:}); + end + end + + methods(Static) + + function [State,Input,Output] = SignalList(obj) + State = {'psi_d','psi_q',... % d-q axis of stator windings + 'psi_fd','psi_1d',... % d-axis of rotor windings + 'psi_gq','psi_kq',... % q-axis of rotor windings + 'w','theta',... % rotation states + 'T_m',... + 'V_f','R_f','E_fd',... % exciter related + 'Px_1','Px_2','Px_3'}; % PSS related + Input = {'v_d','v_q',... % input voltage + 'T_0',... % input torque + 'w_ref',... % governor speed ref + 'U_ref'}; % exciter voltage ref + Output = {'i_d','i_q',... % output current + 'w',... % angular rotation speed (rad/s) + 'theta',... % rotor angle + 'T_e',... % EM torque + 'U_mag'}; % voltage magnitude + end + + + % Calculate the equilibrium + % The equilibrium is determined by the power flow data and apparatus's + % own paramters.This function will be called once, at the + % beginneing of simulation. + function [x_e,u_e,xi] = Equilibrium(obj) + % Get the power PowerFlow values + P = obj.PowerFlow(1); + Q = obj.PowerFlow(2); + V = obj.PowerFlow(3); + xi = obj.PowerFlow(4); + w = obj.PowerFlow(5); + + % Get parameters in pu + x_d = obj.Para(1); % + x_dd = obj.Para(2); % X_dd represents Xd' + x_ddd = obj.Para(3); % + x_q = obj.Para(4); % + x_qd = obj.Para(5); % X_qd represents Xq' + x_qdd = obj.Para(6); % + x_l = obj.Para(7); % or x_2, x_ls in some practical cases + R_a = obj.Para(8); % + T_dd = obj.Para(9); % T_dd represents Td' + T_ddd = obj.Para(10); % + T_qd = obj.Para(11); % T_qd represents Tq' + T_qdd = obj.Para(12); % + H = obj.Para(13); % Inertial constant + S_A = obj.Para(14); % Saturation parameters + S_B = obj.Para(15); + S_N = obj.Para(16); + D = obj.Para(17); % Damp constant + SpeedPara = obj.Para(18); % simplified governor parameters + K_A = obj.Para(19); % simplified exciter parameters + EnableSaturation = obj.Para(20); % Saturation setting + wb = obj.Para(21); + + T_E = 0.314; % Time constant of exciter + T_A = 0.02; % Time constant of AV + T_F = 0.35; % Time constant of Feedback + K_E = 1.0; % Exciter Gain + K_F = 0.063; % Feedback Gain + % K_A = 20; % K_A can be adjusted + + % Calculated parameters + xd_diff = x_d - x_dd; + xdd_diff = x_dd - x_ddd; + xdl_diff = x_dd-x_l; + xddl_diff = x_ddd-x_l; + + xq_diff = x_q-x_qd; + xqd_diff = x_qd-x_qdd; + xql_diff = x_qd-x_l; + xqql_diff = x_qdd-x_l; + + xd_frac = xdd_diff/xdl_diff^2; + xq_frac = xqd_diff/xql_diff^2; + + % Calculate equilibrium + % We calculate the equilibrium by solving the algebra equations + % directly. By doing so, we need to import symbol variable, which + % can only be applied in the simulink when the interpretable + % execution is used! (setting in the MATLAB system) + + S_D0 = -P/V; % The equations below are in generator convention + S_Q0 = -Q/V; + S_DQ0 = S_D0 + 1j*S_Q0; + i_abs = abs(S_DQ0); + ui_argdiff = angle(S_DQ0); + i_arg = xi - ui_argdiff; + + i_DQ = i_abs * exp(1i * i_arg); + i_Q = imag(i_DQ); + i_D = real(i_DQ); + + v_DQ = V * exp(1i * xi); + v_D = real(v_DQ); + v_Q = imag(v_DQ); + + syms theta + T_rotate = [cos(pi/2-theta) -sin(pi/2-theta); sin(pi/2-theta) cos(pi/2-theta)]; + v_dq = T_rotate*[v_D; v_Q]; + i_dq = T_rotate*[i_D; i_Q]; + + v_d = v_dq(1); + v_q = v_dq(2); + i_d = i_dq(1); + i_q = i_dq(2); + + syms T_0 V_ref E_0 + syms psi_d psi_q psi_fd psi_1d psi_gq psi_kq w theta T_m V_f T_dd T_qd E_fd R_f + + T_e = psi_d*i_q - psi_q*i_d; + U_mag = sqrt((R_a*i_d+(w/wb)*psi_q)^2+(-R_a*i_q+(w/wb)*psi_d)^2); + + % The equations below come from the differential equations. + % The theta will be governed by current constraints: eqn12 and eqn13, + % bringing two solutions for us. But only one is small-signal stable. + + eqn1 = -wb*(-v_d - (w/wb)*psi_q - R_a*i_d) == 0; % state1 + eqn2 = -wb*(-v_q + (w/wb)*psi_d - R_a*i_q) == 0; % state2 + eqn3 = (1/T_dd)*(E_fd - psi_fd... + -xd_diff*(i_d-... + xd_frac*... + (psi_1d + xdl_diff*i_d - psi_fd))) == 0; % state3 + eqn4 = (1/T_ddd)*(psi_fd - psi_1d - xdl_diff*i_d); % state4 + eqn5 = (1/T_qd)*(-psi_gq +... + xq_diff*(i_q-... + xq_frac*... + (psi_kq + xql_diff*i_q+psi_gq))) == 0; % state5 + eqn6 = (1/T_qdd)*(-psi_gq - psi_kq - xql_diff*i_q) == 0; % state6 + eqn7 = (wb/(2*H))*(T_m - T_e - D*w) == 0; % state7 + eqn9 = (1/T_A)*(K_A*(V_ref - U_mag) - V_f + K_A*R_f - E_fd*(K_A*K_F/T_F)) == 0; + eqn10 = (1/T_F)*(-R_f + E_fd*(K_F/T_F)) == 0; + eqn11 = (1/T_E)*(V_f - E_fd*K_E) == 0; + eqn12 = i_d + (1/x_ddd)*(psi_d +... + -psi_1d*(xdd_diff/xdl_diff) +... + -psi_fd*(xddl_diff/xdl_diff)) == 0; + eqn13 = i_q + (1/x_qdd)*(psi_q -... + -psi_kq*(xqd_diff/xql_diff) +... + psi_gq*(xqql_diff/xql_diff)) == 0; + % The theta will be governed by current constraints: eqn12 and eqn13. + w = wb; + [psi_d psi_q psi_fd psi_1d psi_gq psi_kq T_m R_f V_f E_fd V_ref theta]... + = solve(eval([eqn1, eqn2, eqn3, eqn4, eqn5, eqn6, eqn7,... + eqn9, eqn10, eqn11, eqn12, eqn13]),... + [psi_d psi_q psi_fd psi_1d psi_gq psi_kq T_m R_f V_f E_fd V_ref theta]); + sol = 2; + % We have two solutions here, sol = 1 is unstable. + psi_d = vpa(psi_d(sol), 16); % 16 digits remain here + psi_q = vpa(psi_q(sol), 16); + psi_fd = vpa(psi_fd(sol), 16); + psi_1d = vpa(psi_1d(sol), 16); + psi_gq = vpa(psi_gq(sol), 16); + psi_kq = vpa(psi_kq(sol), 16); + theta = vpa(theta(sol), 16); + T_m = vpa(T_m(sol), 16); + V_f = vpa(V_f(sol), 16); + R_f = vpa(R_f(sol), 16); + E_fd = vpa(E_fd(sol), 16); + V_ref = vpa(V_ref(sol), 16); + Px_1 = 0; + Px_2 = 0; + Px_3 = 0; + T_0 = T_m; + w_ref = wb; + + v_d = eval(v_d); + v_q = eval(v_q); + + % Set equilibrium + x_e = eval([psi_d; psi_q; psi_fd; psi_1d; psi_gq; psi_kq; w; theta; T_m; V_f; R_f; E_fd; Px_1; Px_2; Px_3]); + u_e = eval([v_d; v_q; T_0; w_ref; V_ref]); + xi = xi; + end + + % State space model + function [Output] = StateSpaceEqu(obj,x,u,CallFlag) + + % Get parameters in pu + x_d = obj.Para(1); % + x_dd = obj.Para(2); % X_dd represents Xd' + x_ddd = obj.Para(3); % + x_q = obj.Para(4); % + x_qd = obj.Para(5); % X_qd represents Xq' + x_qdd = obj.Para(6); % + x_l = obj.Para(7); % or x_2, x_ls in some practical cases + R_a = obj.Para(8); % + T_dd = obj.Para(9); % T_dd represents Td' + T_ddd = obj.Para(10); % + T_qd = obj.Para(11); % T_qd represents Tq' + T_qdd = obj.Para(12); % + H = obj.Para(13); % Inertial constant + S_A = obj.Para(14); % Saturation parameters + S_B = obj.Para(15); + S_N = obj.Para(16); + D = obj.Para(17); % Damp constant + SpeedPara = obj.Para(18); % simplified governor parameters + K_A = obj.Para(19); % simplified exciter parameters + EnableSaturation = obj.Para(20); % Saturation setting + wb = obj.Para(21); + + T_speed = 0.01; % Time constant of governer + + T_E = 0.314; % Time constant of exciter + T_A = 0.02; % Time constant of AV + T_F = 0.35; % Time constant of Feedback + K_E = 1.0; % Exciter Gain + K_F = 0.063; % Feedback Gain + + T_1 = 0.5; % Phase 1 + T_2 = 0.05; % Phase Compensator 1 + T_3 = 0.5; % Phase 2 + T_4 = 0.05; % Phase Compensator 2 + T_w = 10; % Washout + K_s = 2; % PSS Gain + +% you can change the paramters in the simulation, to observe some +% influences from the parameters. +% +% if obj.Timer>5 +% % Get parameters in pu +% x_d = 0.2; % +% x_dd = 0.033; % X_dd represents Xd' +% x_ddd = 0.023; % +% x_q = 0.19; % +% x_qd = 0.061; % X_qd represents Xq' +% x_qdd = 0.051; % +% x_l = 0.022; % or x_2, x_ls in some practical cases +% H=0.5; +% end + + % Calculated parameters + xd_diff = x_d - x_dd; + xdd_diff = x_dd - x_ddd; + xdl_diff = x_dd-x_l; + xddl_diff = x_ddd-x_l; + + xq_diff = x_q - x_qd; + xqd_diff = x_qd - x_qdd; + xql_diff = x_qd - x_l; + xqql_diff = x_qdd - x_l; + + xd_frac = xdd_diff/xdl_diff^2; + xq_frac = xqd_diff/xql_diff^2; + + % Get state + psi_d = x(1); + psi_q = x(2); + psi_fd = x(3); + psi_1d = x(4); + psi_gq = x(5); + psi_kq = x(6); + w = x(7); + theta = x(8); + T_m = x(9); + V_f = x(10); + R_f = x(11); + E_fd = x(12); + Px_1 = x(13); + Px_2 = x(14); + Px_3 = x(15); + + % Get input + v_d = u(1); + v_q = u(2); + T_0 = u(3); + w_ref = u(4); + V_ref = u(5); + + % saturation setting + V_f_limit_H = 6; + V_f_limit_L = -6; + +% if obj.Timer>10 +% V_ref =V_ref+0.05; +% T_0 = T_0+0.05; +% w_ref = w_ref+10; +% end +% + % Dynamic equations + % dx/dt = f(x,u) + % y = g(x,u) + if CallFlag == 1 + % ### Call dynamic equation: dx/dt = f(x,u) + i_d = -(1/x_ddd)*(psi_d +... + -psi_1d*(xdd_diff/xdl_diff) +... + -psi_fd*(xddl_diff/xdl_diff)); + i_q = -(1/x_qdd)*(psi_q -... + -psi_kq*(xqd_diff/xql_diff) +... + psi_gq*(xqql_diff/xql_diff)); + + dpsi_d = -wb*(-v_d - (w/wb)*psi_q - R_a*i_d); % state1 + dpsi_q = -wb*(-v_q + (w/wb)*psi_d - R_a*i_q); % state2 + dpsi_fd = (1/T_dd)*(E_fd - psi_fd... + -xd_diff*(i_d-... + xd_frac*... + (psi_1d + xdl_diff*i_d - psi_fd))); % state3 + dpsi_1d = (1/T_ddd)*(psi_fd - psi_1d - xdl_diff*i_d); % state4 + dpsi_gq = (1/T_qd)*(-psi_gq +... + xq_diff*(i_q-... + xq_frac*... + (psi_kq + xql_diff*i_q+psi_gq))); % state5 + dpsi_kq = (1/T_qdd)*(-psi_gq - psi_kq - xql_diff*i_q); % state6 + + T_e = psi_d*i_q - psi_q*i_d; + dw = (wb/(2*H))*(T_m - T_e - D*w); % state7 + dtheta = w; % state8 + + U_mag = abs(-(R_a*i_d+(w/wb)*psi_q)+... + (-R_a*i_q+(w/wb)*psi_d)*1i); + + if 0 % simplifed governer and exciter with 1 order + % T_0 comes from the prime motor + dT_m = (1/T_speed)*(T_0 + (SpeedPara*(w_ref - w)/wb) - T_m); % state9 + dV_f = (1/T_A)*(K_A*(V_ref - U_mag + K_s*Px_3) - V_f); % state10 + dR_f = 0; + dE_fd = 0; + dPx_1 = 0; + dPx_2 = 0; + dPx_3 = 0; + + if 1 % exciter saturation can be considered + V_f = min(V_f,V_f_limit_H); + V_f = max(V_f,V_f_limit_L); + end + end + + if 0 % other possible governer and exciter + dT_m = (1/T_speed)*(T_0 + (SpeedPara*(w_ref - w)/wb) - T_m); + dV_f = (1/T_A)*(K_A*(V_ref - U_mag + K_s*Px_3) - V_f + K_A*R_f - E_fd*(K_A*K_F/T_F)); + dR_f = (1/T_F)*(-R_f + E_fd*(K_F/T_F)); + dE_fd = (1/T_E)*(V_f - E_fd*K_E); + dPx_1 = 0; + dPx_2 = 0; + dPx_3 = 0; + + if 1 % exciter saturation can be considered + V_f = min(V_f,V_f_limit_H); + V_f = max(V_f,V_f_limit_L); + end + end + + if 1 % governer, and IEEE DC Type1 exciter with \Delta w PSS + dT_m = (1/T_speed)*(T_0 + (SpeedPara*(w_ref - w)/wb) - T_m); + dV_f = (1/T_A)*(K_A*(V_ref - U_mag + K_s*Px_3) - V_f + K_A*R_f - E_fd*(K_A*K_F/T_F)); + dR_f = (1/T_F)*(-R_f + E_fd*(K_F/T_F)); + dE_fd = (1/T_E)*(V_f - E_fd*K_E); + dPx_1 = (-1/T_w)*Px_1 + (1/T_w)*(w - wb); + dPx_2 = (-1/T_1)*Px_2 + (1/T_1)*(Px_1 + T_2*dPx_1); + dPx_3 = (-1/T_3)*Px_3 + (1/T_3)*(Px_2 + T_4*dPx_2); + + if 1 % exciter saturation can be considered + V_f = min(V_f,V_f_limit_H); + V_f = max(V_f,V_f_limit_L); + end + + end + + % Flux saturation considered in the future + if EnableSaturation + % pass + end + + f_xu = [dpsi_d; dpsi_q; dpsi_fd; dpsi_1d; dpsi_gq; dpsi_kq;... + dw; dtheta; dT_m; dV_f; dR_f; dE_fd; dPx_1; dPx_2; dPx_3]; + Output = f_xu; + + elseif CallFlag == 2 + % ### Call output equation: y = g(x,u) + % Just be careful that the input and output must coincide + % with the signal sequence as well as the ports in simulink model. + + i_d = -(1/x_ddd)*(psi_d +... + -psi_1d*(xdd_diff/xdl_diff) +... + -psi_fd*(xddl_diff/xdl_diff)); + i_q = -(1/x_qdd)*(psi_q -... + -psi_kq*(xqd_diff/xql_diff) +... + psi_gq*(xqql_diff/xql_diff)); + T_e = psi_d*i_q - psi_q*i_d; + U_mag = abs(-(R_a*i_d+(w/wb)*psi_q)+... + (-R_a*i_q+(w/wb)*psi_d)*1i); + % We need to change the direction of the current to make it a + % load convention. + g_xu = [-i_d; -i_q; w; theta-pi/2; T_e; U_mag]; + Output = g_xu; + + end + end + + end +end diff --git a/+SimplusGT/+Simulink/SimAddApparatus.m b/+SimplusGT/+Simulink/SimAddApparatus.m index 674cde79..62d36e93 100644 --- a/+SimplusGT/+Simulink/SimAddApparatus.m +++ b/+SimplusGT/+Simulink/SimAddApparatus.m @@ -37,6 +37,10 @@ Name_Apparatus{i} = ['VSI-Droop' num2str(Bus)]; FullName_Apparatus{i} = [Name_Model '/' Name_Apparatus{i}]; add_block([Name_LibFile '/Grid-Forming Voltage-Source Inverter (dq-Frame System Object)'],FullName_Apparatus{i}); + case 003 + Name_Apparatus{i} = ['SM-Detailed' num2str(Bus)]; + FullName_Apparatus{i} = [Name_Model '/' Name_Apparatus{i}]; + add_block([Name_LibFile '/Synchronous Machine Full Order (dq-Frame System Object)'],FullName_Apparatus{i}); case 009 Name_Apparatus{i} = ['Inf-Bus' num2str(Bus)]; FullName_Apparatus{i} = [Name_Model '/' Name_Apparatus{i}]; diff --git a/+SimplusGT/+Toolbox/ApparatusModelCreate.m b/+SimplusGT/+Toolbox/ApparatusModelCreate.m index 88920b36..b98cae81 100644 --- a/+SimplusGT/+Toolbox/ApparatusModelCreate.m +++ b/+SimplusGT/+Toolbox/ApparatusModelCreate.m @@ -48,7 +48,7 @@ Para.wL; Para.R; Para.w0]; % (5) - + % ### Grid-following inverter case 1 % Type 10-19 if Type~=19 @@ -80,7 +80,38 @@ Para.fvdq; Para.fidq; Para.w0]; - + + % ### Detailed synchronous generator + case 3 % Type 30-39 + Apparatus = SimplusGT.Class.SynchronousMachineFullOrder('ApparatusType',Type); + Apparatus.Para = [Para.x_d; + Para.x_dd; % X_dd represents Xd' + Para.x_ddd; + Para.x_q; + Para.x_qd; % X_qd represents Xq' + Para.x_qdd; + Para.x_l; % or x_2, x_ls in some practical cases + Para.R_a; + + Para.T_dd; % T_dd represents Td' + Para.T_ddd; + Para.T_qd; + Para.T_qdd; + + Para.H; % Inertial constant + + Para.SaturationA; + Para.SaturationB; + Para.SaturationN; + + Para.D; % Damp constant + Para.SpeedPara; % simplified governor parameters + Para.K_A; % exciter parameters + + Para.EnableSaturation; % Saturation setting + Para.wb; + ]; % (21 parameters) + % ### Ac infinite bus case 9 Apparatus = SimplusGT.Class.InfiniteBusAc; @@ -142,8 +173,8 @@ %% Calculate the linearized state space model Apparatus.ApparatusType = Type; % Apparatus type -Apparatus.Ts = Ts; % Samping period -Apparatus.PowerFlow = PowerFlow; % Power flow data +Apparatus.Ts = Ts; % Samping period +Apparatus.PowerFlow = PowerFlow; % Power flow data Apparatus.SetString(Apparatus); % Set strings automatically Apparatus.SetEquilibrium(Apparatus); % Calculate the equilibrium [x_e,u_e,y_e,xi] = Apparatus.GetEquilibrium(Apparatus); % Get the equilibrium diff --git a/+SimplusGT/+Toolbox/BusTypeVIF.m b/+SimplusGT/+Toolbox/BusTypeVIF.m index 381c2301..2817cc79 100644 --- a/+SimplusGT/+Toolbox/BusTypeVIF.m +++ b/+SimplusGT/+Toolbox/BusTypeVIF.m @@ -19,7 +19,7 @@ ibus = []; fbus = []; for i = 1:length(ApparatusType) - if ((ApparatusType{i} >= 0) && (ApparatusType{i} <= 9)) || (ApparatusType{i} == 90) || ((ApparatusType{i} >= 20) && (ApparatusType{i} <= 29)) + if ((ApparatusType{i} >= 0) && (ApparatusType{i} <= 9)) || (ApparatusType{i} == 30) || (ApparatusType{i} == 90) || ((ApparatusType{i} >= 20) && (ApparatusType{i} <= 29)) vbus(l) = i; l = l+1; elseif ((ApparatusType{i} >= 10) && (ApparatusType{i} <= 19)) diff --git a/+SimplusGT/+Toolbox/RearrangeListApparatus.m b/+SimplusGT/+Toolbox/RearrangeListApparatus.m index 2c38e788..e8f2d2b8 100644 --- a/+SimplusGT/+Toolbox/RearrangeListApparatus.m +++ b/+SimplusGT/+Toolbox/RearrangeListApparatus.m @@ -104,7 +104,7 @@ end % Error check -if (ColumnMax_Apparatus>12) +if (ColumnMax_Apparatus>25) error(['Error: Apparatus data overflow.']); end @@ -158,6 +158,36 @@ Para0020.fidq =600; % current control bandwidth Para0020.w0 = W0; +% ====================================== +% Detailed Synchronous generator +% ====================================== +Para0030.x_d = 1.50; +Para0030.x_dd = 0.50; % X_dd represents Xd' +Para0030.x_ddd = 0.32; +Para0030.x_q = 1.00; +Para0030.x_qd = 1.00; % X_qd represents Xq' +Para0030.x_qdd = 0.45; +Para0030.x_l = 0.20; % or x_2, x_ls in some practical cases +Para0030.R_a = 0.02; + +Para0030.T_dd = 9.00; % T_dd represents Td' +Para0030.T_ddd = 0.05; +Para0030.T_qd = 2.00; +Para0030.T_qdd = 0.09; + +Para0030.H = 2.1028; % Inertial constant + +Para0030.SaturationA = 1; +Para0030.SaturationB = 0.1030; +Para0030.SaturationN = 10.6599; + +Para0030.D = 0.02056; % Damp constant +Para0030.SpeedPara = 200; % simplified governor parameters +Para0030.K_A = 20; % exciter parameters + +Para0030.EnableSaturation = 0; % Saturation setting +Para0030.wb = W0; + % ====================================== % Ac infinite bus (short-circuit in small-signal) % ====================================== @@ -224,7 +254,7 @@ case 2 ParaCell{i} = Para0020; % Grid-forming inverter case 3 - % Yue's Full-Order Machine + ParaCell{i} = Para0030; % Detailed synchronous machine case 9 ParaCell{i} = Para0090; % Ac inifnite bus case 10 @@ -297,6 +327,31 @@ otherwise error(['Error: parameter overflow, bus ' num2str(AppBus) 'type ' num2str(AppType) '.']); end + elseif floor(AppType/10) == 3 % Detailed Synchronous machine + switch SwitchFlag + case 1; ParaCell{row(i)}.x_d = UserValue; + case 2; ParaCell{row(i)}.x_dd = UserValue; + case 3; ParaCell{row(i)}.x_ddd = UserValue; + case 4; ParaCell{row(i)}.x_q = UserValue; + case 5; ParaCell{row(i)}.x_qd = UserValue; + case 6; ParaCell{row(i)}.x_qdd = UserValue; + case 7; ParaCell{row(i)}.x_l = UserValue; + case 8; ParaCell{row(i)}.R_a = UserValue; + case 9; ParaCell{row(i)}.T_dd = UserValue; + case 10; ParaCell{row(i)}.T_ddd = UserValue; + case 11; ParaCell{row(i)}.T_qd = UserValue; + case 12; ParaCell{row(i)}.T_qdd = UserValue; + case 13; ParaCell{row(i)}.H = UserValue; + case 14; ParaCell{row(i)}.SaturationA = UserValue; + case 15; ParaCell{row(i)}.SaturationB = UserValue; + case 16; ParaCell{row(i)}.SaturationN = UserValue; + case 17; ParaCell{row(i)}.D = UserValue; + case 18; ParaCell{row(i)}.SpeedPara = UserValue; + case 19; ParaCell{row(i)}.K_A = UserValue; + case 20; ParaCell{row(i)}.EnableSaturation = UserValue; + otherwise + error(['Error: parameter overflow, bus ' num2str(AppBus) 'type ' num2str(AppType) '.']); + end elseif floor(AppType/10) == 101 % Grid-feeding buck switch SwitchFlag case 1; ParaCell{row(i)}.Vdc = UserValue; diff --git a/.gitignore b/.gitignore index 08635c64..1b6f0370 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,6 @@ /Library/SimplexPS.slx /Library/SimplusPS.slx -/Library/SimplusGT.slx \ No newline at end of file +/Library/SimplusGT.slx +/slprj +*.autosave +*.asv diff --git a/Examples/AcPowerSystem/IEEE_14Bus/IEEE_14Bus.json b/Examples/AcPowerSystem/IEEE_14Bus/IEEE_14Bus.json index 3d9246c7..21b130d8 100644 --- a/Examples/AcPowerSystem/IEEE_14Bus/IEEE_14Bus.json +++ b/Examples/AcPowerSystem/IEEE_14Bus/IEEE_14Bus.json @@ -1,280 +1,790 @@ { -"Basic": -{ -"Fs":30000,"Fbase":60,"Sbase":1,"Vbase":1 -} -,"Advance": -{ -"DiscretizationMethod":2,"LinearizationTimes":1,"DiscretizationDampingFlag":1,"DirectFeedthrough":0,"PowerFlowAlgorithm":2,"EnableCreateSimulinkModel":1,"EnablePlotPole":1,"EnablePlotAdmittance":1,"EnablePrintOutput":1 -} -,"Bus": -[ + "Basic": { -"BusNo":1,"BusType":1,"Voltage":1.06,"Theta":0,"PGi":0,"QGi":0,"PLi":0,"QLi":0,"Qmin":0,"Qmax":0,"AreaNo":1,"AcDc":1 -} -, -{ -"BusNo":2,"BusType":2,"Voltage":1.045,"Theta":0,"PGi":0.4,"QGi":0.424,"PLi":0.217,"QLi":0.127,"Qmin":-0.4,"Qmax":0.5,"AreaNo":1,"AcDc":1 -} -, -{ -"BusNo":3,"BusType":2,"Voltage":1.01,"Theta":0,"PGi":0,"QGi":0.23399999999999999,"PLi":0.94200000000000006,"QLi":0.19,"Qmin":0,"Qmax":0.4,"AreaNo":1,"AcDc":1 -} -, -{ -"BusNo":4,"BusType":3,"Voltage":1,"Theta":0,"PGi":0,"QGi":0,"PLi":0.478,"QLi":-0.039,"Qmin":0,"Qmax":0,"AreaNo":1,"AcDc":1 -} -, -{ -"BusNo":5,"BusType":3,"Voltage":1,"Theta":0,"PGi":0,"QGi":0,"PLi":0.076,"QLi":0.016,"Qmin":0,"Qmax":0,"AreaNo":1,"AcDc":1 -} -, -{ -"BusNo":6,"BusType":2,"Voltage":1.07,"Theta":0,"PGi":0,"QGi":0.122,"PLi":0.11199999999999999,"QLi":0.075,"Qmin":-0.06,"Qmax":0.24,"AreaNo":1,"AcDc":1 -} -, -{ -"BusNo":7,"BusType":3,"Voltage":1,"Theta":0,"PGi":0,"QGi":0,"PLi":0,"QLi":0,"Qmin":0,"Qmax":0,"AreaNo":1,"AcDc":1 -} -, -{ -"BusNo":8,"BusType":2,"Voltage":1.09,"Theta":0,"PGi":0,"QGi":0.174,"PLi":0,"QLi":0,"Qmin":-0.06,"Qmax":0.24,"AreaNo":1,"AcDc":1 -} -, -{ -"BusNo":9,"BusType":3,"Voltage":1,"Theta":0,"PGi":0,"QGi":0,"PLi":0.295,"QLi":0.166,"Qmin":0,"Qmax":0,"AreaNo":1,"AcDc":1 -} -, -{ -"BusNo":10,"BusType":3,"Voltage":1,"Theta":0,"PGi":0,"QGi":0,"PLi":0.09,"QLi":0.057999999999999996,"Qmin":0,"Qmax":0,"AreaNo":1,"AcDc":1 -} -, -{ -"BusNo":11,"BusType":3,"Voltage":1,"Theta":0,"PGi":0,"QGi":0,"PLi":0.035,"QLi":0.018000000000000002,"Qmin":0,"Qmax":0,"AreaNo":1,"AcDc":1 -} -, -{ -"BusNo":12,"BusType":3,"Voltage":1,"Theta":0,"PGi":0,"QGi":0,"PLi":0.061,"QLi":0.016,"Qmin":0,"Qmax":0,"AreaNo":1,"AcDc":1 + + "Fs": 30000, + "Fbase": 60, + "Sbase": 1, + "Vbase": 1 + } , + "Advance": { -"BusNo":13,"BusType":3,"Voltage":1,"Theta":0,"PGi":0,"QGi":0,"PLi":0.135,"QLi":0.057999999999999996,"Qmin":0,"Qmax":0,"AreaNo":1,"AcDc":1 + + "DiscretizationMethod": 2, + "LinearizationTimes": 1, + "DiscretizationDampingFlag": 1, + "DirectFeedthrough": 0, + "PowerFlowAlgorithm": 2, + "EnableCreateSimulinkModel": 1, + "EnablePlotPole": 1, + "EnablePlotAdmittance": 1, + "EnablePrintOutput": 1 + } , -{ -"BusNo":14,"BusType":3,"Voltage":1,"Theta":0,"PGi":0,"QGi":0,"PLi":0.149,"QLi":0.05,"Qmin":0,"Qmax":0,"AreaNo":1,"AcDc":1 -} + "Bus": +[ + +{ + + "BusNo": 1, + "BusType": 1, + "Voltage": 1.06, + "Theta": 0, + "PGi": 0, + "QGi": 0, + "PLi": 0, + "QLi": 0, + "Qmin": 0, + "Qmax": 0, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 2, + "BusType": 2, + "Voltage": 1.045, + "Theta": 0, + "PGi": 0.4, + "QGi": 0.424, + "PLi": 0.217, + "QLi": 0.127, + "Qmin": -0.4, + "Qmax": 0.5, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 3, + "BusType": 2, + "Voltage": 1.01, + "Theta": 0, + "PGi": 0, + "QGi": 0.23399999999999999, + "PLi": 0.94200000000000006, + "QLi": 0.19, + "Qmin": 0, + "Qmax": 0.4, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 4, + "BusType": 3, + "Voltage": 1, + "Theta": 0, + "PGi": 0, + "QGi": 0, + "PLi": 0.478, + "QLi": -0.039, + "Qmin": 0, + "Qmax": 0, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 5, + "BusType": 3, + "Voltage": 1, + "Theta": 0, + "PGi": 0, + "QGi": 0, + "PLi": 0.076, + "QLi": 0.016, + "Qmin": 0, + "Qmax": 0, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 6, + "BusType": 2, + "Voltage": 1.07, + "Theta": 0, + "PGi": 0, + "QGi": 0.122, + "PLi": 0.11199999999999999, + "QLi": 0.075, + "Qmin": -0.06, + "Qmax": 0.24, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 7, + "BusType": 3, + "Voltage": 1, + "Theta": 0, + "PGi": 0, + "QGi": 0, + "PLi": 0, + "QLi": 0, + "Qmin": 0, + "Qmax": 0, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 8, + "BusType": 2, + "Voltage": 1.09, + "Theta": 0, + "PGi": 0, + "QGi": 0.174, + "PLi": 0, + "QLi": 0, + "Qmin": -0.06, + "Qmax": 0.24, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 9, + "BusType": 3, + "Voltage": 1, + "Theta": 0, + "PGi": 0, + "QGi": 0, + "PLi": 0.295, + "QLi": 0.166, + "Qmin": 0, + "Qmax": 0, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 10, + "BusType": 3, + "Voltage": 1, + "Theta": 0, + "PGi": 0, + "QGi": 0, + "PLi": 0.09, + "QLi": 0.057999999999999996, + "Qmin": 0, + "Qmax": 0, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 11, + "BusType": 3, + "Voltage": 1, + "Theta": 0, + "PGi": 0, + "QGi": 0, + "PLi": 0.035, + "QLi": 0.018000000000000002, + "Qmin": 0, + "Qmax": 0, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 12, + "BusType": 3, + "Voltage": 1, + "Theta": 0, + "PGi": 0, + "QGi": 0, + "PLi": 0.061, + "QLi": 0.016, + "Qmin": 0, + "Qmax": 0, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 13, + "BusType": 3, + "Voltage": 1, + "Theta": 0, + "PGi": 0, + "QGi": 0, + "PLi": 0.135, + "QLi": 0.057999999999999996, + "Qmin": 0, + "Qmax": 0, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 14, + "BusType": 3, + "Voltage": 1, + "Theta": 0, + "PGi": 0, + "QGi": 0, + "PLi": 0.149, + "QLi": 0.05, + "Qmin": 0, + "Qmax": 0, + "AreaNo": 1, + "AcDc": 1 + +} + + ] -,"NetworkLine": +, + "NetworkLine": [ ] -,"NetworkLineIEEE": +, + "NetworkLineIEEE": [ + { -"FromBus":1,"ToBus":2,"R":0.01938,"X":0.05917,"B":0.0528,"G":0,"TurnsRatio":1 + + "FromBus": 1, + "ToBus": 2, + "R": 0.01938, + "X": 0.05917, + "B": 0.0528, + "G": 0, + "TurnsRatio": 1 + } , + { -"FromBus":1,"ToBus":5,"R":0.05403,"X":0.22304,"B":0.0492,"G":0,"TurnsRatio":1 + + "FromBus": 1, + "ToBus": 5, + "R": 0.05403, + "X": 0.22304, + "B": 0.0492, + "G": 0, + "TurnsRatio": 1 + } , + { -"FromBus":2,"ToBus":3,"R":0.04699,"X":0.19797,"B":0.0438,"G":0,"TurnsRatio":1 + + "FromBus": 2, + "ToBus": 3, + "R": 0.04699, + "X": 0.19797, + "B": 0.0438, + "G": 0, + "TurnsRatio": 1 + } , + { -"FromBus":2,"ToBus":4,"R":0.05811,"X":0.17632,"B":0.034,"G":0,"TurnsRatio":1 + + "FromBus": 2, + "ToBus": 4, + "R": 0.05811, + "X": 0.17632, + "B": 0.034, + "G": 0, + "TurnsRatio": 1 + } , + { -"FromBus":2,"ToBus":5,"R":0.05695,"X":0.17388,"B":0.0346,"G":0,"TurnsRatio":1 + + "FromBus": 2, + "ToBus": 5, + "R": 0.05695, + "X": 0.17388, + "B": 0.0346, + "G": 0, + "TurnsRatio": 1 + } , + { -"FromBus":3,"ToBus":4,"R":0.06701,"X":0.17103,"B":0.0128,"G":0,"TurnsRatio":1 + + "FromBus": 3, + "ToBus": 4, + "R": 0.06701, + "X": 0.17103, + "B": 0.0128, + "G": 0, + "TurnsRatio": 1 + } , + { -"FromBus":4,"ToBus":5,"R":0.01335,"X":0.04211,"B":0,"G":0,"TurnsRatio":1 + + "FromBus": 4, + "ToBus": 5, + "R": 0.01335, + "X": 0.04211, + "B": 0, + "G": 0, + "TurnsRatio": 1 + } , + { -"FromBus":4,"ToBus":7,"R":0,"X":0.20912,"B":0,"G":0,"TurnsRatio":0.978 + + "FromBus": 4, + "ToBus": 7, + "R": 0, + "X": 0.20912, + "B": 0, + "G": 0, + "TurnsRatio": 0.978 + } , + { -"FromBus":4,"ToBus":9,"R":0,"X":0.55618,"B":0,"G":0,"TurnsRatio":0.969 + + "FromBus": 4, + "ToBus": 9, + "R": 0, + "X": 0.55618, + "B": 0, + "G": 0, + "TurnsRatio": 0.969 + } , + { -"FromBus":5,"ToBus":6,"R":0,"X":0.25202,"B":0,"G":0,"TurnsRatio":0.932 + + "FromBus": 5, + "ToBus": 6, + "R": 0, + "X": 0.25202, + "B": 0, + "G": 0, + "TurnsRatio": 0.932 + } , + { -"FromBus":6,"ToBus":11,"R":0.09498,"X":0.1989,"B":0,"G":0,"TurnsRatio":1 + + "FromBus": 6, + "ToBus": 11, + "R": 0.09498, + "X": 0.1989, + "B": 0, + "G": 0, + "TurnsRatio": 1 + } , + { -"FromBus":6,"ToBus":12,"R":0.12291,"X":0.25581,"B":0,"G":0,"TurnsRatio":1 + + "FromBus": 6, + "ToBus": 12, + "R": 0.12291, + "X": 0.25581, + "B": 0, + "G": 0, + "TurnsRatio": 1 + } , + { -"FromBus":6,"ToBus":13,"R":0.06615,"X":0.13027,"B":0,"G":0,"TurnsRatio":1 + + "FromBus": 6, + "ToBus": 13, + "R": 0.06615, + "X": 0.13027, + "B": 0, + "G": 0, + "TurnsRatio": 1 + } , + { -"FromBus":7,"ToBus":8,"R":0,"X":0.17615,"B":0,"G":0,"TurnsRatio":1 + + "FromBus": 7, + "ToBus": 8, + "R": 0, + "X": 0.17615, + "B": 0, + "G": 0, + "TurnsRatio": 1 + } , + { -"FromBus":7,"ToBus":9,"R":0,"X":0.11001,"B":0,"G":0,"TurnsRatio":1 + + "FromBus": 7, + "ToBus": 9, + "R": 0, + "X": 0.11001, + "B": 0, + "G": 0, + "TurnsRatio": 1 + } , + { -"FromBus":9,"ToBus":10,"R":0.03181,"X":0.0845,"B":0,"G":0,"TurnsRatio":1 + + "FromBus": 9, + "ToBus": 10, + "R": 0.03181, + "X": 0.0845, + "B": 0, + "G": 0, + "TurnsRatio": 1 + } , + { -"FromBus":9,"ToBus":14,"R":0.12711,"X":0.27038,"B":0,"G":0,"TurnsRatio":1 + + "FromBus": 9, + "ToBus": 14, + "R": 0.12711, + "X": 0.27038, + "B": 0, + "G": 0, + "TurnsRatio": 1 + } , + { -"FromBus":10,"ToBus":11,"R":0.08205,"X":0.19207,"B":0,"G":0,"TurnsRatio":1 + + "FromBus": 10, + "ToBus": 11, + "R": 0.08205, + "X": 0.19207, + "B": 0, + "G": 0, + "TurnsRatio": 1 + } , + { -"FromBus":12,"ToBus":13,"R":0.22092,"X":0.19988,"B":0,"G":0,"TurnsRatio":1 + + "FromBus": 12, + "ToBus": 13, + "R": 0.22092, + "X": 0.19988, + "B": 0, + "G": 0, + "TurnsRatio": 1 + } , + { -"FromBus":13,"ToBus":14,"R":0.17093,"X":0.34802,"B":0,"G":0,"TurnsRatio":1 + + "FromBus": 13, + "ToBus": 14, + "R": 0.17093, + "X": 0.34802, + "B": 0, + "G": 0, + "TurnsRatio": 1 + } , + { -"FromBus":9,"ToBus":9,"R":"NaN","X":"NaN","B":0.19,"G":0,"TurnsRatio":1 + + "FromBus": 9, + "ToBus": 9, + "R": "NaN", + "X": "NaN", + "B": 0.19, + "G": 0, + "TurnsRatio": 1 + } + ] -,"Apparatus": +, + "Apparatus": [ + { -"BusNo":1,"Type":0,"Para": + + "BusNo": 1, + "Type": 0, + "Para": { -"J":3.5,"D":5,"wL":0.1,"R":0.01,"w0":376.99111843077515 + + "J": 3.5, + "D": 5, + "wL": 0.1, + "R": 0.01, + "w0": 376.99111843077515 + } + } , + { -"BusNo":2,"Type":0,"Para": + + "BusNo": 2, + "Type": 0, + "Para": { -"J":3.5,"D":5,"wL":0.1,"R":0.01,"w0":376.99111843077515 + + "J": 3.5, + "D": 5, + "wL": 0.1, + "R": 0.01, + "w0": 376.99111843077515 + } + } , + { -"BusNo":3,"Type":0,"Para": + + "BusNo": 3, + "Type": 0, + "Para": { -"J":3.5,"D":5,"wL":0.1,"R":0.01,"w0":376.99111843077515 + + "J": 3.5, + "D": 5, + "wL": 0.1, + "R": 0.01, + "w0": 376.99111843077515 + } + } , + { -"BusNo":4,"Type":100,"Para": + + "BusNo": 4, + "Type": 100, + "Para": [ ] + } , + { -"BusNo":5,"Type":100,"Para": + + "BusNo": 5, + "Type": 100, + "Para": [ ] + } , + { -"BusNo":6,"Type":0,"Para": + + "BusNo": 6, + "Type": 0, + "Para": { -"J":3.5,"D":5,"wL":0.1,"R":0.01,"w0":376.99111843077515 + + "J": 3.5, + "D": 5, + "wL": 0.1, + "R": 0.01, + "w0": 376.99111843077515 + } + } , + { -"BusNo":7,"Type":100,"Para": + + "BusNo": 7, + "Type": 100, + "Para": [ ] + } , + { -"BusNo":8,"Type":0,"Para": + + "BusNo": 8, + "Type": 0, + "Para": { -"J":3.5,"D":5,"wL":0.1,"R":0.01,"w0":376.99111843077515 + + "J": 3.5, + "D": 5, + "wL": 0.1, + "R": 0.01, + "w0": 376.99111843077515 + } + } , + { -"BusNo":9,"Type":100,"Para": + + "BusNo": 9, + "Type": 100, + "Para": [ ] + } , + { -"BusNo":10,"Type":100,"Para": + + "BusNo": 10, + "Type": 100, + "Para": [ ] + } , + { -"BusNo":11,"Type":100,"Para": + + "BusNo": 11, + "Type": 100, + "Para": [ ] + } , + { -"BusNo":12,"Type":100,"Para": + + "BusNo": 12, + "Type": 100, + "Para": [ ] + } , + { -"BusNo":13,"Type":100,"Para": + + "BusNo": 13, + "Type": 100, + "Para": [ ] + } , + { -"BusNo":14,"Type":100,"Para": + + "BusNo": 14, + "Type": 100, + "Para": [ ] + } + ] + } diff --git a/Examples/AcPowerSystem/IEEE_14BusFullOrder/IEEE_14BusFullOrder.json b/Examples/AcPowerSystem/IEEE_14BusFullOrder/IEEE_14BusFullOrder.json new file mode 100644 index 00000000..6a9e7cd3 --- /dev/null +++ b/Examples/AcPowerSystem/IEEE_14BusFullOrder/IEEE_14BusFullOrder.json @@ -0,0 +1,870 @@ + +{ + + "Basic": +{ + + "Fs": 30000, + "Fbase": 60, + "Sbase": 1, + "Vbase": 1 + +} +, + "Advance": +{ + + "DiscretizationMethod": 2, + "LinearizationTimes": 1, + "DiscretizationDampingFlag": 1, + "DirectFeedthrough": 0, + "PowerFlowAlgorithm": 2, + "EnableCreateSimulinkModel": 1, + "EnablePlotPole": 1, + "EnablePlotAdmittance": 1, + "EnablePrintOutput": 1 + +} +, + "Bus": +[ + + +{ + + "BusNo": 1, + "BusType": 1, + "Voltage": 1.06, + "Theta": 0, + "PGi": 0, + "QGi": 0, + "PLi": 0, + "QLi": 0, + "Qmin": 0, + "Qmax": 0, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 2, + "BusType": 2, + "Voltage": 1.045, + "Theta": 0, + "PGi": 0.4, + "QGi": 0.424, + "PLi": 0.217, + "QLi": 0.127, + "Qmin": -0.4, + "Qmax": 0.5, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 3, + "BusType": 2, + "Voltage": 1.01, + "Theta": 0, + "PGi": 0, + "QGi": 0.234, + "PLi": 0.942, + "QLi": 0.19, + "Qmin": 0, + "Qmax": 0.4, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 4, + "BusType": 3, + "Voltage": 1, + "Theta": 0, + "PGi": 0, + "QGi": 0, + "PLi": 0.478, + "QLi": -0.039, + "Qmin": 0, + "Qmax": 0, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 5, + "BusType": 3, + "Voltage": 1, + "Theta": 0, + "PGi": 0, + "QGi": 0, + "PLi": 0.076, + "QLi": 0.016, + "Qmin": 0, + "Qmax": 0, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 6, + "BusType": 2, + "Voltage": 1.07, + "Theta": 0, + "PGi": 0, + "QGi": 0.122, + "PLi": 0.112, + "QLi": 0.075, + "Qmin": -0.06, + "Qmax": 0.24, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 7, + "BusType": 3, + "Voltage": 1, + "Theta": 0, + "PGi": 0, + "QGi": 0, + "PLi": 0, + "QLi": 0, + "Qmin": 0, + "Qmax": 0, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 8, + "BusType": 2, + "Voltage": 1.09, + "Theta": 0, + "PGi": 0, + "QGi": 0.174, + "PLi": 0, + "QLi": 0, + "Qmin": -0.06, + "Qmax": 0.24, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 9, + "BusType": 3, + "Voltage": 1, + "Theta": 0, + "PGi": 0, + "QGi": 0, + "PLi": 0.295, + "QLi": 0.166, + "Qmin": 0, + "Qmax": 0, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 10, + "BusType": 3, + "Voltage": 1, + "Theta": 0, + "PGi": 0, + "QGi": 0, + "PLi": 0.09, + "QLi": 0.058, + "Qmin": 0, + "Qmax": 0, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 11, + "BusType": 3, + "Voltage": 1, + "Theta": 0, + "PGi": 0, + "QGi": 0, + "PLi": 0.035, + "QLi": 0.018, + "Qmin": 0, + "Qmax": 0, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 12, + "BusType": 3, + "Voltage": 1, + "Theta": 0, + "PGi": 0, + "QGi": 0, + "PLi": 0.061, + "QLi": 0.016, + "Qmin": 0, + "Qmax": 0, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 13, + "BusType": 3, + "Voltage": 1, + "Theta": 0, + "PGi": 0, + "QGi": 0, + "PLi": 0.135, + "QLi": 0.058, + "Qmin": 0, + "Qmax": 0, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 14, + "BusType": 3, + "Voltage": 1, + "Theta": 0, + "PGi": 0, + "QGi": 0, + "PLi": 0.149, + "QLi": 0.05, + "Qmin": 0, + "Qmax": 0, + "AreaNo": 1, + "AcDc": 1 + +} + + +] +, + "NetworkLine": +[ + +] +, + "NetworkLineIEEE": +[ + + +{ + + "FromBus": 1, + "ToBus": 2, + "R": 0.01938, + "X": 0.05917, + "B": 0.0528, + "G": 0, + "TurnsRatio": 1 + +} +, + +{ + + "FromBus": 1, + "ToBus": 5, + "R": 0.05403, + "X": 0.22304, + "B": 0.0492, + "G": 0, + "TurnsRatio": 1 + +} +, + +{ + + "FromBus": 2, + "ToBus": 3, + "R": 0.04699, + "X": 0.19797, + "B": 0.0438, + "G": 0, + "TurnsRatio": 1 + +} +, + +{ + + "FromBus": 2, + "ToBus": 4, + "R": 0.05811, + "X": 0.17632, + "B": 0.034, + "G": 0, + "TurnsRatio": 1 + +} +, + +{ + + "FromBus": 2, + "ToBus": 5, + "R": 0.05695, + "X": 0.17388, + "B": 0.0346, + "G": 0, + "TurnsRatio": 1 + +} +, + +{ + + "FromBus": 3, + "ToBus": 4, + "R": 0.06701, + "X": 0.17103, + "B": 0.0128, + "G": 0, + "TurnsRatio": 1 + +} +, + +{ + + "FromBus": 4, + "ToBus": 5, + "R": 0.01335, + "X": 0.04211, + "B": 0, + "G": 0, + "TurnsRatio": 1 + +} +, + +{ + + "FromBus": 4, + "ToBus": 7, + "R": 0, + "X": 0.20912, + "B": 0, + "G": 0, + "TurnsRatio": 0.978 + +} +, + +{ + + "FromBus": 4, + "ToBus": 9, + "R": 0, + "X": 0.55618, + "B": 0, + "G": 0, + "TurnsRatio": 0.969 + +} +, + +{ + + "FromBus": 5, + "ToBus": 6, + "R": 0, + "X": 0.25202, + "B": 0, + "G": 0, + "TurnsRatio": 0.932 + +} +, + +{ + + "FromBus": 6, + "ToBus": 11, + "R": 0.09498, + "X": 0.1989, + "B": 0, + "G": 0, + "TurnsRatio": 1 + +} +, + +{ + + "FromBus": 6, + "ToBus": 12, + "R": 0.12291, + "X": 0.25581, + "B": 0, + "G": 0, + "TurnsRatio": 1 + +} +, + +{ + + "FromBus": 6, + "ToBus": 13, + "R": 0.06615, + "X": 0.13027, + "B": 0, + "G": 0, + "TurnsRatio": 1 + +} +, + +{ + + "FromBus": 7, + "ToBus": 8, + "R": 0, + "X": 0.17615, + "B": 0, + "G": 0, + "TurnsRatio": 1 + +} +, + +{ + + "FromBus": 7, + "ToBus": 9, + "R": 0, + "X": 0.11001, + "B": 0, + "G": 0, + "TurnsRatio": 1 + +} +, + +{ + + "FromBus": 9, + "ToBus": 10, + "R": 0.03181, + "X": 0.0845, + "B": 0, + "G": 0, + "TurnsRatio": 1 + +} +, + +{ + + "FromBus": 9, + "ToBus": 14, + "R": 0.12711, + "X": 0.27038, + "B": 0, + "G": 0, + "TurnsRatio": 1 + +} +, + +{ + + "FromBus": 10, + "ToBus": 11, + "R": 0.08205, + "X": 0.19207, + "B": 0, + "G": 0, + "TurnsRatio": 1 + +} +, + +{ + + "FromBus": 12, + "ToBus": 13, + "R": 0.22092, + "X": 0.19988, + "B": 0, + "G": 0, + "TurnsRatio": 1 + +} +, + +{ + + "FromBus": 13, + "ToBus": 14, + "R": 0.17093, + "X": 0.34802, + "B": 0, + "G": 0, + "TurnsRatio": 1 + +} +, + +{ + + "FromBus": 9, + "ToBus": 9, + "R": "NaN", + "X": "NaN", + "B": 0.19, + "G": 0, + "TurnsRatio": 1 + +} + + +] +, + "Apparatus": +[ + + +{ + + "BusNo": 1, + "Type": 30, + "Para": +{ + + "x_d": 1.5, + "x_dd": 0.5, + "x_ddd": 0.32, + "x_q": 1, + "x_qd": 1, + "x_qdd": 0.45, + "x_l": 0.2, + "R_a": 0.02, + "T_dd": 9, + "T_ddd": 0.05, + "T_qd": 2, + "T_qdd": 0.09, + "H": 2.1028, + "SaturationA": 1, + "SaturationB": 0.103, + "SaturationN": 10.659857, + "D": 0.02056, + "SpeedPara": 200, + "K_A": 20, + "EnableSaturation": 0, + "wb": 376.99111843077515 + +} + + +} +, + +{ + + "BusNo": 2, + "Type": 30, + "Para": +{ + + "x_d": 1.5, + "x_dd": 0.5, + "x_ddd": 0.32, + "x_q": 1, + "x_qd": 1, + "x_qdd": 0.45, + "x_l": 0.2, + "R_a": 0.02, + "T_dd": 9, + "T_ddd": 0.05, + "T_qd": 2, + "T_qdd": 0.09, + "H": 2.1028, + "SaturationA": 1, + "SaturationB": 0.103, + "SaturationN": 10.659857, + "D": 0.02056, + "SpeedPara": 200, + "K_A": 20, + "EnableSaturation": 0, + "wb": 376.99111843077515 + +} + + +} +, + +{ + + "BusNo": 3, + "Type": 30, + "Para": +{ + + "x_d": 1.5, + "x_dd": 0.5, + "x_ddd": 0.32, + "x_q": 1, + "x_qd": 1, + "x_qdd": 0.45, + "x_l": 0.2, + "R_a": 0.02, + "T_dd": 9, + "T_ddd": 0.05, + "T_qd": 2, + "T_qdd": 0.09, + "H": 2.1028, + "SaturationA": 1, + "SaturationB": 0.103, + "SaturationN": 10.659857, + "D": 0.02056, + "SpeedPara": 200, + "K_A": 20, + "EnableSaturation": 0, + "wb": 376.99111843077515 + +} + + +} +, + +{ + + "BusNo": 4, + "Type": 100, + "Para": +[ + +] + + +} +, + +{ + + "BusNo": 5, + "Type": 100, + "Para": +[ + +] + + +} +, + +{ + + "BusNo": 6, + "Type": 30, + "Para": +{ + + "x_d": 1.5, + "x_dd": 0.5, + "x_ddd": 0.32, + "x_q": 1, + "x_qd": 1, + "x_qdd": 0.45, + "x_l": 0.2, + "R_a": 0.02, + "T_dd": 9, + "T_ddd": 0.05, + "T_qd": 2, + "T_qdd": 0.09, + "H": 2.1028, + "SaturationA": 1, + "SaturationB": 0.103, + "SaturationN": 10.659857, + "D": 0.02056, + "SpeedPara": 200, + "K_A": 20, + "EnableSaturation": 0, + "wb": 376.99111843077515 + +} + + +} +, + +{ + + "BusNo": 7, + "Type": 100, + "Para": +[ + +] + + +} +, + +{ + + "BusNo": 8, + "Type": 30, + "Para": +{ + + "x_d": 1.5, + "x_dd": 0.5, + "x_ddd": 0.32, + "x_q": 1, + "x_qd": 1, + "x_qdd": 0.45, + "x_l": 0.2, + "R_a": 0.02, + "T_dd": 9, + "T_ddd": 0.05, + "T_qd": 2, + "T_qdd": 0.09, + "H": 2.1028, + "SaturationA": 1, + "SaturationB": 0.103, + "SaturationN": 10.659857, + "D": 0.02056, + "SpeedPara": 200, + "K_A": 20, + "EnableSaturation": 0, + "wb": 376.99111843077515 + +} + + +} +, + +{ + + "BusNo": 9, + "Type": 100, + "Para": +[ + +] + + +} +, + +{ + + "BusNo": 10, + "Type": 100, + "Para": +[ + +] + + +} +, + +{ + + "BusNo": 11, + "Type": 100, + "Para": +[ + +] + + +} +, + +{ + + "BusNo": 12, + "Type": 100, + "Para": +[ + +] + + +} +, + +{ + + "BusNo": 13, + "Type": 100, + "Para": +[ + +] + + +} +, + +{ + + "BusNo": 14, + "Type": 100, + "Para": +[ + +] + + +} + + +] + + +} diff --git a/Examples/AcPowerSystem/IEEE_14BusFullOrder/IEEE_14BusFullOrder.xlsx b/Examples/AcPowerSystem/IEEE_14BusFullOrder/IEEE_14BusFullOrder.xlsx new file mode 100644 index 00000000..2e10a137 Binary files /dev/null and b/Examples/AcPowerSystem/IEEE_14BusFullOrder/IEEE_14BusFullOrder.xlsx differ diff --git a/Examples/AcPowerSystem/IEEE_14BusFullOrder/IEEE_14Bus_Layout_Illinois.png b/Examples/AcPowerSystem/IEEE_14BusFullOrder/IEEE_14Bus_Layout_Illinois.png new file mode 100644 index 00000000..235e537f Binary files /dev/null and b/Examples/AcPowerSystem/IEEE_14BusFullOrder/IEEE_14Bus_Layout_Illinois.png differ diff --git a/Examples/AcPowerSystem/IEEE_14BusFullOrder/IEEE_14Bus_Layout_Washington.tif b/Examples/AcPowerSystem/IEEE_14BusFullOrder/IEEE_14Bus_Layout_Washington.tif new file mode 100644 index 00000000..1831f489 Binary files /dev/null and b/Examples/AcPowerSystem/IEEE_14BusFullOrder/IEEE_14Bus_Layout_Washington.tif differ diff --git a/Examples/AcPowerSystem/IEEE_39BusFullOrder/IEEE_39BusFullOrder.json b/Examples/AcPowerSystem/IEEE_39BusFullOrder/IEEE_39BusFullOrder.json new file mode 100644 index 00000000..364495d0 --- /dev/null +++ b/Examples/AcPowerSystem/IEEE_39BusFullOrder/IEEE_39BusFullOrder.json @@ -0,0 +1,2020 @@ + +{ + + "Basic": +{ + + "Fs": 30000, + "Fbase": 60, + "Sbase": 1, + "Vbase": 1 + +} +, + "Advance": +{ + + "DiscretizationMethod": 2, + "LinearizationTimes": 1, + "DiscretizationDampingFlag": 1, + "DirectFeedthrough": 0, + "PowerFlowAlgorithm": 2, + "EnableCreateSimulinkModel": 1, + "EnablePlotPole": 1, + "EnablePlotAdmittance": 1, + "EnablePrintOutput": 1 + +} +, + "Bus": +[ + + +{ + + "BusNo": 39, + "BusType": 3, + "Voltage": 1.048, + "Theta": -0.164579694444444, + "PGi": 0, + "QGi": 0, + "PLi": 0, + "QLi": 0, + "Qmin": -99, + "Qmax": 99, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 2, + "BusType": 3, + "Voltage": 1.0505, + "Theta": -0.120249638888889, + "PGi": 0, + "QGi": 0, + "PLi": 0, + "QLi": 0, + "Qmin": -99, + "Qmax": 99, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 3, + "BusType": 3, + "Voltage": 1.0341, + "Theta": -0.169815527777778, + "PGi": 0, + "QGi": 0, + "PLi": 3.22, + "QLi": 0.024, + "Qmin": -99, + "Qmax": 99, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 4, + "BusType": 3, + "Voltage": 1.0116, + "Theta": -0.18377775, + "PGi": 0, + "QGi": 0, + "PLi": 5, + "QLi": 1.84, + "Qmin": -99, + "Qmax": 99, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 5, + "BusType": 3, + "Voltage": 1.0165, + "Theta": -0.163707055555556, + "PGi": 0, + "QGi": 0, + "PLi": 0, + "QLi": 0, + "Qmin": -99, + "Qmax": 99, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 6, + "BusType": 3, + "Voltage": 1.0172, + "Theta": -0.151490111111111, + "PGi": 0, + "QGi": 0, + "PLi": 0, + "QLi": 0, + "Qmin": -99, + "Qmax": 99, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 7, + "BusType": 3, + "Voltage": 1.0067, + "Theta": -0.189188111111111, + "PGi": 0, + "QGi": 0, + "PLi": 2.338, + "QLi": 0.84, + "Qmin": -99, + "Qmax": 99, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 8, + "BusType": 3, + "Voltage": 1.0057, + "Theta": -0.1979145, + "PGi": 0, + "QGi": 0, + "PLi": 5.22, + "QLi": 1.76, + "Qmin": -99, + "Qmax": 99, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 9, + "BusType": 3, + "Voltage": 1.0322, + "Theta": -0.194598472222222, + "PGi": 0, + "QGi": 0, + "PLi": 0, + "QLi": 0, + "Qmin": -99, + "Qmax": 99, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 10, + "BusType": 3, + "Voltage": 1.0235, + "Theta": -0.110127027777778, + "PGi": 0, + "QGi": 0, + "PLi": 0, + "QLi": 0, + "Qmin": -99, + "Qmax": 99, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 11, + "BusType": 3, + "Voltage": 1.0201, + "Theta": -0.124263777777778, + "PGi": 0, + "QGi": 0, + "PLi": 0, + "QLi": 0, + "Qmin": -99, + "Qmax": 99, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 12, + "BusType": 3, + "Voltage": 1.0072, + "Theta": -0.124612833333333, + "PGi": 0, + "QGi": 0, + "PLi": 0.075, + "QLi": 0.88, + "Qmin": -99, + "Qmax": 99, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 13, + "BusType": 3, + "Voltage": 1.0207, + "Theta": -0.1225185, + "PGi": 0, + "QGi": 0, + "PLi": 0, + "QLi": 0, + "Qmin": -99, + "Qmax": 99, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 14, + "BusType": 3, + "Voltage": 1.0181, + "Theta": -0.151141055555556, + "PGi": 0, + "QGi": 0, + "PLi": 0, + "QLi": 0, + "Qmin": -99, + "Qmax": 99, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 15, + "BusType": 3, + "Voltage": 1.0194, + "Theta": -0.158122166666667, + "PGi": 0, + "QGi": 0, + "PLi": 3.2, + "QLi": 1.53, + "Qmin": -99, + "Qmax": 99, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 16, + "BusType": 3, + "Voltage": 1.0346, + "Theta": -0.133688277777778, + "PGi": 0, + "QGi": 0, + "PLi": 3.29, + "QLi": 0.323, + "Qmin": -99, + "Qmax": 99, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 17, + "BusType": 3, + "Voltage": 1.0365, + "Theta": -0.150966527777778, + "PGi": 0, + "QGi": 0, + "PLi": 0, + "QLi": 0, + "Qmin": -99, + "Qmax": 99, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 18, + "BusType": 3, + "Voltage": 1.0343, + "Theta": -0.165626861111111, + "PGi": 0, + "QGi": 0, + "PLi": 1.58, + "QLi": 0.3, + "Qmin": -99, + "Qmax": 99, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 19, + "BusType": 3, + "Voltage": 1.0509, + "Theta": -0.0530564444444444, + "PGi": 0, + "QGi": 0, + "PLi": 0, + "QLi": 0, + "Qmin": -99, + "Qmax": 99, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 20, + "BusType": 3, + "Voltage": 0.9914, + "Theta": -0.0776648611111111, + "PGi": 0, + "QGi": 0, + "PLi": 6.28, + "QLi": 1.03, + "Qmin": -99, + "Qmax": 99, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 21, + "BusType": 3, + "Voltage": 1.0337, + "Theta": -0.0918016111111111, + "PGi": 0, + "QGi": 0, + "PLi": 2.74, + "QLi": 1.15, + "Qmin": -99, + "Qmax": 99, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 22, + "BusType": 3, + "Voltage": 1.0509, + "Theta": -0.0143112777777778, + "PGi": 0, + "QGi": 0, + "PLi": 0, + "QLi": 0, + "Qmin": -99, + "Qmax": 99, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 23, + "BusType": 3, + "Voltage": 1.0459, + "Theta": -0.0178018333333333, + "PGi": 0, + "QGi": 0, + "PLi": 2.475, + "QLi": 0.846, + "Qmin": -99, + "Qmax": 99, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 24, + "BusType": 3, + "Voltage": 1.0399, + "Theta": -0.131593944444444, + "PGi": 0, + "QGi": 0, + "PLi": 3.086, + "QLi": -0.92, + "Qmin": -99, + "Qmax": 99, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 25, + "BusType": 3, + "Voltage": 1.0587, + "Theta": -0.0961648055555556, + "PGi": 0, + "QGi": 0, + "PLi": 2.24, + "QLi": 0.472, + "Qmin": -99, + "Qmax": 99, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 26, + "BusType": 3, + "Voltage": 1.0536, + "Theta": -0.118155305555556, + "PGi": 0, + "QGi": 0, + "PLi": 1.39, + "QLi": 0.17, + "Qmin": -99, + "Qmax": 99, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 27, + "BusType": 3, + "Voltage": 1.0399, + "Theta": -0.153235388888889, + "PGi": 0, + "QGi": 0, + "PLi": 2.81, + "QLi": 0.755, + "Qmin": -99, + "Qmax": 99, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 28, + "BusType": 3, + "Voltage": 1.0509, + "Theta": -0.0570705833333333, + "PGi": 0, + "QGi": 0, + "PLi": 2.06, + "QLi": 0.276, + "Qmin": -99, + "Qmax": 99, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 29, + "BusType": 3, + "Voltage": 1.0505, + "Theta": -0.00890091666666667, + "PGi": 0, + "QGi": 0, + "PLi": 2.835, + "QLi": 0.269, + "Qmin": -99, + "Qmax": 99, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 30, + "BusType": 2, + "Voltage": 1.0475, + "Theta": -0.0780139166666667, + "PGi": 2.5, + "QGi": 1.3621, + "PLi": 0, + "QLi": 0, + "Qmin": -5, + "Qmax": 8, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 31, + "BusType": 2, + "Voltage": 0.982, + "Theta": 0, + "PGi": 5.7293, + "QGi": 1.7036, + "PLi": 0.092, + "QLi": 0.046, + "Qmin": -5, + "Qmax": 8, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 32, + "BusType": 2, + "Voltage": 0.9831, + "Theta": 0.0284480277777778, + "PGi": 6.5, + "QGi": 1.759, + "PLi": 0, + "QLi": 0, + "Qmin": -5, + "Qmax": 8, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 33, + "BusType": 2, + "Voltage": 0.9972, + "Theta": 0.0380470555555556, + "PGi": 6.32, + "QGi": 1.0335, + "PLi": 0, + "QLi": 0, + "Qmin": -5, + "Qmax": 8, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 34, + "BusType": 2, + "Voltage": 1.0123, + "Theta": 0.0129150555555556, + "PGi": 5.08, + "QGi": 1.64, + "PLi": 0, + "QLi": 0, + "Qmin": -3, + "Qmax": 4, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 35, + "BusType": 2, + "Voltage": 1.0493, + "Theta": 0.0722545, + "PGi": 6.5, + "QGi": 2.0884, + "PLi": 0, + "QLi": 0, + "Qmin": -5, + "Qmax": 8, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 36, + "BusType": 2, + "Voltage": 1.0635, + "Theta": 0.119202472222222, + "PGi": 5.6, + "QGi": 0.9688, + "PLi": 0, + "QLi": 0, + "Qmin": -5, + "Qmax": 8, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 37, + "BusType": 2, + "Voltage": 1.0278, + "Theta": 0.0219905, + "PGi": 5.4, + "QGi": -0.0444, + "PLi": 0, + "QLi": 0, + "Qmin": -5, + "Qmax": 8, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 38, + "BusType": 2, + "Voltage": 1.0265, + "Theta": 0.114315694444444, + "PGi": 8.3, + "QGi": 0.1939, + "PLi": 0, + "QLi": 0, + "Qmin": -5, + "Qmax": 8, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 1, + "BusType": 1, + "Voltage": 1.03, + "Theta": -0.191282444444444, + "PGi": 10, + "QGi": 0.6846, + "PLi": 11.04, + "QLi": 2.5, + "Qmin": -10, + "Qmax": 15, + "AreaNo": 1, + "AcDc": 1 + +} + + +] +, + "NetworkLine": +[ + +] +, + "NetworkLineIEEE": +[ + + +{ + + "FromBus": 39, + "ToBus": 2, + "R": 0.0035, + "X": 0.0411, + "B": 0.6987, + "G": 0, + "TurnsRatio": 1 + +} +, + +{ + + "FromBus": 39, + "ToBus": 1, + "R": 0.001, + "X": 0.025, + "B": 0.75, + "G": 0, + "TurnsRatio": 1 + +} +, + +{ + + "FromBus": 2, + "ToBus": 3, + "R": 0.0013, + "X": 0.0151, + "B": 0.2572, + "G": 0, + "TurnsRatio": 1 + +} +, + +{ + + "FromBus": 2, + "ToBus": 25, + "R": 0.007, + "X": 0.0086, + "B": 0.146, + "G": 0, + "TurnsRatio": 1 + +} +, + +{ + + "FromBus": 2, + "ToBus": 30, + "R": 0.001, + "X": 0.0181, + "B": 0, + "G": 0, + "TurnsRatio": 1.025 + +} +, + +{ + + "FromBus": 3, + "ToBus": 4, + "R": 0.0013, + "X": 0.0213, + "B": 0.2214, + "G": 0, + "TurnsRatio": 1 + +} +, + +{ + + "FromBus": 3, + "ToBus": 18, + "R": 0.0011, + "X": 0.0133, + "B": 0.2138, + "G": 0, + "TurnsRatio": 1 + +} +, + +{ + + "FromBus": 4, + "ToBus": 5, + "R": 0.0008, + "X": 0.0128, + "B": 0.1342, + "G": 0, + "TurnsRatio": 1 + +} +, + +{ + + "FromBus": 4, + "ToBus": 14, + "R": 0.0008, + "X": 0.0129, + "B": 0.1382, + "G": 0, + "TurnsRatio": 1 + +} +, + +{ + + "FromBus": 5, + "ToBus": 8, + "R": 0.0008, + "X": 0.0112, + "B": 0.1476, + "G": 0, + "TurnsRatio": 1 + +} +, + +{ + + "FromBus": 6, + "ToBus": 5, + "R": 0.0002, + "X": 0.0026, + "B": 0.0434, + "G": 0, + "TurnsRatio": 1 + +} +, + +{ + + "FromBus": 6, + "ToBus": 7, + "R": 0.0006, + "X": 0.0092, + "B": 0.113, + "G": 0, + "TurnsRatio": 1 + +} +, + +{ + + "FromBus": 6, + "ToBus": 11, + "R": 0.0007, + "X": 0.0082, + "B": 0.1389, + "G": 0, + "TurnsRatio": 1 + +} +, + +{ + + "FromBus": 7, + "ToBus": 8, + "R": 0.0004, + "X": 0.0046, + "B": 0.078, + "G": 0, + "TurnsRatio": 1 + +} +, + +{ + + "FromBus": 8, + "ToBus": 9, + "R": 0.0023, + "X": 0.0363, + "B": 0.3804, + "G": 0, + "TurnsRatio": 1 + +} +, + +{ + + "FromBus": 9, + "ToBus": 1, + "R": 0.001, + "X": 0.025, + "B": 1.2, + "G": 0, + "TurnsRatio": 1 + +} +, + +{ + + "FromBus": 10, + "ToBus": 11, + "R": 0.0004, + "X": 0.0043, + "B": 0.0729, + "G": 0, + "TurnsRatio": 1 + +} +, + +{ + + "FromBus": 10, + "ToBus": 13, + "R": 0.0004, + "X": 0.0043, + "B": 0.0729, + "G": 0, + "TurnsRatio": 1 + +} +, + +{ + + "FromBus": 10, + "ToBus": 32, + "R": 0.001, + "X": 0.02, + "B": 0, + "G": 0, + "TurnsRatio": 1.07 + +} +, + +{ + + "FromBus": 12, + "ToBus": 11, + "R": 0.0016, + "X": 0.0435, + "B": 0, + "G": 0, + "TurnsRatio": 1.006 + +} +, + +{ + + "FromBus": 12, + "ToBus": 13, + "R": 0.0016, + "X": 0.0435, + "B": 0, + "G": 0, + "TurnsRatio": 1.006 + +} +, + +{ + + "FromBus": 13, + "ToBus": 14, + "R": 0.0009, + "X": 0.0101, + "B": 0.1723, + "G": 0, + "TurnsRatio": 1 + +} +, + +{ + + "FromBus": 14, + "ToBus": 15, + "R": 0.0018, + "X": 0.0217, + "B": 0.366, + "G": 0, + "TurnsRatio": 1 + +} +, + +{ + + "FromBus": 15, + "ToBus": 16, + "R": 0.0009, + "X": 0.0094, + "B": 0.171, + "G": 0, + "TurnsRatio": 1 + +} +, + +{ + + "FromBus": 16, + "ToBus": 17, + "R": 0.0007, + "X": 0.0089, + "B": 0.1342, + "G": 0, + "TurnsRatio": 1 + +} +, + +{ + + "FromBus": 16, + "ToBus": 19, + "R": 0.0016, + "X": 0.0195, + "B": 0.304, + "G": 0, + "TurnsRatio": 1 + +} +, + +{ + + "FromBus": 16, + "ToBus": 21, + "R": 0.0008, + "X": 0.0135, + "B": 0.2548, + "G": 0, + "TurnsRatio": 1 + +} +, + +{ + + "FromBus": 16, + "ToBus": 24, + "R": 0.0003, + "X": 0.0059, + "B": 0.068, + "G": 0, + "TurnsRatio": 1 + +} +, + +{ + + "FromBus": 17, + "ToBus": 18, + "R": 0.0007, + "X": 0.0082, + "B": 0.1319, + "G": 0, + "TurnsRatio": 1 + +} +, + +{ + + "FromBus": 17, + "ToBus": 27, + "R": 0.0013, + "X": 0.0173, + "B": 0.3216, + "G": 0, + "TurnsRatio": 1 + +} +, + +{ + + "FromBus": 19, + "ToBus": 33, + "R": 0.0007, + "X": 0.0142, + "B": 0, + "G": 0, + "TurnsRatio": 1.07 + +} +, + +{ + + "FromBus": 19, + "ToBus": 20, + "R": 0.0007, + "X": 0.0138, + "B": 0, + "G": 0, + "TurnsRatio": 1.06 + +} +, + +{ + + "FromBus": 20, + "ToBus": 34, + "R": 0.0009, + "X": 0.018, + "B": 0, + "G": 0, + "TurnsRatio": 1.009 + +} +, + +{ + + "FromBus": 21, + "ToBus": 22, + "R": 0.0008, + "X": 0.014, + "B": 0.2565, + "G": 0, + "TurnsRatio": 1 + +} +, + +{ + + "FromBus": 22, + "ToBus": 23, + "R": 0.0006, + "X": 0.0096, + "B": 0.1846, + "G": 0, + "TurnsRatio": 1 + +} +, + +{ + + "FromBus": 22, + "ToBus": 35, + "R": 0.001, + "X": 0.0143, + "B": 0, + "G": 0, + "TurnsRatio": 1.025 + +} +, + +{ + + "FromBus": 23, + "ToBus": 24, + "R": 0.0022, + "X": 0.035, + "B": 0.361, + "G": 0, + "TurnsRatio": 1 + +} +, + +{ + + "FromBus": 23, + "ToBus": 36, + "R": 0.0005, + "X": 0.0272, + "B": 0, + "G": 0, + "TurnsRatio": 1 + +} +, + +{ + + "FromBus": 25, + "ToBus": 26, + "R": 0.0032, + "X": 0.0323, + "B": 0.513, + "G": 0, + "TurnsRatio": 1 + +} +, + +{ + + "FromBus": 25, + "ToBus": 37, + "R": 0.0006, + "X": 0.0232, + "B": 0, + "G": 0, + "TurnsRatio": 1.025 + +} +, + +{ + + "FromBus": 26, + "ToBus": 27, + "R": 0.0014, + "X": 0.0147, + "B": 0.2396, + "G": 0, + "TurnsRatio": 1 + +} +, + +{ + + "FromBus": 26, + "ToBus": 28, + "R": 0.0043, + "X": 0.0474, + "B": 0.7802, + "G": 0, + "TurnsRatio": 1 + +} +, + +{ + + "FromBus": 26, + "ToBus": 29, + "R": 0.0057, + "X": 0.0625, + "B": 1.029, + "G": 0, + "TurnsRatio": 1 + +} +, + +{ + + "FromBus": 28, + "ToBus": 29, + "R": 0.0014, + "X": 0.0151, + "B": 0.249, + "G": 0, + "TurnsRatio": 1 + +} +, + +{ + + "FromBus": 29, + "ToBus": 38, + "R": 0.0008, + "X": 0.0156, + "B": 0, + "G": 0, + "TurnsRatio": 1.025 + +} +, + +{ + + "FromBus": 31, + "ToBus": 6, + "R": 0.001, + "X": 0.025, + "B": 0, + "G": 0, + "TurnsRatio": 0.9 + +} + + +] +, + "Apparatus": +[ + + +{ + + "BusNo": 1, + "Type": 11, + "Para": +{ + + "V_dc": 2.2, + "C_dc": 2.2, + "f_v_dc": 5, + "wLf": 0.01, + "R": 0, + "f_pll": 5, + "f_tau_pll": 300, + "f_i_dq": 600, + "w0": 376.99111843077515 + +} + + +} +, + +{ + + "BusNo": 2, + "Type": 100, + "Para": +[ + +] + + +} +, + +{ + + "BusNo": 3, + "Type": 100, + "Para": +[ + +] + + +} +, + +{ + + "BusNo": 4, + "Type": 100, + "Para": +[ + +] + + +} +, + +{ + + "BusNo": 5, + "Type": 100, + "Para": +[ + +] + + +} +, + +{ + + "BusNo": 6, + "Type": 100, + "Para": +[ + +] + + +} +, + +{ + + "BusNo": 7, + "Type": 100, + "Para": +[ + +] + + +} +, + +{ + + "BusNo": 8, + "Type": 100, + "Para": +[ + +] + + +} +, + +{ + + "BusNo": 9, + "Type": 100, + "Para": +[ + +] + + +} +, + +{ + + "BusNo": 10, + "Type": 100, + "Para": +[ + +] + + +} +, + +{ + + "BusNo": 11, + "Type": 100, + "Para": +[ + +] + + +} +, + +{ + + "BusNo": 12, + "Type": 100, + "Para": +[ + +] + + +} +, + +{ + + "BusNo": 13, + "Type": 100, + "Para": +[ + +] + + +} +, + +{ + + "BusNo": 14, + "Type": 100, + "Para": +[ + +] + + +} +, + +{ + + "BusNo": 15, + "Type": 100, + "Para": +[ + +] + + +} +, + +{ + + "BusNo": 16, + "Type": 100, + "Para": +[ + +] + + +} +, + +{ + + "BusNo": 17, + "Type": 100, + "Para": +[ + +] + + +} +, + +{ + + "BusNo": 18, + "Type": 100, + "Para": +[ + +] + + +} +, + +{ + + "BusNo": 19, + "Type": 100, + "Para": +[ + +] + + +} +, + +{ + + "BusNo": 20, + "Type": 100, + "Para": +[ + +] + + +} +, + +{ + + "BusNo": 21, + "Type": 100, + "Para": +[ + +] + + +} +, + +{ + + "BusNo": 22, + "Type": 100, + "Para": +[ + +] + + +} +, + +{ + + "BusNo": 23, + "Type": 100, + "Para": +[ + +] + + +} +, + +{ + + "BusNo": 24, + "Type": 100, + "Para": +[ + +] + + +} +, + +{ + + "BusNo": 25, + "Type": 100, + "Para": +[ + +] + + +} +, + +{ + + "BusNo": 26, + "Type": 100, + "Para": +[ + +] + + +} +, + +{ + + "BusNo": 27, + "Type": 100, + "Para": +[ + +] + + +} +, + +{ + + "BusNo": 28, + "Type": 100, + "Para": +[ + +] + + +} +, + +{ + + "BusNo": 29, + "Type": 100, + "Para": +[ + +] + + +} +, + +{ + + "BusNo": 30, + "Type": 30, + "Para": +{ + + "x_d": 1.5, + "x_dd": 0.5, + "x_ddd": 0.32, + "x_q": 1, + "x_qd": 1, + "x_qdd": 0.45, + "x_l": 0.2, + "R_a": 0.02, + "T_dd": 9, + "T_ddd": 0.05, + "T_qd": 2, + "T_qdd": 0.09, + "H": 2.1028, + "SaturationA": 1, + "SaturationB": 0.103, + "SaturationN": 10.6599, + "D": 0.02056, + "SpeedPara": 200, + "K_A": 20, + "EnableSaturation": 0, + "wb": 376.99111843077515 + +} + + +} +, + +{ + + "BusNo": 31, + "Type": 30, + "Para": +{ + + "x_d": 1.5, + "x_dd": 0.5, + "x_ddd": 0.32, + "x_q": 1, + "x_qd": 1, + "x_qdd": 0.45, + "x_l": 0.2, + "R_a": 0.02, + "T_dd": 9, + "T_ddd": 0.05, + "T_qd": 2, + "T_qdd": 0.09, + "H": 2.1028, + "SaturationA": 1, + "SaturationB": 0.103, + "SaturationN": 10.6599, + "D": 0.02056, + "SpeedPara": 200, + "K_A": 20, + "EnableSaturation": 0, + "wb": 376.99111843077515 + +} + + +} +, + +{ + + "BusNo": 32, + "Type": 30, + "Para": +{ + + "x_d": 1.5, + "x_dd": 0.5, + "x_ddd": 0.32, + "x_q": 1, + "x_qd": 1, + "x_qdd": 0.45, + "x_l": 0.2, + "R_a": 0.02, + "T_dd": 9, + "T_ddd": 0.05, + "T_qd": 2, + "T_qdd": 0.09, + "H": 2.1028, + "SaturationA": 1, + "SaturationB": 0.103, + "SaturationN": 10.6599, + "D": 0.02056, + "SpeedPara": 200, + "K_A": 20, + "EnableSaturation": 0, + "wb": 376.99111843077515 + +} + + +} +, + +{ + + "BusNo": 33, + "Type": 30, + "Para": +{ + + "x_d": 1.5, + "x_dd": 0.5, + "x_ddd": 0.32, + "x_q": 1, + "x_qd": 1, + "x_qdd": 0.45, + "x_l": 0.2, + "R_a": 0.02, + "T_dd": 9, + "T_ddd": 0.05, + "T_qd": 2, + "T_qdd": 0.09, + "H": 2.1028, + "SaturationA": 1, + "SaturationB": 0.103, + "SaturationN": 10.6599, + "D": 0.02056, + "SpeedPara": 200, + "K_A": 20, + "EnableSaturation": 0, + "wb": 376.99111843077515 + +} + + +} +, + +{ + + "BusNo": 34, + "Type": 30, + "Para": +{ + + "x_d": 1.5, + "x_dd": 0.5, + "x_ddd": 0.32, + "x_q": 1, + "x_qd": 1, + "x_qdd": 0.45, + "x_l": 0.2, + "R_a": 0.02, + "T_dd": 9, + "T_ddd": 0.05, + "T_qd": 2, + "T_qdd": 0.09, + "H": 2.1028, + "SaturationA": 1, + "SaturationB": 0.103, + "SaturationN": 10.6599, + "D": 0.02056, + "SpeedPara": 200, + "K_A": 20, + "EnableSaturation": 0, + "wb": 376.99111843077515 + +} + + +} +, + +{ + + "BusNo": 35, + "Type": 11, + "Para": +{ + + "V_dc": 2.2, + "C_dc": 2.2, + "f_v_dc": 5, + "wLf": 0.01, + "R": 0, + "f_pll": 5, + "f_tau_pll": 300, + "f_i_dq": 600, + "w0": 376.99111843077515 + +} + + +} +, + +{ + + "BusNo": 36, + "Type": 11, + "Para": +{ + + "V_dc": 2.2, + "C_dc": 2.2, + "f_v_dc": 5, + "wLf": 0.01, + "R": 0, + "f_pll": 5, + "f_tau_pll": 300, + "f_i_dq": 600, + "w0": 376.99111843077515 + +} + + +} +, + +{ + + "BusNo": 37, + "Type": 11, + "Para": +{ + + "V_dc": 2.2, + "C_dc": 2.2, + "f_v_dc": 5, + "wLf": 0.01, + "R": 0, + "f_pll": 5, + "f_tau_pll": 300, + "f_i_dq": 600, + "w0": 376.99111843077515 + +} + + +} +, + +{ + + "BusNo": 38, + "Type": 11, + "Para": +{ + + "V_dc": 2.2, + "C_dc": 2.2, + "f_v_dc": 5, + "wLf": 0.01, + "R": 0, + "f_pll": 5, + "f_tau_pll": 300, + "f_i_dq": 600, + "w0": 376.99111843077515 + +} + + +} +, + +{ + + "BusNo": 39, + "Type": 100, + "Para": +[ + +] + + +} + + +] + + +} diff --git a/Examples/AcPowerSystem/IEEE_39BusFullOrder/IEEE_39BusFullOrder.xlsx b/Examples/AcPowerSystem/IEEE_39BusFullOrder/IEEE_39BusFullOrder.xlsx new file mode 100644 index 00000000..68c56683 Binary files /dev/null and b/Examples/AcPowerSystem/IEEE_39BusFullOrder/IEEE_39BusFullOrder.xlsx differ diff --git a/Examples/AcPowerSystem/IEEE_39BusFullOrder/IEEE_39bus_layout_new_England_system.png b/Examples/AcPowerSystem/IEEE_39BusFullOrder/IEEE_39bus_layout_new_England_system.png new file mode 100644 index 00000000..ff2e25f0 Binary files /dev/null and b/Examples/AcPowerSystem/IEEE_39BusFullOrder/IEEE_39bus_layout_new_England_system.png differ diff --git a/Examples/AcPowerSystem/IEEE_39BusFullOrder/Notes.txt b/Examples/AcPowerSystem/IEEE_39BusFullOrder/Notes.txt new file mode 100644 index 00000000..f99c6e7f --- /dev/null +++ b/Examples/AcPowerSystem/IEEE_39BusFullOrder/Notes.txt @@ -0,0 +1 @@ +The bus 1 and bus 39 are swapped. The system is small-signal unstable. \ No newline at end of file diff --git a/Examples/AcPowerSystem/Kundar_TwoAreaSystem/Kundar_TwoAreaSystem.json b/Examples/AcPowerSystem/Kundar_TwoAreaSystem/Kundar_TwoAreaSystem.json new file mode 100644 index 00000000..169a0f09 --- /dev/null +++ b/Examples/AcPowerSystem/Kundar_TwoAreaSystem/Kundar_TwoAreaSystem.json @@ -0,0 +1,590 @@ + +{ + + "Basic": +{ + + "Fs": 30000, + "Fbase": 60, + "Sbase": 1, + "Vbase": 1 + +} +, + "Advance": +{ + + "DiscretizationMethod": 2, + "LinearizationTimes": 1, + "DiscretizationDampingFlag": 1, + "DirectFeedthrough": 0, + "PowerFlowAlgorithm": 2, + "EnableCreateSimulinkModel": 1, + "EnablePlotPole": 1, + "EnablePlotAdmittance": 1, + "EnablePrintOutput": 1 + +} +, + "Bus": +[ + + +{ + + "BusNo": 1, + "BusType": 1, + "Voltage": 1.03, + "Theta": 0, + "PGi": 7, + "QGi": 0, + "PLi": 0, + "QLi": 0, + "Qmin": -99, + "Qmax": 99, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 2, + "BusType": 2, + "Voltage": 1.01, + "Theta": 0, + "PGi": 6.9635, + "QGi": 1.3058, + "PLi": 0, + "QLi": 0, + "Qmin": -99, + "Qmax": 99, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 3, + "BusType": 2, + "Voltage": 1.03, + "Theta": 0, + "PGi": 7.19, + "QGi": 1.33, + "PLi": 0, + "QLi": 0, + "Qmin": -99, + "Qmax": 99, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 4, + "BusType": 2, + "Voltage": 1.01, + "Theta": 0, + "PGi": 7, + "QGi": 0.985, + "PLi": 0, + "QLi": 0, + "Qmin": -99, + "Qmax": 99, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 5, + "BusType": 3, + "Voltage": 1, + "Theta": 0, + "PGi": 0, + "QGi": 0, + "PLi": 0, + "QLi": 0, + "Qmin": -99, + "Qmax": 99, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 6, + "BusType": 3, + "Voltage": 1, + "Theta": 0, + "PGi": 0, + "QGi": 0, + "PLi": 0, + "QLi": 0, + "Qmin": -99, + "Qmax": 99, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 7, + "BusType": 3, + "Voltage": 1, + "Theta": 0, + "PGi": 0, + "QGi": 0, + "PLi": 9.67, + "QLi": -1, + "Qmin": -99, + "Qmax": 99, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 8, + "BusType": 3, + "Voltage": 1, + "Theta": 0, + "PGi": 0, + "QGi": 0, + "PLi": 0, + "QLi": 0, + "Qmin": -99, + "Qmax": 99, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 9, + "BusType": 3, + "Voltage": 1, + "Theta": 0, + "PGi": 0, + "QGi": 0, + "PLi": 17.67, + "QLi": -2.5, + "Qmin": -99, + "Qmax": 99, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 10, + "BusType": 3, + "Voltage": 1, + "Theta": 0, + "PGi": 0, + "QGi": 0, + "PLi": 0, + "QLi": 0, + "Qmin": -99, + "Qmax": 99, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 11, + "BusType": 3, + "Voltage": 1, + "Theta": 0, + "PGi": 0, + "QGi": 0, + "PLi": 0, + "QLi": 0, + "Qmin": -99, + "Qmax": 99, + "AreaNo": 1, + "AcDc": 1 + +} + + +] +, + "NetworkLine": +[ + +] +, + "NetworkLineIEEE": +[ + + +{ + + "FromBus": 1, + "ToBus": 5, + "R": 0, + "X": 0.0167, + "B": 0, + "G": 0, + "TurnsRatio": 0.967 + +} +, + +{ + + "FromBus": 2, + "ToBus": 6, + "R": 0, + "X": 0.0167, + "B": 0, + "G": 0, + "TurnsRatio": 0.967 + +} +, + +{ + + "FromBus": 3, + "ToBus": 11, + "R": 0, + "X": 0.0167, + "B": 0, + "G": 0, + "TurnsRatio": 0.967 + +} +, + +{ + + "FromBus": 4, + "ToBus": 10, + "R": 0, + "X": 0.0167, + "B": 0, + "G": 0, + "TurnsRatio": 0.967 + +} +, + +{ + + "FromBus": 5, + "ToBus": 6, + "R": 0.0025, + "X": 0.025, + "B": 0.04375, + "G": 0, + "TurnsRatio": 1 + +} +, + +{ + + "FromBus": 6, + "ToBus": 7, + "R": 0.001, + "X": 0.01, + "B": 0.0175, + "G": 0, + "TurnsRatio": 1 + +} +, + +{ + + "FromBus": 7, + "ToBus": 8, + "R": 0.011, + "X": 0.11, + "B": 0.1925, + "G": 0, + "TurnsRatio": 1 + +} +, + +{ + + "FromBus": 7, + "ToBus": 8, + "R": 0.011, + "X": 0.11, + "B": 0.1925, + "G": 0, + "TurnsRatio": 1 + +} +, + +{ + + "FromBus": 8, + "ToBus": 9, + "R": 0.011, + "X": 0.11, + "B": 0.1925, + "G": 0, + "TurnsRatio": 1 + +} +, + +{ + + "FromBus": 8, + "ToBus": 9, + "R": 0.011, + "X": 0.11, + "B": 0.1925, + "G": 0, + "TurnsRatio": 1 + +} +, + +{ + + "FromBus": 9, + "ToBus": 10, + "R": 0.001, + "X": 0.01, + "B": 0.0175, + "G": 0, + "TurnsRatio": 1 + +} +, + +{ + + "FromBus": 10, + "ToBus": 11, + "R": 0.0025, + "X": 0.025, + "B": 0.04375, + "G": 0, + "TurnsRatio": 1 + +} + + +] +, + "Apparatus": +[ + + +{ + + "BusNo": 1, + "Type": 30, + "Para": +{ + + "x_d": 1.81, + "x_dd": 0.3, + "x_ddd": 0.23, + "x_q": 1.76, + "x_qd": 0.65, + "x_qdd": 0.25, + "x_l": 0.15, + "R_a": 0.037875, + "T_dd": 1.3201, + "T_ddd": 0.0231, + "T_qd": 0.3371, + "T_qdd": 0.0295, + "H": 0.1028, + "SaturationA": 1, + "SaturationB": 0.103, + "SaturationN": 10.6599, + "D": 0.02056, + "SpeedPara": 20, + "VoltagePara": 200, + "EnableSaturation": 0, + "wb": 376.99111843077515 + +} + + +} +, + +{ + + "BusNo": 2, + "Type": 0, + "Para": +{ + + "J": 13, + "D": 0, + "wL": 0.0025, + "R": 0.2, + "w0": 376.99111843077515 + +} + + +} +, + +{ + + "BusNo": 3, + "Type": 0, + "Para": +{ + + "J": 13.5, + "D": 0, + "wL": 0.0025, + "R": 0.2, + "w0": 376.99111843077515 + +} + + +} +, + +{ + + "BusNo": 4, + "Type": 0, + "Para": +{ + + "J": 13.5, + "D": 0, + "wL": 0.0025, + "R": 0.2, + "w0": 376.99111843077515 + +} + + +} +, + +{ + + "BusNo": 5, + "Type": 100, + "Para": +[ + +] + + +} +, + +{ + + "BusNo": 6, + "Type": 100, + "Para": +[ + +] + + +} +, + +{ + + "BusNo": 7, + "Type": 100, + "Para": +[ + +] + + +} +, + +{ + + "BusNo": 8, + "Type": 100, + "Para": +[ + +] + + +} +, + +{ + + "BusNo": 9, + "Type": 100, + "Para": +[ + +] + + +} +, + +{ + + "BusNo": 10, + "Type": 100, + "Para": +[ + +] + + +} +, + +{ + + "BusNo": 11, + "Type": 100, + "Para": +[ + +] + + +} + + +] + + +} diff --git a/Examples/AcPowerSystem/Kundar_TwoAreaSystem/Kundar_TwoAreaSystem.xlsx b/Examples/AcPowerSystem/Kundar_TwoAreaSystem/Kundar_TwoAreaSystem.xlsx new file mode 100644 index 00000000..046a3996 Binary files /dev/null and b/Examples/AcPowerSystem/Kundar_TwoAreaSystem/Kundar_TwoAreaSystem.xlsx differ diff --git a/Examples/AcPowerSystem/SingleApparatusInfiniteBus/SgDetailedInfiniteBus.json b/Examples/AcPowerSystem/SingleApparatusInfiniteBus/SgDetailedInfiniteBus.json new file mode 100644 index 00000000..66243703 --- /dev/null +++ b/Examples/AcPowerSystem/SingleApparatusInfiniteBus/SgDetailedInfiniteBus.json @@ -0,0 +1,144 @@ + +{ + + "Basic": +{ + + "Fs": 60000, + "Fbase": 60, + "Sbase": 1, + "Vbase": 1 + +} +, + "Advance": +{ + + "DiscretizationMethod": 2, + "LinearizationTimes": 1, + "DiscretizationDampingFlag": 1, + "DirectFeedthrough": 0, + "PowerFlowAlgorithm": 1, + "EnableCreateSimulinkModel": 1, + "EnablePlotPole": 1, + "EnablePlotAdmittance": 0, + "EnablePrintOutput": 1 + +} +, + "Bus": +[ + + +{ + + "BusNo": 1, + "BusType": 1, + "Voltage": 0.995, + "Theta": 0, + "PGi": 0, + "QGi": 0, + "PLi": 0, + "QLi": 0, + "Qmin": -1, + "Qmax": 1, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 2, + "BusType": 3, + "Voltage": 1, + "Theta": 0, + "PGi": 0.9, + "QGi": 0.3, + "PLi": 0, + "QLi": 0, + "Qmin": -1, + "Qmax": 1, + "AreaNo": 1, + "AcDc": 1 + +} + + +] +, + "NetworkLine": +{ + + "FromBus": 1, + "ToBus": 2, + "R": 0.02, + "wL": 0.65, + "wC": 0, + "G": 0, + "TurnsRatio": 1 + +} +, + "NetworkLineIEEE": +[ + +] +, + "Apparatus": +[ + + +{ + + "BusNo": 1, + "Type": 90, + "Para": +[ + +] + + +} +, + +{ + + "BusNo": 2, + "Type": 30, + "Para": +{ + + "x_d": 1.5, + "x_dd": 0.5, + "x_ddd": 0.32, + "x_q": 1, + "x_qd": 1, + "x_qdd": 0.45, + "x_l": 0.2, + "R_a": 0.02, + "T_dd": 9, + "T_ddd": 0.05, + "T_qd": 2, + "T_qdd": 0.09, + "H": 2.1028, + "SaturationA": 1, + "SaturationB": 0.103, + "SaturationN": 10.659857, + "D": 0.02056, + "SpeedPara": 200, + "K_A": 20, + "EnableSaturation": 0, + "wb": 376.99111843077515 + +} + + +} + + +] + + +} diff --git a/Examples/AcPowerSystem/SingleApparatusInfiniteBus/SgDetailedInfiniteBus.xlsx b/Examples/AcPowerSystem/SingleApparatusInfiniteBus/SgDetailedInfiniteBus.xlsx new file mode 100644 index 00000000..63974208 Binary files /dev/null and b/Examples/AcPowerSystem/SingleApparatusInfiniteBus/SgDetailedInfiniteBus.xlsx differ diff --git a/Examples/AcPowerSystem/WSCC_9Bus/WSCC_9Bus.json b/Examples/AcPowerSystem/WSCC_9Bus/WSCC_9Bus.json index a460a6bf..61accd21 100644 --- a/Examples/AcPowerSystem/WSCC_9Bus/WSCC_9Bus.json +++ b/Examples/AcPowerSystem/WSCC_9Bus/WSCC_9Bus.json @@ -1,172 +1,467 @@ { -"Basic": + + "Basic": { -"Fs":30000,"Fbase":60,"Sbase":1,"Vbase":1 + + "Fs": 30000, + "Fbase": 60, + "Sbase": 1, + "Vbase": 1 + } -,"Advance": +, + "Advance": { -"DiscretizationMethod":2,"LinearizationTimes":1,"DiscretizationDampingFlag":1,"DirectFeedthrough":0,"PowerFlowAlgorithm":2,"EnableCreateSimulinkModel":1,"EnablePlotPole":1,"EnablePlotAdmittance":1,"EnablePrintOutput":1,"EnableParticipation":0 + + "DiscretizationMethod": 2, + "LinearizationTimes": 1, + "DiscretizationDampingFlag": 1, + "DirectFeedthrough": 0, + "PowerFlowAlgorithm": 2, + "EnableCreateSimulinkModel": 1, + "EnablePlotPole": 1, + "EnablePlotAdmittance": 1, + "EnablePrintOutput": 1 + } -,"Bus": +, + "Bus": [ + { -"BusNo":1,"BusType":1,"Voltage":1.04,"Theta":0,"PGi":0,"QGi":0,"PLi":0,"QLi":0,"Qmin":-99,"Qmax":99,"AreaNo":1,"AcDc":1 + + "BusNo": 1, + "BusType": 1, + "Voltage": 1.04, + "Theta": 0, + "PGi": 0, + "QGi": 0, + "PLi": 0, + "QLi": 0, + "Qmin": -99, + "Qmax": 99, + "AreaNo": 1, + "AcDc": 1 + } , + { -"BusNo":2,"BusType":2,"Voltage":1.025,"Theta":0,"PGi":1.63,"QGi":0,"PLi":0,"QLi":0,"Qmin":-99,"Qmax":99,"AreaNo":1,"AcDc":1 + + "BusNo": 2, + "BusType": 2, + "Voltage": 1.025, + "Theta": 0, + "PGi": 1.63, + "QGi": 0, + "PLi": 0, + "QLi": 0, + "Qmin": -99, + "Qmax": 99, + "AreaNo": 1, + "AcDc": 1 + } , + { -"BusNo":3,"BusType":2,"Voltage":1.025,"Theta":0,"PGi":0.85,"QGi":0,"PLi":0,"QLi":0,"Qmin":-99,"Qmax":99,"AreaNo":1,"AcDc":1 + + "BusNo": 3, + "BusType": 2, + "Voltage": 1.025, + "Theta": 0, + "PGi": 0.85, + "QGi": 0, + "PLi": 0, + "QLi": 0, + "Qmin": -99, + "Qmax": 99, + "AreaNo": 1, + "AcDc": 1 + } , + { -"BusNo":4,"BusType":3,"Voltage":1,"Theta":0,"PGi":0,"QGi":0,"PLi":0,"QLi":0,"Qmin":0,"Qmax":0,"AreaNo":1,"AcDc":1 + + "BusNo": 4, + "BusType": 3, + "Voltage": 1, + "Theta": 0, + "PGi": 0, + "QGi": 0, + "PLi": 0, + "QLi": 0, + "Qmin": 0, + "Qmax": 0, + "AreaNo": 1, + "AcDc": 1 + } , + { -"BusNo":5,"BusType":3,"Voltage":1,"Theta":0,"PGi":0,"QGi":0,"PLi":1.25,"QLi":0.5,"Qmin":0,"Qmax":0,"AreaNo":1,"AcDc":1 + + "BusNo": 5, + "BusType": 3, + "Voltage": 1, + "Theta": 0, + "PGi": 0, + "QGi": 0, + "PLi": 1.25, + "QLi": 0.5, + "Qmin": 0, + "Qmax": 0, + "AreaNo": 1, + "AcDc": 1 + } , + { -"BusNo":6,"BusType":3,"Voltage":1,"Theta":0,"PGi":0,"QGi":0,"PLi":0.9,"QLi":0.3,"Qmin":0,"Qmax":0,"AreaNo":1,"AcDc":1 + + "BusNo": 6, + "BusType": 3, + "Voltage": 1, + "Theta": 0, + "PGi": 0, + "QGi": 0, + "PLi": 0.9, + "QLi": 0.3, + "Qmin": 0, + "Qmax": 0, + "AreaNo": 1, + "AcDc": 1 + } , + { -"BusNo":7,"BusType":3,"Voltage":1,"Theta":0,"PGi":0,"QGi":0,"PLi":0,"QLi":0,"Qmin":0,"Qmax":0,"AreaNo":1,"AcDc":1 + + "BusNo": 7, + "BusType": 3, + "Voltage": 1, + "Theta": 0, + "PGi": 0, + "QGi": 0, + "PLi": 0, + "QLi": 0, + "Qmin": 0, + "Qmax": 0, + "AreaNo": 1, + "AcDc": 1 + } , + { -"BusNo":8,"BusType":3,"Voltage":1,"Theta":0,"PGi":0,"QGi":0,"PLi":1,"QLi":0.35,"Qmin":0,"Qmax":0,"AreaNo":1,"AcDc":1 + + "BusNo": 8, + "BusType": 3, + "Voltage": 1, + "Theta": 0, + "PGi": 0, + "QGi": 0, + "PLi": 1, + "QLi": 0.35, + "Qmin": 0, + "Qmax": 0, + "AreaNo": 1, + "AcDc": 1 + } , + { -"BusNo":9,"BusType":3,"Voltage":1,"Theta":0,"PGi":0,"QGi":0,"PLi":0,"QLi":0,"Qmin":0,"Qmax":0,"AreaNo":1,"AcDc":1 + + "BusNo": 9, + "BusType": 3, + "Voltage": 1, + "Theta": 0, + "PGi": 0, + "QGi": 0, + "PLi": 0, + "QLi": 0, + "Qmin": 0, + "Qmax": 0, + "AreaNo": 1, + "AcDc": 1 + } + ] -,"NetworkLine": +, + "NetworkLine": [ ] -,"NetworkLineIEEE": +, + "NetworkLineIEEE": [ + { -"FromBus":9,"ToBus":8,"R":0.0119,"X":0.1008,"B":0.209,"G":0,"TurnsRatio":1 + + "FromBus": 9, + "ToBus": 8, + "R": 0.0119, + "X": 0.1008, + "B": 0.209, + "G": 0, + "TurnsRatio": 1 + } , + { -"FromBus":7,"ToBus":8,"R":0.0085,"X":0.072,"B":0.149,"G":0,"TurnsRatio":1 + + "FromBus": 7, + "ToBus": 8, + "R": 0.0085, + "X": 0.072, + "B": 0.149, + "G": 0, + "TurnsRatio": 1 + } , + { -"FromBus":9,"ToBus":6,"R":0.039,"X":0.17,"B":0.358,"G":0,"TurnsRatio":1 + + "FromBus": 9, + "ToBus": 6, + "R": 0.039, + "X": 0.17, + "B": 0.358, + "G": 0, + "TurnsRatio": 1 + } , + { -"FromBus":7,"ToBus":5,"R":0.032,"X":0.161,"B":0.306,"G":0,"TurnsRatio":1 + + "FromBus": 7, + "ToBus": 5, + "R": 0.032, + "X": 0.161, + "B": 0.306, + "G": 0, + "TurnsRatio": 1 + } , + { -"FromBus":5,"ToBus":4,"R":0.01,"X":0.085,"B":0.176,"G":0,"TurnsRatio":1 + + "FromBus": 5, + "ToBus": 4, + "R": 0.01, + "X": 0.085, + "B": 0.176, + "G": 0, + "TurnsRatio": 1 + } , + { -"FromBus":6,"ToBus":4,"R":0.017,"X":0.092,"B":0.158,"G":0,"TurnsRatio":1 + + "FromBus": 6, + "ToBus": 4, + "R": 0.017, + "X": 0.092, + "B": 0.158, + "G": 0, + "TurnsRatio": 1 + } , + { -"FromBus":2,"ToBus":7,"R":0,"X":0.0625,"B":0,"G":0,"TurnsRatio":1 + + "FromBus": 2, + "ToBus": 7, + "R": 0, + "X": 0.0625, + "B": 0, + "G": 0, + "TurnsRatio": 1 + } , + { -"FromBus":3,"ToBus":9,"R":0,"X":0.0586,"B":0,"G":0,"TurnsRatio":1 + + "FromBus": 3, + "ToBus": 9, + "R": 0, + "X": 0.0586, + "B": 0, + "G": 0, + "TurnsRatio": 1 + } , + { -"FromBus":1,"ToBus":4,"R":0,"X":0.0576,"B":0,"G":0,"TurnsRatio":1 + + "FromBus": 1, + "ToBus": 4, + "R": 0, + "X": 0.0576, + "B": 0, + "G": 0, + "TurnsRatio": 1 + } + ] -,"Apparatus": +, + "Apparatus": [ + { -"BusNo":1,"Type":0,"Para": + + "BusNo": 1, + "Type": 0, + "Para": { -"J":23.64,"D":5.91,"wL":0.0001,"R":0.0001,"w0":376.99111843077515 + + "J": 23.64, + "D": 5.91, + "wL": 0.0001, + "R": 0.0001, + "w0": 376.99111843077515 + } + } , + { -"BusNo":2,"Type":0,"Para": + + "BusNo": 2, + "Type": 0, + "Para": { -"J":6.4,"D":1.6,"wL":0.0001,"R":0.0001,"w0":376.99111843077515 + + "J": 6.4, + "D": 1.6, + "wL": 0.0001, + "R": 0.0001, + "w0": 376.99111843077515 + } + } , + { -"BusNo":3,"Type":0,"Para": + + "BusNo": 3, + "Type": 0, + "Para": { -"J":3.01,"D":0.7525,"wL":0.0001,"R":0.0001,"w0":376.99111843077515 + + "J": 3.01, + "D": 0.7525, + "wL": 0.0001, + "R": 0.0001, + "w0": 376.99111843077515 + } + } , + { -"BusNo":4,"Type":100,"Para": + + "BusNo": 4, + "Type": 100, + "Para": [ ] + } , + { -"BusNo":5,"Type":100,"Para": + + "BusNo": 5, + "Type": 100, + "Para": [ ] + } , + { -"BusNo":6,"Type":100,"Para": + + "BusNo": 6, + "Type": 100, + "Para": [ ] + } , + { -"BusNo":7,"Type":100,"Para": + + "BusNo": 7, + "Type": 100, + "Para": [ ] + } , + { -"BusNo":8,"Type":100,"Para": + + "BusNo": 8, + "Type": 100, + "Para": [ ] + } , + { -"BusNo":9,"Type":100,"Para": + + "BusNo": 9, + "Type": 100, + "Para": [ ] + } + ] + } diff --git a/Examples/AcPowerSystem/WSCC_9BusFullOrder/README.md b/Examples/AcPowerSystem/WSCC_9BusFullOrder/README.md new file mode 100644 index 00000000..b9741dd0 --- /dev/null +++ b/Examples/AcPowerSystem/WSCC_9BusFullOrder/README.md @@ -0,0 +1,15 @@ +# WSCC_9Bus + +The test model is (an approximation of) the Western System Coordinating Council (WSCC) 3-machine, 9-bus system. + +This system, while small, is large enough to be nontrivial and thus permits the illustration of a number of stability concepts and results [2]. + +Information for this system is available thourgh multiple resources or their previous versions. + +## References + +[1] “Power System Dynamic Analysis-Phase I,” EPRI Report EL-484, Electric Power Research Institute, July 1977. + +[2] P. M. Anderson and A. A. Fouad, Power system control and stability. John Wiley & Sons, 2008. + +[3] P. W. Sauer, M. A. Pai, and J. H. Chow, Power system dynamics and stability: with synchrophasor measurement and power system toolbox. John Wiley & Sons, 2017. \ No newline at end of file diff --git a/Examples/AcPowerSystem/WSCC_9BusFullOrder/WSCC_9BusFullOrder.json b/Examples/AcPowerSystem/WSCC_9BusFullOrder/WSCC_9BusFullOrder.json new file mode 100644 index 00000000..f9355b66 --- /dev/null +++ b/Examples/AcPowerSystem/WSCC_9BusFullOrder/WSCC_9BusFullOrder.json @@ -0,0 +1,515 @@ + +{ + + "Basic": +{ + + "Fs": 30000, + "Fbase": 60, + "Sbase": 1, + "Vbase": 1 + +} +, + "Advance": +{ + + "DiscretizationMethod": 2, + "LinearizationTimes": 1, + "DiscretizationDampingFlag": 1, + "DirectFeedthrough": 0, + "PowerFlowAlgorithm": 2, + "EnableCreateSimulinkModel": 1, + "EnablePlotPole": 1, + "EnablePlotAdmittance": 1, + "EnablePrintOutput": 1 + +} +, + "Bus": +[ + + +{ + + "BusNo": 1, + "BusType": 1, + "Voltage": 1.04, + "Theta": 0, + "PGi": 0, + "QGi": 0, + "PLi": 0, + "QLi": 0, + "Qmin": -99, + "Qmax": 99, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 2, + "BusType": 2, + "Voltage": 1.025, + "Theta": 0, + "PGi": 1.63, + "QGi": 0, + "PLi": 0, + "QLi": 0, + "Qmin": -99, + "Qmax": 99, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 3, + "BusType": 2, + "Voltage": 1.025, + "Theta": 0, + "PGi": 0.85, + "QGi": 0, + "PLi": 0, + "QLi": 0, + "Qmin": -99, + "Qmax": 99, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 4, + "BusType": 3, + "Voltage": 1, + "Theta": 0, + "PGi": 0, + "QGi": 0, + "PLi": 0, + "QLi": 0, + "Qmin": 0, + "Qmax": 0, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 5, + "BusType": 3, + "Voltage": 1, + "Theta": 0, + "PGi": 0, + "QGi": 0, + "PLi": 1.25, + "QLi": 0.5, + "Qmin": 0, + "Qmax": 0, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 6, + "BusType": 3, + "Voltage": 1, + "Theta": 0, + "PGi": 0, + "QGi": 0, + "PLi": 0.9, + "QLi": 0.3, + "Qmin": 0, + "Qmax": 0, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 7, + "BusType": 3, + "Voltage": 1, + "Theta": 0, + "PGi": 0, + "QGi": 0, + "PLi": 0, + "QLi": 0, + "Qmin": 0, + "Qmax": 0, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 8, + "BusType": 3, + "Voltage": 1, + "Theta": 0, + "PGi": 0, + "QGi": 0, + "PLi": 1, + "QLi": 0.35, + "Qmin": 0, + "Qmax": 0, + "AreaNo": 1, + "AcDc": 1 + +} +, + +{ + + "BusNo": 9, + "BusType": 3, + "Voltage": 1, + "Theta": 0, + "PGi": 0, + "QGi": 0, + "PLi": 0, + "QLi": 0, + "Qmin": 0, + "Qmax": 0, + "AreaNo": 1, + "AcDc": 1 + +} + + +] +, + "NetworkLine": +[ + +] +, + "NetworkLineIEEE": +[ + + +{ + + "FromBus": 9, + "ToBus": 8, + "R": 0.0119, + "X": 0.1008, + "B": 0.209, + "G": 0, + "TurnsRatio": 1 + +} +, + +{ + + "FromBus": 7, + "ToBus": 8, + "R": 0.0085, + "X": 0.072, + "B": 0.149, + "G": 0, + "TurnsRatio": 1 + +} +, + +{ + + "FromBus": 9, + "ToBus": 6, + "R": 0.039, + "X": 0.17, + "B": 0.358, + "G": 0, + "TurnsRatio": 1 + +} +, + +{ + + "FromBus": 7, + "ToBus": 5, + "R": 0.032, + "X": 0.161, + "B": 0.306, + "G": 0, + "TurnsRatio": 1 + +} +, + +{ + + "FromBus": 5, + "ToBus": 4, + "R": 0.01, + "X": 0.085, + "B": 0.176, + "G": 0, + "TurnsRatio": 1 + +} +, + +{ + + "FromBus": 6, + "ToBus": 4, + "R": 0.017, + "X": 0.092, + "B": 0.158, + "G": 0, + "TurnsRatio": 1 + +} +, + +{ + + "FromBus": 2, + "ToBus": 7, + "R": 0, + "X": 0.0625, + "B": 0, + "G": 0, + "TurnsRatio": 1 + +} +, + +{ + + "FromBus": 3, + "ToBus": 9, + "R": 0, + "X": 0.0586, + "B": 0, + "G": 0, + "TurnsRatio": 1 + +} +, + +{ + + "FromBus": 1, + "ToBus": 4, + "R": 0, + "X": 0.0576, + "B": 0, + "G": 0, + "TurnsRatio": 1 + +} + + +] +, + "Apparatus": +[ + + +{ + + "BusNo": 1, + "Type": 30, + "Para": +{ + + "x_d": 0.3614, + "x_dd": 0.1505, + "x_ddd": 0.14, + "x_q": 0.2328, + "x_qd": 0.2258, + "x_qdd": 0.1158, + "x_l": 0.0832, + "R_a": 0.02, + "T_dd": 9, + "T_ddd": 0.05, + "T_qd": 0.6, + "T_qdd": 0.03, + "H": 9.56, + "SaturationA": 1, + "SaturationB": 0.103, + "SaturationN": 10.659857, + "D": 0.02056, + "SpeedPara": 200, + "K_A": 20, + "EnableSaturation": 0, + "wb": 376.99111843077515 + +} + + +} +, + +{ + + "BusNo": 2, + "Type": 30, + "Para": +{ + + "x_d": 1.5, + "x_dd": 0.5, + "x_ddd": 0.32, + "x_q": 1, + "x_qd": 1, + "x_qdd": 0.45, + "x_l": 0.2, + "R_a": 0.02, + "T_dd": 6, + "T_ddd": 0.05, + "T_qd": 0.535, + "T_qdd": 0.09, + "H": 3.92, + "SaturationA": 1, + "SaturationB": 0.103, + "SaturationN": 10.659857, + "D": 0.02056, + "SpeedPara": 200, + "K_A": 20, + "EnableSaturation": 0, + "wb": 376.99111843077515 + +} + + +} +, + +{ + + "BusNo": 3, + "Type": 30, + "Para": +{ + + "x_d": 1.5, + "x_dd": 0.5, + "x_ddd": 0.32, + "x_q": 1, + "x_qd": 1, + "x_qdd": 0.45, + "x_l": 0.2, + "R_a": 0.02, + "T_dd": 5.89, + "T_ddd": 0.05, + "T_qd": 0.6, + "T_qdd": 0.02, + "H": 2.76, + "SaturationA": 1, + "SaturationB": 0.103, + "SaturationN": 10.659857, + "D": 0.02056, + "SpeedPara": 200, + "K_A": 20, + "EnableSaturation": 0, + "wb": 376.99111843077515 + +} + + +} +, + +{ + + "BusNo": 4, + "Type": 100, + "Para": +[ + +] + + +} +, + +{ + + "BusNo": 5, + "Type": 100, + "Para": +[ + +] + + +} +, + +{ + + "BusNo": 6, + "Type": 100, + "Para": +[ + +] + + +} +, + +{ + + "BusNo": 7, + "Type": 100, + "Para": +[ + +] + + +} +, + +{ + + "BusNo": 8, + "Type": 100, + "Para": +[ + +] + + +} +, + +{ + + "BusNo": 9, + "Type": 100, + "Para": +[ + +] + + +} + + +] + + +} diff --git a/Examples/AcPowerSystem/WSCC_9BusFullOrder/WSCC_9BusFullOrder.xlsx b/Examples/AcPowerSystem/WSCC_9BusFullOrder/WSCC_9BusFullOrder.xlsx new file mode 100644 index 00000000..22084991 Binary files /dev/null and b/Examples/AcPowerSystem/WSCC_9BusFullOrder/WSCC_9BusFullOrder.xlsx differ diff --git a/Examples/AcPowerSystem/WSCC_9BusFullOrder/WSCC_9Bus_Layout_PeterSauer.PNG b/Examples/AcPowerSystem/WSCC_9BusFullOrder/WSCC_9Bus_Layout_PeterSauer.PNG new file mode 100644 index 00000000..6e0fe6cb Binary files /dev/null and b/Examples/AcPowerSystem/WSCC_9BusFullOrder/WSCC_9Bus_Layout_PeterSauer.PNG differ diff --git a/Library/SimplusGT_2020a.slx b/Library/SimplusGT_2020a.slx index 508632eb..5cf34110 100644 Binary files a/Library/SimplusGT_2020a.slx and b/Library/SimplusGT_2020a.slx differ diff --git a/UserMain.m b/UserMain.m index e8710a48..3fc81379 100644 --- a/UserMain.m +++ b/UserMain.m @@ -14,11 +14,17 @@ % Example power systems in "Examples" folder: % % Ac power system examples: +% UserDataName = 'SgDetailedInfiniteBus'; % Single detailed synchronous generator and infinite bus % UserDataName = 'SgInfiniteBus'; % Single synchronous generator and infinite bus % UserDataName = 'GflInverterInfiniteBus'; % Single grid-following inverter and infinite bus % UserDataName = 'GfmInverterInfiniteBus'; % Single grid-forming inverter and infinite bus +% UserDataName = 'Kundar_TwoAreaSystem'; +% UserDataName = 'WSCC_9Bus'; +% UserDataName = 'WSCC_9BusFullOrder'; % UserDataName = 'IEEE_14Bus'; +% UserDataName = 'IEEE_14BusFullOrder'; % UserDataName = 'IEEE_30Bus'; +% UserDataName = 'IEEE_39BusFullOrder'; % UserDataName = 'IEEE_57Bus'; % UserDataName = 'AU14Gen_59Bus'; % UserDataName = 'NETS_NYPS_68Bus';