Skip to content

Add TwoTerminalVSC formulation#118

Closed
acostarelli wants to merge 6 commits into
mainfrom
ac/hvdc-vsc
Closed

Add TwoTerminalVSC formulation#118
acostarelli wants to merge 6 commits into
mainfrom
ac/hvdc-vsc

Conversation

@acostarelli
Copy link
Copy Markdown
Member

@acostarelli acostarelli commented May 12, 2026

Requires IOM Sienna-Platform/InfrastructureOptimizationModels.jl#99

This will be merged into #103 first

Anthony Costarelli added 6 commits April 29, 2026 15:50
combine ModelConstruct stages for both formulations
only add linear loss formulations for devices with non-zero linear loss
Add two new formulations for PSY.TwoTerminalVSCLine: HVDCTwoTerminalVSC (NLP)
and HVDCTwoTerminalVSCBin2 (SOS2 MILP). Both model independent active/reactive
power control per terminal under a PQ capability circle, quadratic+linear
converter losses, and explicit cable resistance via v_f - v_t = (1/g)*I.
Reactive variables/constraints are added only on full AC networks.

Refactor shared converter-loss helpers (loss expression builder, abs-value
decomposition, linear-loss detection) out of mt_hvdc_models into
src/common_models/quadratic_converter_loss.jl so the multi-terminal and
two-terminal VSC paths reuse the same primitives. Rename the
ConverterPositiveCurrent / NegativeCurrent / CurrentDirection variable types
to generic PositiveCurrent / NegativeCurrent / CurrentDirection.

Point Project.toml at the InfrastructureOptimizationModels ac/hvdc-vsc
branch (which carries the per-device-bounds API used by these formulations)
and restore runtests.jl to run the full test list.
@acostarelli
Copy link
Copy Markdown
Member Author

Opened new PR that merges into ac/hvdc

@github-actions
Copy link
Copy Markdown

Performance Results

Version Precompile Time
Main 2.984547389
This Branch 2.838748121
Version Build Time
Main-Build Time Precompile 103.779330446
Main-Build Time Postcompile 15.710774492
This Branch-Build Time Precompile 74.484837696
This Branch-Build Time Postcompile 1.516684018
Version Solve Time
Main-Solve Time Precompile 407.078240399
Main-Solve Time Postcompile 365.779013313
This Branch-Solve Time Precompile 126.619853249
This Branch-Solve Time Postcompile 97.024277812

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant