diff --git a/tests/data/state_estimation/leaf-without-power-sensor/input.json b/tests/data/state_estimation/leaf-without-power-sensor/input.json new file mode 100644 index 000000000..a6a823bcb --- /dev/null +++ b/tests/data/state_estimation/leaf-without-power-sensor/input.json @@ -0,0 +1,27 @@ +{ + "version": "1.0", + "type": "input", + "is_batch": false, + "attributes": {}, + "data": { + "node": [ + {"id": 0, "u_rated": 10}, + {"id": 1, "u_rated": 10} + ], + "line": [ + {"id": 2, "from_node": 0, "to_node": 1, "from_status": 1, "to_status": 1, "r1": 1.0, "x1": 0.0, "c1": 0.0, "tan1": 0.0, "i_n": 500} + ], + "source": [ + {"id": 3, "node": 0, "status": 1, "u_ref": 1.0} + ], + "sym_load": [ + {"id": 4, "node": 1, "status": 1, "type": 0, "p_specified": 9, "q_specified": 0} + ], + "sym_power_sensor": [ + {"id": 5, "measured_object": 3, "measured_terminal_type": 2, "power_sigma": 1, "p_measured": 10, "q_measured": 0} + ], + "sym_voltage_sensor": [ + {"id": 6, "measured_object": 0, "u_sigma": 1, "u_measured": 10} + ] + } +} \ No newline at end of file diff --git a/tests/data/state_estimation/leaf-without-power-sensor/input.json.license b/tests/data/state_estimation/leaf-without-power-sensor/input.json.license new file mode 100644 index 000000000..760105916 --- /dev/null +++ b/tests/data/state_estimation/leaf-without-power-sensor/input.json.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: Contributors to the Power Grid Model project + +SPDX-License-Identifier: MPL-2.0 diff --git a/tests/data/state_estimation/leaf-without-power-sensor/params.json b/tests/data/state_estimation/leaf-without-power-sensor/params.json new file mode 100644 index 000000000..4167e1fbf --- /dev/null +++ b/tests/data/state_estimation/leaf-without-power-sensor/params.json @@ -0,0 +1,12 @@ +{ + "calculation_method": ["newton_raphson", "iterative_linear"], + "rtol": 1e-8, + "atol": { + "default": 1e-8, + ".+_residual": 5e-4 + }, + "fail": { + "raises": "SparseMatrixError", + "reason": "Bug in Sparse LU solver found in #853" + } +} \ No newline at end of file diff --git a/tests/data/state_estimation/leaf-without-power-sensor/params.json.license b/tests/data/state_estimation/leaf-without-power-sensor/params.json.license new file mode 100644 index 000000000..760105916 --- /dev/null +++ b/tests/data/state_estimation/leaf-without-power-sensor/params.json.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: Contributors to the Power Grid Model project + +SPDX-License-Identifier: MPL-2.0 diff --git a/tests/data/state_estimation/leaf-without-power-sensor/sym_output.json b/tests/data/state_estimation/leaf-without-power-sensor/sym_output.json new file mode 100644 index 000000000..c0abb2f1c --- /dev/null +++ b/tests/data/state_estimation/leaf-without-power-sensor/sym_output.json @@ -0,0 +1,27 @@ +{ + "version": "1.0", + "type": "sym_output", + "is_batch": false, + "attributes": {}, + "data": { + "node": [ + {"id": 0, "energized": 1, "u_pu": 1, "u": 10, "u_angle": 0}, + {"id": 1, "energized": 1, "u_pu": 0.9, "u": 9, "u_angle": 0} + ], + "line": [ + {"id": 2, "energized": 1, "p_from": 10, "q_from": 0, "p_to": -9, "q_to": -0} + ], + "source": [ + {"id": 3, "energized": 1, "p": 10, "q": 0} + ], + "sym_load": [ + {"id": 4, "energized": 1, "p": 9, "q": 0} + ], + "sym_power_sensor": [ + {"id": 5, "energized": 1, "p_residual": 0, "q_residual": 0} + ], + "sym_voltage_sensor": [ + {"id": 6, "energized": 1, "u_residual": 0} + ] + } +} \ No newline at end of file diff --git a/tests/data/state_estimation/leaf-without-power-sensor/sym_output.json.license b/tests/data/state_estimation/leaf-without-power-sensor/sym_output.json.license new file mode 100644 index 000000000..760105916 --- /dev/null +++ b/tests/data/state_estimation/leaf-without-power-sensor/sym_output.json.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: Contributors to the Power Grid Model project + +SPDX-License-Identifier: MPL-2.0 diff --git a/tests/data/state_estimation/middle-without-power-sensor/input.json b/tests/data/state_estimation/middle-without-power-sensor/input.json new file mode 100644 index 000000000..60c774719 --- /dev/null +++ b/tests/data/state_estimation/middle-without-power-sensor/input.json @@ -0,0 +1,29 @@ +{ + "version": "1.0", + "type": "input", + "is_batch": false, + "attributes": {}, + "data": { + "node": [ + {"id": 0, "u_rated": 10}, + {"id": 1, "u_rated": 10}, + {"id": 7, "u_rated": 10} + ], + "line": [ + {"id": 2, "from_node": 0, "to_node": 1, "from_status": 1, "to_status": 1, "r1": 1.0, "x1": 0.0, "c1": 0.0, "tan1": 0.0, "i_n": 500}, + {"id": 8, "from_node": 1, "to_node": 7, "from_status": 1, "to_status": 1, "r1": 1.0, "x1": 0.0, "c1": 0.0, "tan1": 0.0, "i_n": 500} + ], + "source": [ + {"id": 3, "node": 0, "status": 1, "u_ref": 1.0} + ], + "sym_load": [ + {"id": 4, "node": 1, "status": 1, "type": 0, "p_specified": 9, "q_specified": 0} + ], + "sym_power_sensor": [ + {"id": 5, "measured_object": 3, "measured_terminal_type": 2, "power_sigma": 1, "p_measured": 10, "q_measured": 0} + ], + "sym_voltage_sensor": [ + {"id": 6, "measured_object": 0, "u_sigma": 1, "u_measured": 10} + ] + } +} \ No newline at end of file diff --git a/tests/data/state_estimation/middle-without-power-sensor/input.json.license b/tests/data/state_estimation/middle-without-power-sensor/input.json.license new file mode 100644 index 000000000..760105916 --- /dev/null +++ b/tests/data/state_estimation/middle-without-power-sensor/input.json.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: Contributors to the Power Grid Model project + +SPDX-License-Identifier: MPL-2.0 diff --git a/tests/data/state_estimation/middle-without-power-sensor/params.json b/tests/data/state_estimation/middle-without-power-sensor/params.json new file mode 100644 index 000000000..4167e1fbf --- /dev/null +++ b/tests/data/state_estimation/middle-without-power-sensor/params.json @@ -0,0 +1,12 @@ +{ + "calculation_method": ["newton_raphson", "iterative_linear"], + "rtol": 1e-8, + "atol": { + "default": 1e-8, + ".+_residual": 5e-4 + }, + "fail": { + "raises": "SparseMatrixError", + "reason": "Bug in Sparse LU solver found in #853" + } +} \ No newline at end of file diff --git a/tests/data/state_estimation/middle-without-power-sensor/params.json.license b/tests/data/state_estimation/middle-without-power-sensor/params.json.license new file mode 100644 index 000000000..760105916 --- /dev/null +++ b/tests/data/state_estimation/middle-without-power-sensor/params.json.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: Contributors to the Power Grid Model project + +SPDX-License-Identifier: MPL-2.0 diff --git a/tests/data/state_estimation/middle-without-power-sensor/sym_output.json b/tests/data/state_estimation/middle-without-power-sensor/sym_output.json new file mode 100644 index 000000000..9ea2249f5 --- /dev/null +++ b/tests/data/state_estimation/middle-without-power-sensor/sym_output.json @@ -0,0 +1,29 @@ +{ + "version": "1.0", + "type": "sym_output", + "is_batch": false, + "attributes": {}, + "data": { + "node": [ + {"id": 0, "energized": 1, "u_pu": 1, "u": 10, "u_angle": 0}, + {"id": 1, "energized": 1, "u_pu": 0.9, "u": 9, "u_angle": 0}, + {"id": 7, "energized": 1, "u_pu": 0.9, "u": 9, "u_angle": 0} + ], + "line": [ + {"id": 2, "energized": 1, "p_from": 10, "q_from": 0, "p_to": -9, "q_to": 0}, + {"id": 8, "energized": 1, "p_from": 0, "q_from": 0, "p_to": 0, "q_to": 0} + ], + "source": [ + {"id": 3, "energized": 1, "p": 10, "q": 0} + ], + "sym_load": [ + {"id": 4, "energized": 1, "p": 9, "q": 0} + ], + "sym_power_sensor": [ + {"id": 5, "energized": 1, "p_residual": 0, "q_residual": 0} + ], + "sym_voltage_sensor": [ + {"id": 6, "energized": 1, "u_residual": 0} + ] + } +} \ No newline at end of file diff --git a/tests/data/state_estimation/middle-without-power-sensor/sym_output.json.license b/tests/data/state_estimation/middle-without-power-sensor/sym_output.json.license new file mode 100644 index 000000000..760105916 --- /dev/null +++ b/tests/data/state_estimation/middle-without-power-sensor/sym_output.json.license @@ -0,0 +1,3 @@ +SPDX-FileCopyrightText: Contributors to the Power Grid Model project + +SPDX-License-Identifier: MPL-2.0 diff --git a/tests/unit/utils.py b/tests/unit/utils.py index 6de4a7429..7d246e3fd 100644 --- a/tests/unit/utils.py +++ b/tests/unit/utils.py @@ -29,6 +29,7 @@ PowerGridBatchError, PowerGridError, PowerGridSerializationError, + SparseMatrixError, ) from power_grid_model.utils import json_deserialize, json_deserialize_from_file, json_serialize_to_file @@ -55,6 +56,7 @@ AutomaticTapCalculationError, InvalidTransformerClock, NotObservableError, + SparseMatrixError, PowerGridSerializationError, AssertionError, OSError,