{
"cells": [
{
"cell_type": "markdown",
"source": [
"Line Modeling simulation with [PowerSimulationsDynamics.jl](https://github.com/NREL-SIIP/PowerSimulationsDynamics.jl)"
],
"metadata": {}
},
{
"cell_type": "markdown",
"source": [
"**Originally Contributed by**: Rodrigo Henriquez and José Daniel Lara"
],
"metadata": {}
},
{
"cell_type": "markdown",
"source": [
"## Introduction"
],
"metadata": {}
},
{
"cell_type": "markdown",
"source": [
"This tutorial will introduce an example of considering dynamic lines in `PowerSimulationsDynamics`.\n",
"Note that this tutorial is for `PowerSimulationsDynamics`."
],
"metadata": {}
},
{
"cell_type": "markdown",
"source": [
"This tutorial presents a simulation of a three-bus system, with an infinite bus (represented as a\n",
"voltage source behind an impedance) at bus 1, a one d- one q- machine on bus 2 and an inverter\n",
"of 19 states, as a virtual synchronous machine at bus 3. The perturbation will be the trip of\n",
"two of the three circuits (triplicating its resistance and impedance) of the line that connects\n",
"bus 1 and bus 3. This case also consider a dynamic line model for connection between buses\n",
"2 and 3. We will compare it against a system without dynamic lines."
],
"metadata": {}
},
{
"cell_type": "markdown",
"source": [
"In addition, note that `PowerSimulationsDynamics` will convert ConstantPower loads to RLC\n",
"loads for transient simulations."
],
"metadata": {}
},
{
"cell_type": "markdown",
"source": [
"It is recommended to check `Tutorial 1: OMIB` first, since that includes more details and\n",
"explanations on all definitions and functions."
],
"metadata": {}
},
{
"cell_type": "markdown",
"source": [
"# Step 1: Package Initialization"
],
"metadata": {}
},
{
"outputs": [],
"cell_type": "code",
"source": [
"using SIIPExamples\n",
"using PowerSimulationsDynamics\n",
"PSID = PowerSimulationsDynamics\n",
"using PowerSystems\n",
"using Sundials\n",
"using Plots"
],
"metadata": {},
"execution_count": 1
},
{
"cell_type": "markdown",
"source": [
"# Step 2: Data creation"
],
"metadata": {}
},
{
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[ Info: Loaded time series from storage file existing=threebus_sys_time_series_storage.h5 new=/var/folders/27/2jr8c7gn4j72fvrg4qt81zrw8w_711/T/jl_STO6MY\n",
"┌ Warning: Rate 250.0 MW for BUS 1-BUS 3-i_1 is larger than the max expected in the range of (min = 47.0, max = 52.0).\n",
"└ @ PowerSystems ~/.julia/packages/PowerSystems/N2l8o/src/utils/IO/branchdata_checks.jl:148\n",
"┌ Warning: Rate 250.0 MW for BUS 1-BUS 2-i_2 is larger than the max expected in the range of (min = 47.0, max = 52.0).\n",
"└ @ PowerSystems ~/.julia/packages/PowerSystems/N2l8o/src/utils/IO/branchdata_checks.jl:148\n",
"┌ Warning: Rate 250.0 MW for BUS 2-BUS 3-i_3 is larger than the max expected in the range of (min = 47.0, max = 52.0).\n",
"└ @ PowerSystems ~/.julia/packages/PowerSystems/N2l8o/src/utils/IO/branchdata_checks.jl:148\n",
"┌ Warning: struct DynamicInverter does not exist in validation configuration file, validation skipped\n",
"└ @ InfrastructureSystems ~/.julia/packages/InfrastructureSystems/lYELp/src/validation.jl:51\n",
"┌ Warning: struct DynamicGenerator does not exist in validation configuration file, validation skipped\n",
"└ @ InfrastructureSystems ~/.julia/packages/InfrastructureSystems/lYELp/src/validation.jl:51\n",
"┌ Warning: struct DynamicGenerator does not exist in validation configuration file, validation skipped\n",
"└ @ InfrastructureSystems ~/.julia/packages/InfrastructureSystems/lYELp/src/validation.jl:51\n",
"┌ Warning: struct DynamicInverter does not exist in validation configuration file, validation skipped\n",
"└ @ InfrastructureSystems ~/.julia/packages/InfrastructureSystems/lYELp/src/validation.jl:51\n"
]
}
],
"cell_type": "code",
"source": [
"file_dir = joinpath(\n",
" dirname(dirname(pathof(SIIPExamples))),\n",
" \"script\",\n",
" \"4_PowerSimulationsDynamics_examples\",\n",
" \"Data\",\n",
")\n",
"threebus_sys = System(joinpath(file_dir, \"threebus_sys.json\"));"
],
"metadata": {},
"execution_count": 2
},
{
"cell_type": "markdown",
"source": [
"In addition, we will create a new copy of the system on which we will simulate the same\n",
"case, but will consider dynamic lines:"
],
"metadata": {}
},
{
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[ Info: Serialized time series data to /var/folders/27/2jr8c7gn4j72fvrg4qt81zrw8w_711/T/jl_1XleNu/sys_time_series_storage.h5.\n",
"[ Info: Serialized System to /var/folders/27/2jr8c7gn4j72fvrg4qt81zrw8w_711/T/jl_1XleNu/sys.json\n",
"[ Info: Loaded time series from storage file existing=sys_time_series_storage.h5 new=/var/folders/27/2jr8c7gn4j72fvrg4qt81zrw8w_711/T/jl_Y62dqS\n",
"┌ Warning: Rate 250.0 MW for BUS 1-BUS 3-i_1 is larger than the max expected in the range of (min = 47.0, max = 52.0).\n",
"└ @ PowerSystems ~/.julia/packages/PowerSystems/N2l8o/src/utils/IO/branchdata_checks.jl:148\n",
"┌ Warning: Rate 250.0 MW for BUS 1-BUS 2-i_2 is larger than the max expected in the range of (min = 47.0, max = 52.0).\n",
"└ @ PowerSystems ~/.julia/packages/PowerSystems/N2l8o/src/utils/IO/branchdata_checks.jl:148\n",
"┌ Warning: Rate 250.0 MW for BUS 2-BUS 3-i_3 is larger than the max expected in the range of (min = 47.0, max = 52.0).\n",
"└ @ PowerSystems ~/.julia/packages/PowerSystems/N2l8o/src/utils/IO/branchdata_checks.jl:148\n",
"┌ Warning: struct DynamicInverter does not exist in validation configuration file, validation skipped\n",
"└ @ InfrastructureSystems ~/.julia/packages/InfrastructureSystems/lYELp/src/validation.jl:51\n",
"┌ Warning: struct DynamicGenerator does not exist in validation configuration file, validation skipped\n",
"└ @ InfrastructureSystems ~/.julia/packages/InfrastructureSystems/lYELp/src/validation.jl:51\n",
"┌ Warning: struct DynamicGenerator does not exist in validation configuration file, validation skipped\n",
"└ @ InfrastructureSystems ~/.julia/packages/InfrastructureSystems/lYELp/src/validation.jl:51\n",
"┌ Warning: struct DynamicInverter does not exist in validation configuration file, validation skipped\n",
"└ @ InfrastructureSystems ~/.julia/packages/InfrastructureSystems/lYELp/src/validation.jl:51\n"
]
}
],
"cell_type": "code",
"source": [
"threebus_sys_dyn = deepcopy(threebus_sys);"
],
"metadata": {},
"execution_count": 3
},
{
"cell_type": "markdown",
"source": [
"# Step 3: Create the fault and simulation on the Static Lines system"
],
"metadata": {}
},
{
"cell_type": "markdown",
"source": [
"First, we construct the perturbation, by properly computing the new Ybus on the system:"
],
"metadata": {}
},
{
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[ Info: Serialized time series data to /var/folders/27/2jr8c7gn4j72fvrg4qt81zrw8w_711/T/jl_U39Dob/sys_time_series_storage.h5.\n",
"[ Info: Serialized System to /var/folders/27/2jr8c7gn4j72fvrg4qt81zrw8w_711/T/jl_U39Dob/sys.json\n",
"[ Info: Loaded time series from storage file existing=sys_time_series_storage.h5 new=/var/folders/27/2jr8c7gn4j72fvrg4qt81zrw8w_711/T/jl_JZYMnP\n",
"┌ Warning: Rate 250.0 MW for BUS 1-BUS 3-i_1 is larger than the max expected in the range of (min = 47.0, max = 52.0).\n",
"└ @ PowerSystems ~/.julia/packages/PowerSystems/N2l8o/src/utils/IO/branchdata_checks.jl:148\n",
"┌ Warning: Rate 250.0 MW for BUS 1-BUS 2-i_2 is larger than the max expected in the range of (min = 47.0, max = 52.0).\n",
"└ @ PowerSystems ~/.julia/packages/PowerSystems/N2l8o/src/utils/IO/branchdata_checks.jl:148\n",
"┌ Warning: Rate 250.0 MW for BUS 2-BUS 3-i_3 is larger than the max expected in the range of (min = 47.0, max = 52.0).\n",
"└ @ PowerSystems ~/.julia/packages/PowerSystems/N2l8o/src/utils/IO/branchdata_checks.jl:148\n",
"┌ Warning: struct DynamicInverter does not exist in validation configuration file, validation skipped\n",
"└ @ InfrastructureSystems ~/.julia/packages/InfrastructureSystems/lYELp/src/validation.jl:51\n",
"┌ Warning: struct DynamicGenerator does not exist in validation configuration file, validation skipped\n",
"└ @ InfrastructureSystems ~/.julia/packages/InfrastructureSystems/lYELp/src/validation.jl:51\n",
"┌ Warning: struct DynamicGenerator does not exist in validation configuration file, validation skipped\n",
"└ @ InfrastructureSystems ~/.julia/packages/InfrastructureSystems/lYELp/src/validation.jl:51\n",
"┌ Warning: struct DynamicInverter does not exist in validation configuration file, validation skipped\n",
"└ @ InfrastructureSystems ~/.julia/packages/InfrastructureSystems/lYELp/src/validation.jl:51\n",
"[ Info: The System has no islands\n"
]
}
],
"cell_type": "code",
"source": [
"#Make a copy of the original system\n",
"sys2 = deepcopy(threebus_sys)\n",
"#Triplicates the impedance of the line named \"BUS 1-BUS 3-i_1\"\n",
"fault_branches = get_components(ACBranch, sys2)\n",
"for br in fault_branches\n",
" if get_name(br) == \"BUS 1-BUS 3-i_1\"\n",
" br.r = 3 * br.r\n",
" br.x = 3 * br.x\n",
" b_new = (from = br.b.from / 3, to = br.b.to / 3)\n",
" br.b = b_new\n",
" end\n",
"end\n",
"#Obtain the new Ybus\n",
"Ybus_fault = Ybus(sys2).data\n",
"#Define Fault: Change of YBus\n",
"Ybus_change = NetworkSwitch(\n",
" 1.0, #change at t = 1.0\n",
" Ybus_fault, #New YBus\n",
");"
],
"metadata": {},
"execution_count": 4
},
{
"cell_type": "markdown",
"source": [
"Now, we construct the simulation:"
],
"metadata": {}
},
{
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[ Info: Serialized time series data to /var/folders/27/2jr8c7gn4j72fvrg4qt81zrw8w_711/T/jl_7tP1MV/sys_time_series_storage.h5.\n",
"[ Info: Serialized System to /var/folders/27/2jr8c7gn4j72fvrg4qt81zrw8w_711/T/jl_7tP1MV/sys.json\n",
"[ Info: Loaded time series from storage file existing=sys_time_series_storage.h5 new=/var/folders/27/2jr8c7gn4j72fvrg4qt81zrw8w_711/T/jl_nbZjbG\n",
"┌ Warning: Rate 250.0 MW for BUS 1-BUS 3-i_1 is larger than the max expected in the range of (min = 47.0, max = 52.0).\n",
"└ @ PowerSystems ~/.julia/packages/PowerSystems/N2l8o/src/utils/IO/branchdata_checks.jl:148\n",
"┌ Warning: Rate 250.0 MW for BUS 1-BUS 2-i_2 is larger than the max expected in the range of (min = 47.0, max = 52.0).\n",
"└ @ PowerSystems ~/.julia/packages/PowerSystems/N2l8o/src/utils/IO/branchdata_checks.jl:148\n",
"┌ Warning: Rate 250.0 MW for BUS 2-BUS 3-i_3 is larger than the max expected in the range of (min = 47.0, max = 52.0).\n",
"└ @ PowerSystems ~/.julia/packages/PowerSystems/N2l8o/src/utils/IO/branchdata_checks.jl:148\n",
"┌ Warning: struct DynamicInverter does not exist in validation configuration file, validation skipped\n",
"└ @ InfrastructureSystems ~/.julia/packages/InfrastructureSystems/lYELp/src/validation.jl:51\n",
"┌ Warning: struct DynamicGenerator does not exist in validation configuration file, validation skipped\n",
"└ @ InfrastructureSystems ~/.julia/packages/InfrastructureSystems/lYELp/src/validation.jl:51\n",
"┌ Warning: struct DynamicGenerator does not exist in validation configuration file, validation skipped\n",
"└ @ InfrastructureSystems ~/.julia/packages/InfrastructureSystems/lYELp/src/validation.jl:51\n",
"┌ Warning: struct DynamicInverter does not exist in validation configuration file, validation skipped\n",
"└ @ InfrastructureSystems ~/.julia/packages/InfrastructureSystems/lYELp/src/validation.jl:51\n"
]
},
{
"output_type": "execute_result",
"data": {
"text/plain": "Simulation()\n"
},
"metadata": {},
"execution_count": 5
}
],
"cell_type": "code",
"source": [
"#Time span of our simulation\n",
"tspan = (0.0, 30.0)\n",
"\n",
"#Define Simulation\n",
"sim = PSID.Simulation(\n",
" pwd(), #folder to output results\n",
" threebus_sys, #system\n",
" tspan, #time span\n",
" Ybus_change, #Type of perturbation\n",
")"
],
"metadata": {},
"execution_count": 5
},
{
"cell_type": "markdown",
"source": [
"We can obtain the initial conditions as:"
],
"metadata": {}
},
{
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Voltage Variables\n",
"====================\n",
"BUS 1\n",
"====================\n",
"Vm 1.02\n",
"θ -0.0\n",
"====================\n",
"BUS 2\n",
"====================\n",
"Vm 1.0142\n",
"θ -0.0247\n",
"====================\n",
"BUS 3\n",
"====================\n",
"Vm 1.0059\n",
"θ 0.05\n",
"====================\n",
"====================\n",
"Differential States\n",
"generator-102-1\n",
"====================\n",
"eq_p 0.6478\n",
"ed_p 0.6672\n",
"δ 0.9386\n",
"ω 1.0\n",
"Vf 1.0781\n",
"Vr1 0.0333\n",
"Vr2 -0.1941\n",
"Vm 1.0142\n",
"====================\n",
"Differential States\n",
"generator-103-1\n",
"====================\n",
"ω_oc 1.0\n",
"θ_oc 0.4573\n",
"q_oc -0.4453\n",
"ξd_ic 0.0013\n",
"ξq_ic 0.0004\n",
"γd_ic 0.0615\n",
"γq_ic -0.0138\n",
"ϕd_ic 0.8765\n",
"ϕq_ic -0.1978\n",
"vd_pll 0.8986\n",
"vq_pll -0.0\n",
"ε_pll -0.0\n",
"θ_pll 0.2354\n",
"ir_cnv 0.7462\n",
"ii_cnv 0.757\n",
"vr_filter 0.8738\n",
"vi_filter 0.2095\n",
"ir_filter 0.7617\n",
"ii_filter 0.6923\n",
"====================\n"
]
},
{
"output_type": "execute_result",
"data": {
"text/plain": "Dict{String,Any} with 6 entries:\n \"generator-102-1\" => Dict(:Vf=>1.07808,:Vr2=>-0.194055,:ed_p=>0.667241,:ω=>1.…\n \"V_R\" => Dict(102=>1.01389,103=>1.00464,101=>1.02)\n \"Vm\" => Dict(102=>1.0142,103=>1.0059,101=>1.02)\n \"θ\" => Dict(102=>-0.0247452,103=>0.0500046,101=>-8.28357e-14)\n \"V_I\" => Dict(102=>-0.0250941,103=>0.0502787,101=>-8.44924e-14)\n \"generator-103-1\" => Dict(:vi_filter=>0.209533,:γd_ic=>0.0615061,:vq_pll=>-6.…"
},
"metadata": {},
"execution_count": 6
}
],
"cell_type": "code",
"source": [
"#Will print the initial states. It also give the symbols used to describe those states.\n",
"print_device_states(sim)\n",
"#Will export a dictionary with the initial condition values to explore\n",
"x0_init = PSID.get_initial_conditions(sim)"
],
"metadata": {},
"execution_count": 6
},
{
"cell_type": "markdown",
"source": [
"# Step 4: Run the simulation of the Static Lines System"
],
"metadata": {}
},
{
"outputs": [],
"cell_type": "code",
"source": [
"#Run the simulation\n",
"PSID.execute!(\n",
" sim, #simulation structure\n",
" IDA(), #Sundials DAE Solver\n",
" dtmax = 0.02, #Maximum step size\n",
")"
],
"metadata": {},
"execution_count": 7
},
{
"cell_type": "markdown",
"source": [
"# Step 5: Store the solution"
],
"metadata": {}
},
{
"outputs": [],
"cell_type": "code",
"source": [
"series2 = get_voltagemag_series(sim, 102)\n",
"zoom = [\n",
" (series2[1][ix], series2[2][ix]) for\n",
" (ix, s) in enumerate(series2[1]) if (s > 0.90 && s < 1.6)\n",
"];"
],
"metadata": {},
"execution_count": 8
},
{
"cell_type": "markdown",
"source": [
"# Step 3.1: Create the fault and simulation on the Dynamic Lines system"
],
"metadata": {}
},
{
"cell_type": "markdown",
"source": [
"An important aspect to consider is that DynamicLines must not be considered in the computation of the Ybus. First we construct the Dynamic Line, by finding the Line named \"BUS 2-BUS 3-i_3\", and then adding it to the system."
],
"metadata": {}
},
{
"cell_type": "markdown",
"source": [
"get component return the Branch on threebus_sys_dyn named \"BUS 2-BUS 3-i_3\""
],
"metadata": {}
},
{
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": "\nBUS 2-BUS 3-i_3 (DynamicBranch):\n branch: BUS 2-BUS 3-i_3 (Line)\n n_states: 2\n states: [:Il_R, :Il_I]\n internal: InfrastructureSystems.InfrastructureSystemsInternal"
},
"metadata": {},
"execution_count": 9
}
],
"cell_type": "code",
"source": [
"dyn_branch = DynamicBranch(get_component(Branch, threebus_sys_dyn, \"BUS 2-BUS 3-i_3\"))"
],
"metadata": {},
"execution_count": 9
},
{
"cell_type": "markdown",
"source": [
"Adding a dynamic line will inmediately remove the static line from the system."
],
"metadata": {}
},
{
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"┌ Warning: struct DynamicBranch does not exist in validation configuration file, validation skipped\n",
"└ @ InfrastructureSystems ~/.julia/packages/InfrastructureSystems/lYELp/src/validation.jl:51\n"
]
}
],
"cell_type": "code",
"source": [
"add_component!(threebus_sys_dyn, dyn_branch)"
],
"metadata": {},
"execution_count": 10
},
{
"cell_type": "markdown",
"source": [
"Similarly, we construct the Ybus fault by creating a copy of the original system, but\n",
"removing the Line \"BUS 2-BUS 3-i_3\" to avoid considering it in the Ybus:"
],
"metadata": {}
},
{
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[ Info: Serialized time series data to /var/folders/27/2jr8c7gn4j72fvrg4qt81zrw8w_711/T/jl_MFmyPu/sys_time_series_storage.h5.\n",
"[ Info: Serialized System to /var/folders/27/2jr8c7gn4j72fvrg4qt81zrw8w_711/T/jl_MFmyPu/sys.json\n",
"[ Info: Loaded time series from storage file existing=sys_time_series_storage.h5 new=/var/folders/27/2jr8c7gn4j72fvrg4qt81zrw8w_711/T/jl_krqW4l\n",
"┌ Warning: Rate 250.0 MW for BUS 1-BUS 3-i_1 is larger than the max expected in the range of (min = 47.0, max = 52.0).\n",
"└ @ PowerSystems ~/.julia/packages/PowerSystems/N2l8o/src/utils/IO/branchdata_checks.jl:148\n",
"┌ Warning: Rate 250.0 MW for BUS 1-BUS 2-i_2 is larger than the max expected in the range of (min = 47.0, max = 52.0).\n",
"└ @ PowerSystems ~/.julia/packages/PowerSystems/N2l8o/src/utils/IO/branchdata_checks.jl:148\n",
"┌ Warning: Rate 250.0 MW for BUS 2-BUS 3-i_3 is larger than the max expected in the range of (min = 47.0, max = 52.0).\n",
"└ @ PowerSystems ~/.julia/packages/PowerSystems/N2l8o/src/utils/IO/branchdata_checks.jl:148\n",
"┌ Warning: struct DynamicInverter does not exist in validation configuration file, validation skipped\n",
"└ @ InfrastructureSystems ~/.julia/packages/InfrastructureSystems/lYELp/src/validation.jl:51\n",
"┌ Warning: struct DynamicGenerator does not exist in validation configuration file, validation skipped\n",
"└ @ InfrastructureSystems ~/.julia/packages/InfrastructureSystems/lYELp/src/validation.jl:51\n",
"┌ Warning: struct DynamicGenerator does not exist in validation configuration file, validation skipped\n",
"└ @ InfrastructureSystems ~/.julia/packages/InfrastructureSystems/lYELp/src/validation.jl:51\n",
"┌ Warning: struct DynamicInverter does not exist in validation configuration file, validation skipped\n",
"└ @ InfrastructureSystems ~/.julia/packages/InfrastructureSystems/lYELp/src/validation.jl:51\n",
"[ Info: The System has no islands\n"
]
},
{
"output_type": "execute_result",
"data": {
"text/plain": "PowerSimulationsDynamics.NetworkSwitch(1.0, \n [1, 1] = 0.91954-10.9011im\n [2, 1] = -0.689655+8.27586im\n [3, 1] = -0.229885+2.75862im\n [1, 2] = -0.689655+8.27586im\n [2, 2] = 0.689655-8.17586im\n [1, 3] = -0.229885+2.75862im\n [3, 3] = 0.229885-2.72529im)"
},
"metadata": {},
"execution_count": 11
}
],
"cell_type": "code",
"source": [
"#Make a copy of the original system\n",
"sys3 = deepcopy(threebus_sys);\n",
"#Remove Line \"BUS 2-BUS 3-i_3\"\n",
"remove_component!(Line, sys3, \"BUS 2-BUS 3-i_3\")\n",
"#Triplicates the impedance of the line named \"BUS 1-BUS 2-i_1\"\n",
"fault_branches2 = get_components(Line, sys3)\n",
"for br in fault_branches2\n",
" if get_name(br) == \"BUS 1-BUS 3-i_1\"\n",
" br.r = 3 * br.r\n",
" br.x = 3 * br.x\n",
" b_new = (from = br.b.from / 3, to = br.b.to / 3)\n",
" br.b = b_new\n",
" end\n",
"end\n",
"#Obtain the new Ybus\n",
"Ybus_fault_dyn = Ybus(sys3).data\n",
"#Define Fault: Change of YBus\n",
"Ybus_change_dyn = PowerSimulationsDynamics.NetworkSwitch(\n",
" 1.0, #change at t = 1.0\n",
" Ybus_fault_dyn, #New YBus\n",
")"
],
"metadata": {},
"execution_count": 11
},
{
"cell_type": "markdown",
"source": [
"# Step 4.1: Run the simulation of the Dynamic Lines System"
],
"metadata": {}
},
{
"cell_type": "markdown",
"source": [
"Now, we construct the simulation:"
],
"metadata": {}
},
{
"cell_type": "markdown",
"source": [
"Time span of our simulation"
],
"metadata": {}
},
{
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": "(0.0, 30.0)"
},
"metadata": {},
"execution_count": 12
}
],
"cell_type": "code",
"source": [
"tspan = (0.0, 30.0)"
],
"metadata": {},
"execution_count": 12
},
{
"cell_type": "markdown",
"source": [
"Define Simulation"
],
"metadata": {}
},
{
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[ Info: Serialized time series data to /var/folders/27/2jr8c7gn4j72fvrg4qt81zrw8w_711/T/jl_bYlxvd/sys_time_series_storage.h5.\n",
"[ Info: Serialized System to /var/folders/27/2jr8c7gn4j72fvrg4qt81zrw8w_711/T/jl_bYlxvd/sys.json\n",
"[ Info: Loaded time series from storage file existing=sys_time_series_storage.h5 new=/var/folders/27/2jr8c7gn4j72fvrg4qt81zrw8w_711/T/jl_wvFbjX\n",
"┌ Warning: Rate 250.0 MW for BUS 1-BUS 3-i_1 is larger than the max expected in the range of (min = 47.0, max = 52.0).\n",
"└ @ PowerSystems ~/.julia/packages/PowerSystems/N2l8o/src/utils/IO/branchdata_checks.jl:148\n",
"┌ Warning: Rate 250.0 MW for BUS 1-BUS 2-i_2 is larger than the max expected in the range of (min = 47.0, max = 52.0).\n",
"└ @ PowerSystems ~/.julia/packages/PowerSystems/N2l8o/src/utils/IO/branchdata_checks.jl:148\n",
"┌ Warning: struct DynamicBranch does not exist in validation configuration file, validation skipped\n",
"└ @ InfrastructureSystems ~/.julia/packages/InfrastructureSystems/lYELp/src/validation.jl:51\n",
"┌ Warning: struct DynamicInverter does not exist in validation configuration file, validation skipped\n",
"└ @ InfrastructureSystems ~/.julia/packages/InfrastructureSystems/lYELp/src/validation.jl:51\n",
"┌ Warning: struct DynamicGenerator does not exist in validation configuration file, validation skipped\n",
"└ @ InfrastructureSystems ~/.julia/packages/InfrastructureSystems/lYELp/src/validation.jl:51\n",
"┌ Warning: struct DynamicGenerator does not exist in validation configuration file, validation skipped\n",
"└ @ InfrastructureSystems ~/.julia/packages/InfrastructureSystems/lYELp/src/validation.jl:51\n",
"┌ Warning: struct DynamicInverter does not exist in validation configuration file, validation skipped\n",
"└ @ InfrastructureSystems ~/.julia/packages/InfrastructureSystems/lYELp/src/validation.jl:51\n"
]
},
{
"output_type": "execute_result",
"data": {
"text/plain": "Simulation()\n"
},
"metadata": {},
"execution_count": 13
}
],
"cell_type": "code",
"source": [
"sim_dyn = PSID.Simulation(\n",
" pwd(), #folder to output results\n",
" threebus_sys_dyn, #system\n",
" tspan, #time span\n",
" Ybus_change_dyn, #Type of perturbation\n",
")"
],
"metadata": {},
"execution_count": 13
},
{
"cell_type": "markdown",
"source": [
"Run the simulation"
],
"metadata": {}
},
{
"outputs": [],
"cell_type": "code",
"source": [
"PSID.execute!(\n",
" sim_dyn, #simulation structure\n",
" IDA(), #Sundials DAE Solver\n",
" dtmax = 0.02, #Maximum step size\n",
")"
],
"metadata": {},
"execution_count": 14
},
{
"cell_type": "markdown",
"source": [
"We can obtain the initial conditions as:"
],
"metadata": {}
},
{
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Voltage Variables\n",
"====================\n",
"BUS 1\n",
"====================\n",
"Vm 1.02\n",
"θ -0.0\n",
"====================\n",
"BUS 2\n",
"====================\n",
"Vm 1.0142\n",
"θ -0.0247\n",
"====================\n",
"BUS 3\n",
"====================\n",
"Vm 1.0059\n",
"θ 0.05\n",
"====================\n",
"====================\n",
"Differential States\n",
"generator-103-1\n",
"====================\n",
"ω_oc 1.0\n",
"θ_oc 0.4573\n",
"q_oc -0.4453\n",
"ξd_ic 0.0013\n",
"ξq_ic 0.0004\n",
"γd_ic 0.0615\n",
"γq_ic -0.0138\n",
"ϕd_ic 0.8765\n",
"ϕq_ic -0.1978\n",
"vd_pll 0.8986\n",
"vq_pll 0.0\n",
"ε_pll -0.0\n",
"θ_pll 0.2354\n",
"ir_cnv 0.7462\n",
"ii_cnv 0.757\n",
"vr_filter 0.8738\n",
"vi_filter 0.2095\n",
"ir_filter 0.7617\n",
"ii_filter 0.6923\n",
"====================\n",
"Differential States\n",
"generator-102-1\n",
"====================\n",
"eq_p 0.6478\n",
"ed_p 0.6672\n",
"δ 0.9386\n",
"ω 1.0\n",
"Vf 1.0781\n",
"Vr1 0.0333\n",
"Vr2 -0.1941\n",
"Vm 1.0142\n",
"====================\n",
"====================\n",
"Line Current States\n",
"====================\n",
"Line BUS 2-BUS 3-i_3\n",
"Il_R -0.08348\n",
"Il_I -0.01213\n",
"====================\n"
]
},
{
"output_type": "execute_result",
"data": {
"text/plain": "Dict{String,Any} with 7 entries:\n \"generator-102-1\" => Dict(:Vf=>1.07808,:Vr2=>-0.194055,:ed_p=>0.667241,:…\n \"V_R\" => Dict(102=>1.01389,103=>1.00464,101=>1.02)\n \"Vm\" => Dict(102=>1.0142,103=>1.0059,101=>1.02)\n \"θ\" => Dict(102=>-0.0247452,103=>0.0500046,101=>-8.28357e-…\n \"V_I\" => Dict(102=>-0.0250941,103=>0.0502787,101=>-8.44924e-…\n \"generator-103-1\" => Dict(:vi_filter=>0.209533,:γd_ic=>0.0615061,:vq_pll…\n \"Line BUS 2-BUS 3-i_3\" => Dict(:Il_I=>-0.0121293,:Il_R=>-0.083478)"
},
"metadata": {},
"execution_count": 15
}
],
"cell_type": "code",
"source": [
"#Will print the initial states. It also give the symbols used to describe those states.\n",
"print_device_states(sim_dyn)\n",
"#Will export a dictionary with the initial condition values to explore\n",
"x0_init_dyn = PSID.get_initial_conditions(sim_dyn)"
],
"metadata": {},
"execution_count": 15
},
{
"cell_type": "markdown",
"source": [
"# Step 5.1: Store the solution"
],
"metadata": {}
},
{
"outputs": [],
"cell_type": "code",
"source": [
"series2_dyn = get_voltagemag_series(sim_dyn, 102)\n",
"zoom_dyn = [\n",
" (series2_dyn[1][ix], series2_dyn[2][ix]) for\n",
" (ix, s) in enumerate(series2_dyn[1]) if (s > 0.90 && s < 1.6)\n",
"];"
],
"metadata": {},
"execution_count": 16
},
{
"cell_type": "markdown",
"source": [
"# Step 6.1: Compare the solutions:"
],
"metadata": {}
},
{
"cell_type": "markdown",
"source": [
"We can observe the effect of Dynamic Lines"
],
"metadata": {}
},
{
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": "Plot{Plots.GRBackend() n=2}",
"image/png": "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",
"text/html": [
"\n",
"\n"
],
"image/svg+xml": [
"\n",
"\n"
]
},
"metadata": {},
"execution_count": 17
}
],
"cell_type": "code",
"source": [
"Plots.plot(series2_dyn, label = \"V_gen_dyn\")\n",
"Plots.plot!(series2, label = \"V_gen_st\", xlabel = \"Time [s]\", ylabel = \"Voltage [pu]\")"
],
"metadata": {},
"execution_count": 17
},
{
"cell_type": "markdown",
"source": [
"that looks quite similar. The differences can be observed in the zoom plot:"
],
"metadata": {}
},
{
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": "Plot{Plots.GRBackend() n=2}",
"image/png": "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ixZt3bp18N4jR4788pe/zM3NnT9/fnNzs19nxnqEQer48eP19fV2u72ysvKmXe++++6f/vSn3bt3GwyGoqKixMTEnJycQNQIN/jss8/0ev21a9dOnTo18P3r169XV1eXlZVptdpdu3bl5+fX1dXdcjw3jLampqZjx46p1eo9e/YMeUBlZeX27dsbGxv37t07xrXBkL788sv29vbu7u5vv/32pl1fffVVQUHB+vXrp02b1tTU5PfTEBwEsW3btuXl5d305vTp0//61796t8vLy3/zm9+MdVng21NPPVVWVuZrr8fjUSgUR44cGcuSYBjffvtteHj44PctFsuUKVM++ugjiqLGvioYxpo1a5YsWXLTmz//+c/feuutH3xOdI3yz5kzZ6ZNm+bdnjZtWm1tbWDrgZFrbm622WwpKSmBLgRu4fnnn1+8eDG+KV5wu93V1dXx8fGPP/54YWHhvn37/D0DukZ5xmq19vX1KZVK70uVStXZ2RnYkmCE7HZ7cXHxb3/727i4uEDXAsM5fvz4kSNHjh8/jhu6vNDe3u52u1955ZU33njDYrGUlpayLFtYWDjyMyAIeUYqlTIMY7VavS8HhiIEM6fTuWDBgoSEhD/+8Y+BrgWG43a7ly1btmXLFrPZ3NvbSwgxGo1yuVwoxNUySHmnX169evX9999PCLlw4cKuXbv8CkJ0jfIMRVEJCQn9qxI2NDQkJSUFtCK4NZfLtXDhQoZh/v73v9M0HehyYDh9fX3t7e0FBQWpqalz5szhOC41NfXkyZOBrgt8UiqVarVarVZ7X2o0Gu9fMCOHIOQNm8324osv9vT0FBUVbd26lWXZ3t7eXbt2FRUVBbo0GNqVK1deeukllmWXLFlitVp3794tEokCXRQM56233rp69arhe8eOHaMoymAw9N+Vh6DS3t7+4osvsiy7ePHid955x+PxOByOvXv35uXl+XeiHzN6B0bPxx9/rBpg6dKlBoNBIpHU19f39vbOnj07OjpapVI98cQTLMsGuljgOI7buHHjwK/szTff/Prrr+VyeWNjo+pG+/fvD3SxwLW2tg78UnJycjiOS09P37t3b/8xFy5cUKvVgasRbrBt27aBX9natWtPnTolkUgcDofBYLj33nvj4+NjYmIWLFjQ19fn15mx+gRf6fV6hmHwOBoAgJderw8LCwsLC/P3gwhCAAAIabhHCAAAIQ1BCAAAIQ1BCAAAIQ1BCAAAIQ1BCAAAIQ1BCAAAIQ2z5wEEqaqqqtbW1oKCglE6/wcffGCxWAghOTk5mZmZQx7T2dlZUVHh3S4oKJDJZKNUDEAA4TlCgMAoKys7ePCgr71vvvnmF1988cknn1y+fHmUCtBqtRzHpaSkPPHEE4sXLx7ymNOnT5eVlen1+rq6uqamJixLBOMSWoQAgTFr1qzY2Fjv9tdff11RUbFy5crIyEjvO2lpaTKZLCMjY1RrWLBgwdtvvz3MAVlZWUePHt27d+/ChQtHtRKAAEIQAgTGwD7PjRs3VlRUlJaWpqen9785ZcqUmz7CcVx3d7dKpeqfvNvtdptMJo1Gc9ORTqfTYDBERERIpVK/qtLr9TRNq1Qqvz4FwGsYLAMQpJ577rmpU6cSQkpLS+++++4DBw7odDrvZOtvv/02x3GvvvqqWq2eMGFCQkLCkSNHvJ8ymUwlJSUqlSo2NlahUBQUFHR3d4/kn1u/fr1arY6MjFSr1REREX/4wx9G8WcDCCZoEQIEKZPJ1NXVRQixWCznz5///e9/v3nzZq1Wu2nTpqeffvrMmTMtLS379+8XiUTl5eWLFi1qbGykafqBBx5oaWnZtm1bbm5ufX39008//dBDDx07dkwgGO6v3g8//PCFF17YsGHDvHnzPB7PhQsX2traxuoHBQgwBCEAD5hMpsOHD3vHdv7lL3/Zt2/fp59+2tDQ4J1o//XXX58zZ051dfWVK1e++eabw4cPz5w5kxCSkZGhVqvz8vIOHz6cn58/zPmrq6tjYmKeffZZ78vRvjcJEFTQNQrAA3Fxcf1POCiVyqioqBkzZvQvN5OWlkYIuXr16qFDh2QymcPh+N/v2Ww2mqbPnj07/Pmzs7O9y7IfOHDAbDaP6s8CEGzQIgTggZtGrzAMM/AdhmEIIU6ns7Oz02azFRYWDjxYoVAYjcbhz//II4+0t7dv3rz54YcfZhjmvvvu27BhA9qFECIQhADjR0REhEaj6ezs9PeDFEWVl5eXl5c3NTUdOnTotddemz17dnNzc//wVIBxDF2jAONHXl5eV1dXZWXlDz5Damrqk08+uXbt2tbWVoyXgRCBIAQYP5YsWZKenl5UVPT+++8bDAaj0XjixIlVq1Y1NDQM/8FNmzb97W9/u3z5Msuyly5dev/996OionQ63diUDRBYCEKA8SMsLOzzzz+fOnXqwoULNRqNWq2ePn16VVXVLR+rt1qtTz31VFJSklAoTElJaWtr++c//0nT9NiUDRBYmGsUIPA4jvN4PDcFD8dxHMcN//yfL0aj0ftwRXx8vFKpHPIYrVZbUFDQP8Wa2+1uamoymUzR0dEJCQkURfUf6Z1iDXONwniFIAQIUVqttqOjg6bpl19+ec2aNUMec/To0VmzZnk8HpZlEYQwXiEIAUJUY2Ojy+UihERFRQ2erdTLZrO1tLR4tydOnIhBpDAuIQgBACCkYbAMAACENAQhAACENAQhAACENAQhAACEtP8DKjMM9v0o5d4AAAAASUVORK5CYII=",
"text/html": [
"\n",
"\n"
],
"image/svg+xml": [
"\n",
"\n"
]
},
"metadata": {},
"execution_count": 18
}
],
"cell_type": "code",
"source": [
"Plots.plot(zoom_dyn, label = \"V_gen_dyn\")\n",
"Plots.plot!(zoom, label = \"V_gen_st\", xlabel = \"Time [s]\", ylabel = \"Voltage [pu]\")"
],
"metadata": {},
"execution_count": 18
},
{
"cell_type": "markdown",
"source": [
"---\n",
"\n",
"*This notebook was generated using [Literate.jl](https://github.com/fredrikekre/Literate.jl).*"
],
"metadata": {}
}
],
"nbformat_minor": 3,
"metadata": {
"language_info": {
"file_extension": ".jl",
"mimetype": "application/julia",
"name": "julia",
"version": "1.5.4"
},
"kernelspec": {
"name": "julia-1.5",
"display_name": "Julia 1.5.4",
"language": "julia"
}
},
"nbformat": 4
}