Skip to content

Commit 1749018

Browse files
committed
add current sensor to observability check docs
Signed-off-by: Martijn Govers <Martijn.Govers@Alliander.com>
1 parent 05e24d2 commit 1749018

File tree

1 file changed

+16
-10
lines changed

1 file changed

+16
-10
lines changed

docs/user_manual/calculations.md

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -57,10 +57,13 @@ Output:
5757
- Power flow through branches
5858
- Deviation between measurement values and estimated state
5959

60-
In order to perform a state estimation, the system should be observable. If the system is not observable, the calculation will raise either a `NotObservableError` or
61-
a `SparseMatrixError`.
62-
In short, meeting the requirement of observability indicates that the system is either an overdetermined system (when the number of measurements is larger than the number of unknowns.
63-
For each node, there are two unknowns, `u` and `u_angle`. Due to the relative nature of `u_angle` (relevant only in systems with at least two nodes), in total the following conditions should be met:
60+
In order to perform a state estimation, the system should be observable. If the system is not observable,
61+
the calculation will raise either a `NotObservableError` or a `SparseMatrixError`.
62+
In short, meeting the requirement of observability indicates that the system is either an overdetermined
63+
system (when the number of independent measurements is larger than the number of unknowns) or an exactly
64+
determined system (the number of independent measurements equals the number of unknowns).
65+
For each node, there are two unknowns, `u` and `u_angle`. Due to the relative nature of `u_angle`
66+
(relevant only in systems with at least two nodes), in total the following conditions should be met:
6467

6568
$$
6669
\begin{eqnarray}
@@ -82,11 +85,15 @@ The number of measurements can be found by taking the sum of the following:
8285
- two times the number of nodes with a voltage sensor with magnitude and angle
8386
- two times the number of nodes without appliances connected
8487
- two times the number of nodes where all connected appliances are measured by a power sensor
85-
- two times the number of branches with a power sensor
88+
- two times the number of branches with a power sensor and/or a current sensor
8689

8790
```{note}
8891
Having enough measurements does not necessarily mean that the system is observable. The location of the measurements is
89-
also of importance. Additionally, there should be at least one voltage measurement.
92+
also of importance, i.e., the measurements should be topologically independent. Additionally, there should be at least one voltage measurement.
93+
```
94+
95+
```{note}
96+
Global angle current measurements require at least one voltage angle measurement to make sense.
9097
```
9198

9299
```{warning}
@@ -99,9 +106,9 @@ In observable systems this helps better outputting correct results. On the other
99106
Based on the requirements of observability mentioned above, users need to satisfy at least the following conditions for state estimation calculation in `power-grid-model`.
100107

101108
- `n_voltage_sensor >= 1`
102-
- If no voltage phasor sensors are available, then the following conditions should be satisfied: `n_unique_power_sensor >= n_bus - 1`. Otherwise: `n_unique_power_sensor + n_voltage_sensor_with_phasor >= n_bus`
109+
- If no voltage phasor sensors are available, then the following conditions should be satisfied: `n_unique_power_or_current_sensor >= n_bus - 1`. Otherwise: `n_unique_power_or_current_sensor + n_voltage_sensor_with_phasor >= n_bus`
103110

104-
`n_unique_power_sensor` can be calculated as sum of following:
111+
`n_unique_power_or_current_sensor` can be calculated as sum of following:
105112

106113
- Zero injection or zero power flow constraint if present for all nodes.
107114
- Complete injections for all nodes: All appliances in a node are measured or a node injection sensor is present. Either of them counts as one.
@@ -699,7 +706,7 @@ We provide the control logic used for tap changing. For simplicity, we demonstra
699706
- Exploit the neighbourhood of all transformers (see {hoverxreftooltip}`user_manual/calculations:Initialization and exploitation of regulated transformers`)
700707
- Re-run the iteration in the above if any of the tap positions changed by the exploitation.
701708

702-
In the case where the control side of the regulator and the tap side of the transformer are at the same side, the control logic of taps will be reverted (see `user_manual/calculations:Initialization and exploitation of regulated transformers`).
709+
In the case where the control side of the regulator and the tap side of the transformer are at the same side, the control logic of taps will be reverted (see `user_manual/calculations:Initialization and exploitation of regulated transformers`).
703710
The exploitation of the neighbourhood ensures that the actual optimum is not accidentally missed due to feedback mechanisms in the grid.
704711

705712
```{note}
@@ -735,7 +742,6 @@ Internally, to achieve an optimal regulated tap position, the control algorithm
735742
| regulator control side != transformer tap side | `tap_max` | `tap_min` | step up | step down |
736743
| regulator control side == transformer tap side | `tap_min` | `tap_max` | step down | step up |
737744

738-
739745
##### Search methods used for tap changing optimization
740746

741747
Given the discrete nature of the finite tap ranges, we use the following search methods to find the next tap position along the exploitation direction.

0 commit comments

Comments
 (0)