Skip to content

Conversation

@hejun0524
Copy link
Collaborator

@hejun0524 hejun0524 commented Aug 11, 2023

  1. Edited doc.
  2. source code:
  • read.jl, structs.jl, build.jl add interfaces
  • interface.jl adds constraints & objective to the model
  • line.jl, sensitivity.jl add the interface ISF
  • slice.jl adds interface slicing
  • solution.jl reports transmission line flows and interface flows
  1. new tests:
  • 4 json.gz added (one of them is the storage benchmark test case which I forgot to merge to prev PR).
  • slice, sensitivity, read, interface optimization
  • storage optimization
  1. 8 other test files: replaced Cbc with HiGHS

@hejun0524
Copy link
Collaborator Author

hejun0524 commented Aug 17, 2023

The commit replace for loops with matrices changed the solution.jl by calculating the bus injection matrix of size $B \times T$ first, and then using the ISF matrix (size $L \times (B-1)$ ) to get the line flow matrix. Using the matrix slicing we can get all non-slack buses' net injection.

  1. For lines, the calculation gives $[L \times (B-1)] \times [(B-1) \times T] = L \times T$
  2. For interfaces, the calculation gives $[I \times (B-1)] \times [(B-1) \times T] = I \times T$

Then the code constructs the dictionary by directly assigning each row to the corresponding line/interface name. I have manually compared the results by running the old code with nested for-loops and this updated matrix version, and the results were the same.

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