You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/advanced_programming/contingency_active_power_loss.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,7 +14,7 @@ To add another plugin, you will need to code (in Java) an implementation of the
14
14
interface and make this implementation available to the Java ServiceLoader (e.g. using Google's AutoService):
15
15
- the `getName()` method should provide the plugin name - which can then be used in the `contingencyActivePowerLossDistribution` security analysis parameter
16
16
- the `run(...)` method will be called by the security analysis engine for each contingency and should provide the logic.
17
-
This method has access to:
17
+
This method must return the amount of distributed active power (in per-unit) and has access to:
18
18
- the network
19
19
- the contingency in open-loadflow representation, including among others information about disconnected network elements, and how much active power has been lost.
Copy file name to clipboardExpand all lines: docs/loadflow/loadflow.md
+7-3Lines changed: 7 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,7 +3,7 @@
3
3
## Grid modeling
4
4
5
5
Open Load Flow computes power flows from IIDM grid model in bus/view topology. From the view, a very simple network, composed
6
-
of only buses and branches is created. In the graph vision, we rely on a $\Pi$ model for branches (lines, transformers, dangling lines, etc.):
6
+
of only buses and branches is created. In the graph vision, we rely on a $\Pi$ model for branches (lines, transformers, boundary lines, etc.):
7
7
8
8
- $R$ and $X$ are respectively the real part (resistance) and the imaginary part (reactance) of the complex impedance ;
9
9
- $G_1$ and $G_2$ are the real parts (conductance) on respectively side 1 and side 2 of the branch ;
@@ -272,9 +272,9 @@ In such cases the involved areas are not considered in the Area Interchange Cont
272
272
273
273
In iIDM each area defines the boundary points to be considered in the interchange. iIDM supports two ways of modeling area boundaries:
274
274
- either via an equipment terminal,
275
-
- or via a DanglingLine boundary.
275
+
- or via a BoundaryLine boundary.
276
276
277
-
In the DanglingLine case, the flow at the boundary side is considered as it should be, for both unpaired DanglingLines and DanglingLines paired in a TieLine.
277
+
In the BoundaryLine case, the flow at the boundary side is considered as it should be, for both unpaired BoundaryLines and BoundaryLines paired in a TieLine.
278
278
279
279
### Slack bus mismatch attribution
280
280
Depending on the location of the slack bus(es), the role of distributing the active power mismatch will be attributed based on the following logic:
@@ -298,6 +298,10 @@ It is computed like this:
298
298
$Factor = sign(Slack Bus Mismatch) * Area Total Mismatch + areaInterchangePMaxMismatch $
299
299
Then factors are normalized to have sum of factors equal to 1.
300
300
301
+
The distribution is iterative (inside the same outer loop iteration).
302
+
Each area distributes its share, if some areas cannot fully distribute it, they are excluded from this distribution and the remaining slack is distributed among other areas at next iteration.
303
+
The distribution iterates until all the mismatch has been distributed and fails if all areas cannot distribute anymore but some mismatch remains.
304
+
301
305
### Zero impedance boundary branches
302
306
The following applies when the [`lowImpedanceBranchMode`](parameters.md) is set to `REPLACE_BY_ZERO_IMPEDANCE_LINE`.
303
307
Currently, computations involving zero-impedance branches used as boundary branches are not supported.
Copy file name to clipboardExpand all lines: docs/sensitivity/getting_started.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -47,10 +47,10 @@ Here is a table to summarize supported use cases:
47
47
## Input function types
48
48
49
49
### Branch sensitivity functions :
50
-
BRANCH_ACTIVE_POWER_#, BRANCH_REACTIVE_POWER_# or BRANCH_CURRENT_# are associated to branch objects (lines, transformers, dangling lines, tie lines). The # index corresponding to the side of the studied branch.
50
+
BRANCH_ACTIVE_POWER_#, BRANCH_REACTIVE_POWER_# or BRANCH_CURRENT_# are associated to branch objects (lines, transformers, boundary lines, tie lines). The # index corresponding to the side of the studied branch.
51
51
- If it is a line, a tie line, or a two windings transformer : The side is 1 or 2.
52
52
- If it is a three windings transformer : The side is 1, 2 or 3 corresponding to the studied leg of the transformer.
53
-
- If it is a dangling line : The side is 1 (network side) or 2 (boundary side). Note that if the dangling line is paired, only side 1 (network side) can be specified, and the sensitivity function is computed at the corresponding tie line side.
53
+
- If it is a boundary line : The side is 1 (network side) or 2 (boundary side). Note that if the boundary line is paired, only side 1 (network side) can be specified, and the sensitivity function is computed at the corresponding tie line side.
54
54
55
55
### Bus sensitivity functions :
56
56
BUS_VOLTAGE or BUS_REACTIVE_POWER are associated to the bus of the given network element.
// Compute the "margin" that has the area = the amount of power it can distribute and still have target - maxMismatch < interchange < target + maxMismatch
188
229
// We use the interchangeMismatchWithSlack here because:
189
230
// For areas without slack bus it changes nothing compared to use interchangeMismatch
190
231
// For areas with slack bus, the interchangeMismatchWithSlack is the interchange it would have if all the slack was distributed.
0 commit comments