Skip to content

Commit 6800934

Browse files
committed
Add AsymPowerSensorArray
Signed-off-by: Thijs Baaijen <[email protected]>
1 parent d2d6619 commit 6800934

File tree

5 files changed

+35
-17
lines changed

5 files changed

+35
-17
lines changed

src/power_grid_model_ds/_core/model/arrays/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
from power_grid_model_ds._core.model.arrays.pgm_arrays import (
1010
AsymCurrentSensorArray,
1111
AsymLineArray,
12+
AsymPowerSensorArray,
1213
AsymVoltageSensorArray,
1314
Branch3Array,
1415
BranchArray,
@@ -29,6 +30,7 @@
2930
)
3031

3132
__all__ = [
33+
"AsymPowerSensorArray",
3234
"AsymVoltageSensorArray",
3335
"AsymCurrentSensorArray",
3436
"Branch3Array",

src/power_grid_model_ds/_core/model/arrays/pgm_arrays.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
from power_grid_model_ds._core.model.dtypes.regulators import TransformerTapRegulator
2828
from power_grid_model_ds._core.model.dtypes.sensors import (
2929
AsymCurrentSensor,
30+
AsymPowerSensor,
3031
AsymVoltageSensor,
3132
SymCurrentSensor,
3233
SymPowerSensor,
@@ -154,11 +155,15 @@ class SymVoltageSensorArray(IdArray, SymVoltageSensor):
154155
pass
155156

156157

157-
class AsymVoltageSensorArray(IdArray, AsymVoltageSensor):
158+
class SymCurrentSensorArray(IdArray, SymCurrentSensor):
158159
pass
159160

160161

161-
class SymCurrentSensorArray(IdArray, SymCurrentSensor):
162+
class AsymPowerSensorArray(IdArray, AsymPowerSensor):
163+
pass
164+
165+
166+
class AsymVoltageSensorArray(IdArray, AsymVoltageSensor):
162167
pass
163168

164169

src/power_grid_model_ds/_core/model/dtypes/sensors.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ class GenericPowerSensor(Sensor):
3131
"""Base class for power sensor data type"""
3232

3333
measured_terminal_type: NDArray[np.int32]
34-
power_sigma: NDArray[np.float64] # std of total power
3534

3635

3736
class SymPowerSensor(GenericPowerSensor):
@@ -43,6 +42,15 @@ class SymPowerSensor(GenericPowerSensor):
4342
q_sigma: NDArray[np.float64] # std of reactive power
4443

4544

45+
class AsymPowerSensor(GenericPowerSensor):
46+
"""AsymPowerSensor data type"""
47+
48+
p_measured: NDArray3[np.float64] # measured active power
49+
q_measured: NDArray3[np.float64] # measured reactive power
50+
p_sigma: NDArray3[np.float64] # std of active power
51+
q_sigma: NDArray3[np.float64] # std of reactive power
52+
53+
4654
class GenericVoltageSensor(Sensor):
4755
"""Base class for voltage sensor data type"""
4856

src/power_grid_model_ds/_core/model/grids/base.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
from power_grid_model_ds._core.model.arrays import (
2020
AsymCurrentSensorArray,
2121
AsymLineArray,
22+
AsymPowerSensorArray,
2223
AsymVoltageSensorArray,
2324
Branch3Array,
2425
BranchArray,
@@ -89,8 +90,9 @@ class Grid(FancyArrayContainer):
8990
# sensors
9091
sym_power_sensor: SymPowerSensorArray
9192
sym_voltage_sensor: SymVoltageSensorArray
92-
asym_voltage_sensor: AsymVoltageSensorArray
9393
sym_current_sensor: SymCurrentSensorArray
94+
asym_power_sensor: AsymPowerSensorArray
95+
asym_voltage_sensor: AsymVoltageSensorArray
9496
asym_current_sensor: AsymCurrentSensorArray
9597

9698
def __str__(self) -> str:

tests/unit/model/grids/test_grid_base.py

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -31,24 +31,25 @@ def test_initialize_empty_grid(grid: Grid):
3131
assert isinstance(grid, Grid)
3232
fields = dataclasses.asdict(grid).keys()
3333
assert {
34-
"link",
35-
"sym_load",
36-
"sym_power_sensor",
37-
"source",
3834
"_id_counter",
39-
"transformer_tap_regulator",
40-
"asym_voltage_sensor",
41-
"sym_current_sensor",
4235
"asym_current_sensor",
43-
"three_winding_transformer",
44-
"transformer",
45-
"node",
46-
"line",
47-
"generic_branch",
4836
"asym_line",
49-
"sym_gen",
37+
"asym_power_sensor",
38+
"asym_voltage_sensor",
39+
"generic_branch",
5040
"graphs",
41+
"line",
42+
"link",
43+
"node",
44+
"source",
45+
"sym_current_sensor",
46+
"sym_gen",
47+
"sym_load",
48+
"sym_power_sensor",
5149
"sym_voltage_sensor",
50+
"three_winding_transformer",
51+
"transformer",
52+
"transformer_tap_regulator",
5253
} == set(fields)
5354

5455

0 commit comments

Comments
 (0)