diff --git a/examples/small_signal_modeling/t3/inputs/buses.csv b/examples/small_signal_modeling/t3/inputs/buses.csv new file mode 100644 index 0000000..ec202fb --- /dev/null +++ b/examples/small_signal_modeling/t3/inputs/buses.csv @@ -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 +chile,1.00E+02,2.30E+02,60,0.95,1.3 \ No newline at end of file diff --git a/examples/small_signal_modeling/t3/inputs/gfmi_e.csv b/examples/small_signal_modeling/t3/inputs/gfmi_e.csv new file mode 100644 index 0000000..ad5a43c --- /dev/null +++ b/examples/small_signal_modeling/t3/inputs/gfmi_e.csv @@ -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,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,Tvdc_load,Pload +solar,chile,100,100,50,50,1.00E+02,4.80E-01,60,0,0.02,0.1,1,0.1,1.00E+02,4.80E-01,2.30E+02,0.01,0.1,0.02,0.1,0.5,70,0,0.001,1,10,1,10,1,10,1,1000,1,1,0.01,0.01,0.01,1,1,0.01,0.01,0 \ No newline at end of file diff --git a/examples/small_signal_modeling/t3/inputs/infinite_sources.csv b/examples/small_signal_modeling/t3/inputs/infinite_sources.csv new file mode 100644 index 0000000..994d711 --- /dev/null +++ b/examples/small_signal_modeling/t3/inputs/infinite_sources.csv @@ -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.01,0.5 diff --git a/examples/small_signal_modeling/t3/inputs/lines.csv b/examples/small_signal_modeling/t3/inputs/lines.csv new file mode 100644 index 0000000..8a683e5 --- /dev/null +++ b/examples/small_signal_modeling/t3/inputs/lines.csv @@ -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,chile,1.00E+02,2.30E+02,60,0.01,0.5,0.05,0.066666667 \ No newline at end of file diff --git a/examples/small_signal_modeling/t3/inputs/loads.csv b/examples/small_signal_modeling/t3/inputs/loads.csv new file mode 100644 index 0000000..79d806e --- /dev/null +++ b/examples/small_signal_modeling/t3/inputs/loads.csv @@ -0,0 +1,3 @@ +bus,timepoint,load_MW,load_MVAR +lima,t_1,0,0 +chile,t_1,0,0 \ No newline at end of file diff --git a/examples/small_signal_modeling/t3/inputs/timepoints.csv b/examples/small_signal_modeling/t3/inputs/timepoints.csv new file mode 100644 index 0000000..ad319a5 --- /dev/null +++ b/examples/small_signal_modeling/t3/inputs/timepoints.csv @@ -0,0 +1,2 @@ +name +timepoint_1 \ No newline at end of file diff --git a/examples/small_signal_modeling/t3/outputs/ac_power_flow/active_power_balance_by_bus.csv b/examples/small_signal_modeling/t3/outputs/ac_power_flow/active_power_balance_by_bus.csv new file mode 100644 index 0000000..6f6fc94 --- /dev/null +++ b/examples/small_signal_modeling/t3/outputs/ac_power_flow/active_power_balance_by_bus.csv @@ -0,0 +1,3 @@ +bus,timepoint,generator_dispatch_MW,load_shedding_MW,load_MW,net_line_leaving_flow_MW +lima,timepoint_1,5.000842627243224,-9.99090909090909e-9,0.0,5.000842617252305 +chile,timepoint_1,5.017184508118726,-9.99090909090909e-9,0.0,5.017184498127826 diff --git a/examples/small_signal_modeling/t3/outputs/ac_power_flow/bus_voltage.csv b/examples/small_signal_modeling/t3/outputs/ac_power_flow/bus_voltage.csv new file mode 100644 index 0000000..3418da9 --- /dev/null +++ b/examples/small_signal_modeling/t3/outputs/ac_power_flow/bus_voltage.csv @@ -0,0 +1,3 @@ +id,bus,timepoint,voltage_magnitude_pu,voltage_angle_deg +0,lima,timepoint_1,1.0,0.0 +1,chile,timepoint_1,1.0017997960714404,-0.0022997629674043206 diff --git a/examples/small_signal_modeling/t3/outputs/ac_power_flow/costs_summary.csv b/examples/small_signal_modeling/t3/outputs/ac_power_flow/costs_summary.csv new file mode 100644 index 0000000..a0e979f --- /dev/null +++ b/examples/small_signal_modeling/t3/outputs/ac_power_flow/costs_summary.csv @@ -0,0 +1,2 @@ +component,cost +total_cost_USD,-0.000039963636363636275 diff --git a/examples/small_signal_modeling/t3/outputs/ac_power_flow/generator_dispatch.csv b/examples/small_signal_modeling/t3/outputs/ac_power_flow/generator_dispatch.csv new file mode 100644 index 0000000..f57808e --- /dev/null +++ b/examples/small_signal_modeling/t3/outputs/ac_power_flow/generator_dispatch.csv @@ -0,0 +1,3 @@ +id,type,generator,timepoint,active_power_MW,reactive_power_MVAR +0,infinite_sources,gen1,timepoint_1,5.000842627243224,-7.026642595242817 +0,gfmi_e,solar,timepoint_1,5.017184508118726,-6.33006174414215 diff --git a/examples/small_signal_modeling/t3/outputs/ac_power_flow/line_flows.csv b/examples/small_signal_modeling/t3/outputs/ac_power_flow/line_flows.csv new file mode 100644 index 0000000..5ce0d9d --- /dev/null +++ b/examples/small_signal_modeling/t3/outputs/ac_power_flow/line_flows.csv @@ -0,0 +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,chile,inf,5.000842617252306,-7.026642605233779,5.017184498127828,-6.330061754133121,10.018027115380134,-13.356704359366901 diff --git a/examples/small_signal_modeling/t3/outputs/ac_power_flow/load_shedding.csv b/examples/small_signal_modeling/t3/outputs/ac_power_flow/load_shedding.csv new file mode 100644 index 0000000..a2198f3 --- /dev/null +++ b/examples/small_signal_modeling/t3/outputs/ac_power_flow/load_shedding.csv @@ -0,0 +1,3 @@ +bus,timepoint,active_load_shedding_MW,reactive_load_shedding_MVAR +lima,timepoint_1,-9.99090909090909e-9,-9.990909090909043e-9 +chile,timepoint_1,-9.99090909090909e-9,-9.990909090909054e-9 diff --git a/examples/small_signal_modeling/t3/outputs/ac_power_flow/reactive_power_balance_by_bus.csv b/examples/small_signal_modeling/t3/outputs/ac_power_flow/reactive_power_balance_by_bus.csv new file mode 100644 index 0000000..b1dc563 --- /dev/null +++ b/examples/small_signal_modeling/t3/outputs/ac_power_flow/reactive_power_balance_by_bus.csv @@ -0,0 +1,3 @@ +bus,timepoint,generator_dispatch_MVAR,load_shedding_MVAR,load_MVAR,net_line_leaving_flow_MVAR +lima,timepoint_1,-7.026642595242817,-9.990909090909043e-9,0.0,-7.026642605233735 +chile,timepoint_1,-6.33006174414215,-9.990909090909054e-9,0.0,-6.330061754133077 diff --git a/examples/small_signal_modeling/t3/outputs/ac_power_flow/solver_status.csv b/examples/small_signal_modeling/t3/outputs/ac_power_flow/solver_status.csv new file mode 100644 index 0000000..b5cf3e1 --- /dev/null +++ b/examples/small_signal_modeling/t3/outputs/ac_power_flow/solver_status.csv @@ -0,0 +1,5 @@ +attribute,value +solver_name,ipopt +solver_status,ok +termination_condition,optimal +time_spent_seconds,0.06941509246826172 diff --git a/examples/small_signal_modeling/t3/outputs/component_connection_matrices/F.csv b/examples/small_signal_modeling/t3/outputs/component_connection_matrices/F.csv new file mode 100644 index 0000000..22cfb01 --- /dev/null +++ b/examples/small_signal_modeling/t3/outputs/component_connection_matrices/F.csv @@ -0,0 +1,21 @@ +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')" +"('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 +"('infinite_sources_0', 'v_bus_Q')",0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +"('gfmi_e_0', 'p_ref')",0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +"('gfmi_e_0', 'q_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_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_dc_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_s')",0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +"('gfmi_e_0', 'Pload')",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 diff --git a/examples/small_signal_modeling/t3/outputs/component_connection_matrices/G.csv b/examples/small_signal_modeling/t3/outputs/component_connection_matrices/G.csv new file mode 100644 index 0000000..a68a4a3 --- /dev/null +++ b/examples/small_signal_modeling/t3/outputs/component_connection_matrices/G.csv @@ -0,0 +1,21 @@ +Index,"('infinite_sources_0', 'v_ref_d')","('infinite_sources_0', 'v_ref_q')","('gfmi_e_0', 'p_ref')","('gfmi_e_0', 'q_ref')","('gfmi_e_0', 'v_ref')","('gfmi_e_0', 'v_dc_ref')","('gfmi_e_0', 'v_s')","('gfmi_e_0', 'Pload')" +"('infinite_sources_0', 'v_ref_d')",1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +"('infinite_sources_0', 'v_ref_q')",0.0,1.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,0.0,0.0,0.0,0.0 +"('infinite_sources_0', 'v_bus_Q')",0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +"('gfmi_e_0', 'p_ref')",0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0 +"('gfmi_e_0', 'q_ref')",0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0 +"('gfmi_e_0', 'v_ref')",0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0 +"('gfmi_e_0', 'v_dc_ref')",0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0 +"('gfmi_e_0', 'v_s')",0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0 +"('gfmi_e_0', 'Pload')",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 diff --git a/examples/small_signal_modeling/t3/outputs/component_connection_matrices/H.csv b/examples/small_signal_modeling/t3/outputs/component_connection_matrices/H.csv new file mode 100644 index 0000000..ba4ffa4 --- /dev/null +++ b/examples/small_signal_modeling/t3/outputs/component_connection_matrices/H.csv @@ -0,0 +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')" +"('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 diff --git a/examples/small_signal_modeling/t3/outputs/component_connection_matrices/L.csv b/examples/small_signal_modeling/t3/outputs/component_connection_matrices/L.csv new file mode 100644 index 0000000..2857f97 --- /dev/null +++ b/examples/small_signal_modeling/t3/outputs/component_connection_matrices/L.csv @@ -0,0 +1,11 @@ +Index,"('infinite_sources_0', 'v_ref_d')","('infinite_sources_0', 'v_ref_q')","('gfmi_e_0', 'p_ref')","('gfmi_e_0', 'q_ref')","('gfmi_e_0', 'v_ref')","('gfmi_e_0', 'v_dc_ref')","('gfmi_e_0', 'v_s')","('gfmi_e_0', 'Pload')" +"('infinite_sources_0', 'i_bus_D')",0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +"('infinite_sources_0', 'i_bus_Q')",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,0.0,0.0,0.0,0.0,0.0,0.0 +"('gfmi_e_0', 'i_bus_Q')",0.0,0.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,0.0,0.0,0.0,0.0 +"('pa_rc_0', 'v_bus_Q')",0.0,0.0,0.0,0.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,0.0,0.0 +"('pa_rc_1', 'v_bus_Q')",0.0,0.0,0.0,0.0,0.0,0.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 +"('se_rl_0', 'i_br_Q')",0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 diff --git a/examples/small_signal_modeling/t3/outputs/simulation_emt/branch_series_rl_0.html b/examples/small_signal_modeling/t3/outputs/simulation_emt/branch_series_rl_0.html new file mode 100644 index 0000000..28058cc --- /dev/null +++ b/examples/small_signal_modeling/t3/outputs/simulation_emt/branch_series_rl_0.html @@ -0,0 +1,3888 @@ + +
+ +