Problem Specifications
ACDCPF
PF with support for AC and DC grids at the same time, including AC/DC converters.
Generic AC DC Power Flow
The general purpose ac dc power flow solver in PowerModelsACDC is,
PowerModelsACDC.run_acdcpf
— FunctionThis function builds a JuMP model for a wide variety of the power flow formulations supported by PowerModelsACDC.
Sequential AC DC Power Flow (Native)
The sequential ac dc power flow solver in PowerModelsACDC uses the package NLSolve for solving the AC DC power flow problem in ACPPowerModel
formulation sequentially.
PowerModelsACDC.run_sacdcpf
— FunctionThis function solves sequential ac-dc power flow
If run_sacdcpf
fails to converge try run_acdcpf
instead.
ACDCOPF
OPF with support for AC and DC grids at the same time, including AC/DC converters.
Variables
variable_voltage(pm)
variable_generation(pm)
variable_branch_flow(pm)
Objective
objective_min_fuel_cost(pm)
Constraints
variable_active_dcbranch_flow(pm)
variable_dcbranch_current(pm)
variable_dc_converter(pm)
variable_dcgrid_voltage_magnitude(pm)
constraint_voltage(pm)
constraint_voltage_dc(pm)
for i in _PM.ids(pm, :ref_buses)
constraint_theta_ref(pm, i)
end
for i in _PM.ids(pm, :bus)
constraint_power_balance_ac(pm, i)
end
for i in _PM.ids(pm, :branch)
# dirty, should be improved in the future TODO
if typeof(pm) <: _PM.SOCDFPowerModel
constraint_flow_losses(pm, i)
constraint_voltage_magnitude_difference(pm, i)
constraint_branch_current(pm, i)
else
constraint_ohms_yt_from(pm, i)
constraint_ohms_yt_to(pm, i)
end
constraint_voltage_angle_difference(pm, i)
constraint_thermal_limit_from(pm, i)
constraint_thermal_limit_to(pm, i)
end
for i in _PM.ids(pm, :busdc)
constraint_power_balance_dc(pm, i)
end
for i in _PM.ids(pm, :branchdc)
constraint_ohms_dc_branch(pm, i)
end
for i in _PM.ids(pm, :convdc)
constraint_converter_losses(pm, i)
constraint_converter_current(pm, i)
constraint_conv_transformer(pm, i)
constraint_conv_reactor(pm, i)
constraint_conv_filter(pm, i)
if pm.ref[:nw][pm.cnw][:convdc][i]["islcc"] == 1
constraint_conv_firing_angle(pm, i)
end
end