Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
name,base_power_MVA,base_voltage_kV,base_frequency_Hz,minimum_voltage_pu,maximum_voltage_pu
lima,1.00E+02,2.30E+02,60,1,1
santiago,1.00E+02,2.30E+02,60,0.95,1.3
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
name,bus,minimum_active_power_MW,maximum_active_power_MW,minimum_reactive_power_MVAR,maximum_reactive_power_MVAR,base_power_MVA,base_voltage_kV,base_frequency_Hz,cost_variable_USDperMWh,rf1_pu,xf1_pu,rsh_pu,csh_pu,txr_power_MVA,txr_voltage1_kV,txr_voltage2_kV,txr_r1_pu,txr_x1_pu,txr_r2_pu,txr_x2_pu,beta,kp_pll_pu,ki_pll_puHz,kp_cc_pu,ki_cc_puHz,v_dc_ref,c_dc,kp_oc_pu,ki_oc_puHz,Tload,r_dc
solar,santiago,-80,-80,0,0,1.00E+02,4.80E-01,60,10,0.001,0.05,1,0.1,1.00E+02,4.80E-01,2.30E+02,0.002,0.05,0.002,0.05,0.75,100,2500,0.45,6,1,20,2,10,0.001,10
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
name,bus,minimum_active_power_MW,maximum_active_power_MW,minimum_reactive_power_MVAR,maximum_reactive_power_MVAR,base_power_MVA,base_voltage_kV,base_frequency_Hz,cost_variable_USDperMWh,r_pu,x_pu
gen1,lima,-200,200,-500,500,1.00E+02,2.30E+02,60,0,0.001,0.02
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
name,from_bus,to_bus,base_power_MVA,base_voltage_kV,base_frequency_Hz,r_pu,x_pu,g_pu,b_pu
tx_1,lima,santiago,1.00E+02,2.30E+02,60,0.001,0.05,0.05,0.006666667
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
bus,timepoint,load_MW,load_MVAR
lima,t_1,0,0
santiago,t_1,0,0
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
name
t_1
38 changes: 38 additions & 0 deletions examples/small_signal_and_emt/2-bus-src-gfli_e/run.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
"""
Simulates an infinite source and GFLI_e connected via a transmission line.

"""
# Import Python standard and third-party packages
from pathlib import Path

# Import sting package
from sting import main

# Step-change input to applied to the system
def step1(t):
return 0.3 if t >= 0.1 else 0.0

def step2(t):
return 0.0

inputs = {
'infinite_sources_0': {
'v_ref_d': step1
},
'gfli_e_0': {
'i_load_ref': step2
}
}

t_max = 2.0 # Simulation length (in seconds)

# Specify path of the case study directory
case_dir = Path(__file__).resolve().parent

# Construct system and small-signal model
_, ssm = main.run_ssm(case_directory=case_dir)
ssm.simulate_ssm(t_max=t_max, inputs=inputs)
# Run EMT simulation
main.run_emt(case_directory=case_dir, inputs=inputs, t_max=t_max)

print('\nok')
202 changes: 202 additions & 0 deletions examples/small_signal_and_emt/2-bus-src-gfmi_e/emt_analysis.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,202 @@
"""

Analysis of EMT response of GFMI_E v INF bus system to a grid disturbance under different P/Q and different Pref/Pload relationships

In progress - April 3 (Ruth)

"""

# Import Python standard and third-party packages
from pathlib import Path
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt

# Import sting package
from sting.system.core import System
from sting.system.operations import SystemModifier
from sting.modules.power_flow.core import ACPowerFlow
from sting.modules.simulation_emt.core import SimulationEMT
from sting.modules.small_signal_modeling.core import SmallSignalModel

# Specify path of the case study directory
case_dir = Path(__file__).resolve().parent

# Construct system and small-signal model
def step1(t):
return 0.3 if t >= 0.5 else 0.0

def step2(t):
return 0.0

def step3(t):
return 0.1 if t > 1.0 else 0.0

inputs = {'infinite_sources_0': {'v_ref_d': step1},
'gfmi_e_0': {'p_ref': step2,
'q_ref': step2,
'v_ref': step2,
'v_dc_ref': step2,
'v_s': step2,
'i_load_ref': step2}}

t_max = 2.0

# Load system from CSV files
sys = System.from_csv(case_directory=case_dir)

n = 3
Prange = np.linspace(100,0,n)
Qrange = np.linspace(-50,50,n)

Sbase = 100 # MVA
vdc_ref = 1.05 # pu

tps = np.linspace(0, t_max, 500)
dt = tps[1] - tps[0]

def run_sim(sys, P, Q, Sbase, vdc_ref, factor):
sys.gfmi_e[0].minimum_active_power_MW = -P*factor
sys.gfmi_e[0].maximum_active_power_MW = -P*factor
sys.gfmi_e[0].minimum_reactive_power_MVAR = Q
sys.gfmi_e[0].maximum_reactive_power_MVAR = Q
sys.gfmi_e[0].i_load_ref = P/Sbase/vdc_ref

# Run power flow
pf = ACPowerFlow(system=sys, model_settings=None, solver_settings=None)
pf.solve()

# Break down lines into branches and shunts for small-signal modeling
sys_modifier = SystemModifier(system=sys)
sys_modifier.decompose_lines()
sys_modifier.combine_shunts()

# Construct small-signal model
ssm = SmallSignalModel(system=sys)
ssm.construct_system_ssm()

emt_sc = SimulationEMT(system=sys)
emt_sc.sim(t_max, inputs)
return emt_sc


# Case 1: Pref = Pload
results_rocof = np.zeros([Prange.shape[0],Qrange.shape[0]])
results_nadir = np.zeros([Prange.shape[0],Qrange.shape[0]])

i = 0
for P in Prange:
j = 0
for Q in Qrange:
emt_sc = run_sim(sys, P, Q, Sbase, vdc_ref, 1.0)

# Measure some performance metrics - frequency ROCOF and nadir and steady state error ?
gfm = emt_sc.system.gfmi_e[0].variables_emt.x.value
w_pc = gfm[1,:]
# nadir
nadir = np.min(w_pc)
results_nadir[i,j] = nadir
# rocof - calculate as a moving average of duration 100ms (~25 timesteps for us)
df_dt = np.abs(np.diff(w_pc)/dt) # calculate raw rocof
df_dt_ma = np.convolve(df_dt,np.ones(25)/25) # get moving averages over 25 time steps (~100ms)
rocof = np.max(df_dt_ma)

results_rocof[i,j] = rocof
j += 1
i += 1

# Plot results
fig, axes = plt.subplots(nrows=2,ncols=3, figsize=(30,15))

sns.heatmap(results_nadir, xticklabels=Qrange, yticklabels=Prange, linewidth=0.5, ax=axes[0,1], cbar=True, cbar_kws = {'label': 'nadir'})
axes[0,1].set_xlabel("Q_sh")
axes[0,1].set_ylabel("P_load")
axes[0,1].set_title("Pref = Pload")

sns.heatmap(results_rocof, xticklabels=Qrange, yticklabels=Prange, linewidth=0.5, ax=axes[1,1], cbar=True, cbar_kws = {'label': 'rocof'})
axes[1,1].set_xlabel("Q_sh")
axes[1,1].set_ylabel("P_load")
axes[1,1].set_title("Pref = Pload")


# Case 2: Pref < Pload (Pref=0.8*Pload)

results_rocof = np.zeros([Prange.shape[0],Qrange.shape[0]])
results_nadir = np.zeros([Prange.shape[0],Qrange.shape[0]])

i = 0
for P in Prange:
j = 0
for Q in Qrange:
emt_sc = run_sim(sys, P, Q, Sbase, vdc_ref, 0.8)

# Measure some performance metrics - frequency ROCOF and nadir and steady state error ?
gfm = emt_sc.system.gfmi_e[0].variables_emt.x.value
w_pc = gfm[1,:]
# nadir
nadir = np.min(w_pc)
results_nadir[i,j] = nadir
# rocof - calculate as a moving average of duration 100ms (~25 timesteps for us)
df_dt = np.abs(np.diff(w_pc)/dt) # calculate raw rocof
df_dt_ma = np.convolve(df_dt,np.ones(25)/25) # get moving averages over 25 time steps (~100ms)
rocof = np.max(df_dt_ma)

results_rocof[i,j] = rocof
j += 1
i += 1

# Plot results

sns.heatmap(results_nadir, xticklabels=Qrange, yticklabels=Prange, linewidth=0.5, ax=axes[0,0], cbar=True, cbar_kws = {'label': 'nadir'})
axes[0,0].set_xlabel("Q_sh")
axes[0,0].set_ylabel("P_load")
axes[0,0].set_title("Pref = 0.8*Pload")

sns.heatmap(results_rocof, xticklabels=Qrange, yticklabels=Prange, linewidth=0.5, ax=axes[1,0], cbar=True, cbar_kws = {'label': 'rocof'})
axes[1,0].set_xlabel("Q_sh")
axes[1,0].set_ylabel("P_load")
axes[1,0].set_title("Pref = 0.8*Pload")


# Case 3: Pref > Pload (Pref=1.2*Pload)

results_rocof = np.zeros([Prange.shape[0],Qrange.shape[0]])
results_nadir = np.zeros([Prange.shape[0],Qrange.shape[0]])

i = 0
for P in Prange:
j = 0
for Q in Qrange:
emt_sc = run_sim(sys, P, Q, Sbase, vdc_ref, 1.2)

# Measure some performance metrics - frequency ROCOF and nadir and steady state error ?
gfm = emt_sc.system.gfmi_e[0].variables_emt.x.value
w_pc = gfm[1,:]
# nadir
nadir = np.min(w_pc)
results_nadir[i,j] = nadir
# rocof - calculate as a moving average of duration 100ms (~25 timesteps for us)
df_dt = np.abs(np.diff(w_pc)/dt) # calculate raw rocof
df_dt_ma = np.convolve(df_dt,np.ones(25)/25) # get moving averages over 25 time steps (~100ms)
rocof = np.max(df_dt_ma)

results_rocof[i,j] = rocof
j += 1
i += 1

# Plot results

sns.heatmap(results_nadir, xticklabels=Qrange, yticklabels=Prange, linewidth=0.5, ax=axes[0,2], cbar=True, cbar_kws = {'label': 'nadir'})
axes[0,2].set_xlabel("Q_sh")
axes[0,2].set_ylabel("P_load")
axes[0,2].set_title("Pref = 1.2*Pload")

sns.heatmap(results_rocof, xticklabels=Qrange, yticklabels=Prange, linewidth=0.5, ax=axes[1,2], cbar=True, cbar_kws = {'label': 'rocof'})
axes[1,2].set_xlabel("Q_sh")
axes[1,2].set_ylabel("P_load")
axes[1,2].set_title("Pref = 1.2*Pload")

plt.show()
plt.savefig(str(case_dir)+"/emt_heatmaps.png")

print('ok')
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
name,bus,minimum_active_power_MW,maximum_active_power_MW,minimum_reactive_power_MVAR,maximum_reactive_power_MVAR,base_power_MVA,base_voltage_kV,base_frequency_Hz,cost_variable_USDperMWh,rf1_pu,xf1_pu,rsh_pu,csh_pu,txr_power_MVA,txr_voltage1_kV,txr_voltage2_kV,txr_r1_pu,txr_x1_pu,txr_r2_pu,txr_x2_pu,h_s,kd_pu,droop_q_pu,tau_pc_s,kp_vc_pu,ki_vc_puHz,kp_v_dc,ki_v_dc,kp_i_L,ki_i_L,l_dc,c_dc,v_dc_ref,v_s,Ti_L,Tv_dc,Ti_dc,Kff_idc,Kff_iload,Ti_load,Tload,i_load_ref
solar,santiago,-10,-10,0,0,1.00E+02,4.80E-01,60,0,0.01,0.1,10000,0.1,1.00E+02,4.80E-01,2.30E+02,0.01,0.1,0.02,0.1,0.5,70,0.01,0.001,1,10,1.2,20,1,10,1,20,1.0,0.5,0.01,0.01,0.01,1,1,0.01,0.001,0.1
name,bus,minimum_active_power_MW,maximum_active_power_MW,minimum_reactive_power_MVAR,maximum_reactive_power_MVAR,base_power_MVA,base_voltage_kV,base_frequency_Hz,cost_variable_USDperMWh,rf1_pu,xf1_pu,rsh_pu,csh_pu,txr_power_MVA,txr_voltage1_kV,txr_voltage2_kV,txr_r1_pu,txr_x1_pu,txr_r2_pu,txr_x2_pu,h_s,kd_pu,droop_q_pu,tau_pc_s,kp_vc_pu,ki_vc_puHz,kp_v_dc,ki_v_dc,kp_i_L,ki_i_L,l_dc,c_dc,v_dc_ref,v_s,Ti_L,Tv_dc,Ti_dc,Kff_idc,Kff_iload,Ti_load,Tload,i_load_ref,Pbat_max_pu,SOC_max_pu,SOC_init_pu
solar,santiago,-50,-50,-10,10,1.00E+02,4.80E-01,60,0,0.02,0.1,10,1,1.00E+02,4.80E-01,2.30E+02,0.01,0.1,0.02,0.1,0.5,70,0.01,0.001,1,10,1.2,20,1,10,0.1,20,1.05,0.5,0.01,0.01,0.01,1,1,0.01,0.001,0.3,1.5,0.25,0.125
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
bus,timepoint,generator_dispatch_MW,load_shedding_MW,load_MW,net_line_leaving_flow_MW
lima,timepoint_1,20.024029596964457,-9.99090909090909e-9,0.0,20.024029586973448
santiago,timepoint_1,-10.0,-9.990909090909092e-9,0.0,-10.000000009990726
lima,timepoint_1,60.31569213226618,-9.974940964403198e-9,0.0,60.31569212229119
santiago,timepoint_1,-50.0,-9.974940964403193e-9,0.0,-50.00000000997488
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
id,bus,timepoint,voltage_magnitude_pu,voltage_angle_deg
0,lima,timepoint_1,0.9850307325446462,0.0
1,santiago,timepoint_1,1.0144691438583457,-4.385666517431731
0,lima,timepoint_1,1.0039676883731015,0.0
1,santiago,timepoint_1,0.9966223958255749,-15.986449720491722
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
component,cost
total_cost_USD,-0.00003996363636363637
total_cost_USD,-0.00003989976385761279
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
id,type,generator,timepoint,active_power_MW,reactive_power_MVAR
0,infinite_sources,gen1,timepoint_1,20.024029596964457,-11.986372758049026
0,gfmi_e,solar,timepoint_1,-10.0,0.0
0,infinite_sources,gen1,timepoint_1,60.31569213226618,1.388783529105015
0,gfmi_e,solar,timepoint_1,-50.0,0.7526101226466527
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
line,from_bus,to_bus,existing_capacity_MW,active_power_from_bus_MW,reactive_power_from_bus_MVAR,active_power_to_bus_MW,reactive_power_to_bus_MVAR,active_power_loss_MW,reactive_power_loss_MVAR
tx_1,lima,santiago,inf,20.02402958697347,-11.986372768040068,-10.000000009990744,-9.99095410228382e-9,10.024029576982725,-11.986372778031022
tx_1,lima,santiago,inf,60.31569212229122,1.3887835191300466,-50.00000000997491,0.7526101126717135,10.315692112316306,2.14139363180176
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
bus,timepoint,active_load_shedding_MW,reactive_load_shedding_MVAR
lima,timepoint_1,-9.99090909090909e-9,-9.99090909090909e-9
santiago,timepoint_1,-9.990909090909092e-9,-9.990909090909097e-9
lima,timepoint_1,-9.974940964403198e-9,-9.9749409644032e-9
santiago,timepoint_1,-9.974940964403193e-9,-9.97494096440319e-9
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
bus,timepoint,generator_dispatch_MVAR,load_shedding_MVAR,load_MVAR,net_line_leaving_flow_MVAR
lima,timepoint_1,-11.986372758049026,-9.99090909090909e-9,0.0,-11.986372768040068
santiago,timepoint_1,0.0,-9.990909090909097e-9,0.0,-9.990909050803768e-9
lima,timepoint_1,1.388783529105015,-9.9749409644032e-9,0.0,1.3887835191300466
santiago,timepoint_1,0.7526101226466527,-9.97494096440319e-9,0.0,0.7526101126717357
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@ attribute,value
solver_name,ipopt
solver_status,ok
termination_condition,optimal
time_spent_seconds,0.9590749740600586
time_spent_seconds,0.06470894813537598
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Index,"('infinite_sources_0', 'i_bus_D')","('infinite_sources_0', 'i_bus_Q')","('gfmi_e_0', 'i_bus_D')","('gfmi_e_0', 'i_bus_Q')","('pa_rc_0', 'v_bus_D')","('pa_rc_0', 'v_bus_Q')","('pa_rc_1', 'v_bus_D')","('pa_rc_1', 'v_bus_Q')","('se_rl_0', 'i_br_D')","('se_rl_0', 'i_br_Q')"
Index,"('infinite_sources_0', 'i_bus_D')","('infinite_sources_0', 'i_bus_Q')","('gfmi_e_0', 'i_bus_D')","('gfmi_e_0', 'i_bus_Q')","('shunt_parallel_rc_0', 'v_bus_D')","('shunt_parallel_rc_0', 'v_bus_Q')","('shunt_parallel_rc_1', 'v_bus_D')","('shunt_parallel_rc_1', 'v_bus_Q')","('branch_series_rl_0', 'i_br_D')","('branch_series_rl_0', 'i_br_Q')"
"('infinite_sources_0', 'v_ref_d')",0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
"('infinite_sources_0', 'v_ref_q')",0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
"('infinite_sources_0', 'v_bus_D')",0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0
Expand All @@ -11,11 +11,11 @@ Index,"('infinite_sources_0', 'i_bus_D')","('infinite_sources_0', 'i_bus_Q')","(
"('gfmi_e_0', 'i_load_ref')",0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
"('gfmi_e_0', 'v_bus_D')",0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0
"('gfmi_e_0', 'v_bus_Q')",0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0
"('pa_rc_0', 'i_bus_D')",1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,-1.0,0.0
"('pa_rc_0', 'i_bus_Q')",0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,-1.0
"('pa_rc_1', 'i_bus_D')",0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0
"('pa_rc_1', 'i_bus_Q')",0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,1.0
"('se_rl_0', 'v_from_bus_D')",0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0
"('se_rl_0', 'v_from_bus_Q')",0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0
"('se_rl_0', 'v_to_bus_D')",0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0
"('se_rl_0', 'v_to_bus_Q')",0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0
"('shunt_parallel_rc_0', 'i_bus_D')",1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,-1.0,0.0
"('shunt_parallel_rc_0', 'i_bus_Q')",0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,-1.0
"('shunt_parallel_rc_1', 'i_bus_D')",0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0
"('shunt_parallel_rc_1', 'i_bus_Q')",0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,1.0
"('branch_series_rl_0', 'v_from_bus_D')",0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0
"('branch_series_rl_0', 'v_from_bus_Q')",0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0
"('branch_series_rl_0', 'v_to_bus_D')",0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0
"('branch_series_rl_0', 'v_to_bus_Q')",0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,11 @@ Index,"('infinite_sources_0', 'v_ref_d')","('infinite_sources_0', 'v_ref_q')","(
"('gfmi_e_0', 'i_load_ref')",0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0
"('gfmi_e_0', 'v_bus_D')",0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
"('gfmi_e_0', 'v_bus_Q')",0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
"('pa_rc_0', 'i_bus_D')",0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
"('pa_rc_0', 'i_bus_Q')",0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
"('pa_rc_1', 'i_bus_D')",0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
"('pa_rc_1', 'i_bus_Q')",0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
"('se_rl_0', 'v_from_bus_D')",0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
"('se_rl_0', 'v_from_bus_Q')",0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
"('se_rl_0', 'v_to_bus_D')",0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
"('se_rl_0', 'v_to_bus_Q')",0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
"('shunt_parallel_rc_0', 'i_bus_D')",0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
"('shunt_parallel_rc_0', 'i_bus_Q')",0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
"('shunt_parallel_rc_1', 'i_bus_D')",0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
"('shunt_parallel_rc_1', 'i_bus_Q')",0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
"('branch_series_rl_0', 'v_from_bus_D')",0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
"('branch_series_rl_0', 'v_from_bus_Q')",0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
"('branch_series_rl_0', 'v_to_bus_D')",0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
"('branch_series_rl_0', 'v_to_bus_Q')",0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
Index,"('infinite_sources_0', 'i_bus_D')","('infinite_sources_0', 'i_bus_Q')","('gfmi_e_0', 'i_bus_D')","('gfmi_e_0', 'i_bus_Q')","('pa_rc_0', 'v_bus_D')","('pa_rc_0', 'v_bus_Q')","('pa_rc_1', 'v_bus_D')","('pa_rc_1', 'v_bus_Q')","('se_rl_0', 'i_br_D')","('se_rl_0', 'i_br_Q')"
Index,"('infinite_sources_0', 'i_bus_D')","('infinite_sources_0', 'i_bus_Q')","('gfmi_e_0', 'i_bus_D')","('gfmi_e_0', 'i_bus_Q')","('shunt_parallel_rc_0', 'v_bus_D')","('shunt_parallel_rc_0', 'v_bus_Q')","('shunt_parallel_rc_1', 'v_bus_D')","('shunt_parallel_rc_1', 'v_bus_Q')","('branch_series_rl_0', 'i_br_D')","('branch_series_rl_0', 'i_br_Q')"
"('infinite_sources_0', 'i_bus_D')",1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
"('infinite_sources_0', 'i_bus_Q')",0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
"('gfmi_e_0', 'i_bus_D')",0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
"('gfmi_e_0', 'i_bus_Q')",0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0
"('pa_rc_0', 'v_bus_D')",0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0
"('pa_rc_0', 'v_bus_Q')",0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0
"('pa_rc_1', 'v_bus_D')",0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0
"('pa_rc_1', 'v_bus_Q')",0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0
"('se_rl_0', 'i_br_D')",0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0
"('se_rl_0', 'i_br_Q')",0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0
"('shunt_parallel_rc_0', 'v_bus_D')",0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0
"('shunt_parallel_rc_0', 'v_bus_Q')",0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0
"('shunt_parallel_rc_1', 'v_bus_D')",0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0
"('shunt_parallel_rc_1', 'v_bus_Q')",0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0
"('branch_series_rl_0', 'i_br_D')",0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0
"('branch_series_rl_0', 'i_br_Q')",0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0
Loading