From bc5210b172c1df7d290b2aef9782de8d0026fae8 Mon Sep 17 00:00:00 2001 From: Clemens Korner Date: Wed, 10 Dec 2025 19:40:39 +0000 Subject: [PATCH 1/3] implement loading_ for three winding transformer Signed-off-by: Clemens Korner --- .../data/attribute_classes/output.json | 15 +++++++++++++++ .../auxiliary/meta_gen/output.hpp | 5 ++++- .../power_grid_model/auxiliary/output.hpp | 3 +++ .../power_grid_model/component/branch3.hpp | 6 ++++++ .../component/three_winding_transformer.hpp | 5 ++++- .../power_grid_model_c/dataset_definitions.h | 6 ++++++ .../src/dataset_definitions.cpp | 6 ++++++ .../test_three_winding_transformer.cpp | 17 +++++++++++++---- 8 files changed, 57 insertions(+), 6 deletions(-) diff --git a/code_generation/data/attribute_classes/output.json b/code_generation/data/attribute_classes/output.json index b8c3108507..b35c44385f 100644 --- a/code_generation/data/attribute_classes/output.json +++ b/code_generation/data/attribute_classes/output.json @@ -78,6 +78,21 @@ "base": "BaseOutput", "is_template": true, "attributes": [ + { + "data_type": "double", + "names": "loading_1", + "description": "loading of the branch at site 1" + }, + { + "data_type": "double", + "names": "loading_2", + "description": "loading of the branch at site 2" + }, + { + "data_type": "double", + "names": "loading_3", + "description": "loading of the branch at site 3" + }, { "data_type": "double", "names": "loading", diff --git a/power_grid_model_c/power_grid_model/include/power_grid_model/auxiliary/meta_gen/output.hpp b/power_grid_model_c/power_grid_model/include/power_grid_model/auxiliary/meta_gen/output.hpp index 1e5f897a73..771d94303f 100644 --- a/power_grid_model_c/power_grid_model/include/power_grid_model/auxiliary/meta_gen/output.hpp +++ b/power_grid_model_c/power_grid_model/include/power_grid_model/auxiliary/meta_gen/output.hpp @@ -73,11 +73,14 @@ template struct get_attributes_list> { using sym = sym_type; - static constexpr std::array value{ + static constexpr std::array value{ // all attributes including base class meta_data_gen::get_meta_attribute<&Branch3Output::id>(offsetof(Branch3Output, id), "id"), meta_data_gen::get_meta_attribute<&Branch3Output::energized>(offsetof(Branch3Output, energized), "energized"), + meta_data_gen::get_meta_attribute<&Branch3Output::loading_1>(offsetof(Branch3Output, loading_1), "loading_1"), + meta_data_gen::get_meta_attribute<&Branch3Output::loading_2>(offsetof(Branch3Output, loading_2), "loading_2"), + meta_data_gen::get_meta_attribute<&Branch3Output::loading_3>(offsetof(Branch3Output, loading_3), "loading_3"), meta_data_gen::get_meta_attribute<&Branch3Output::loading>(offsetof(Branch3Output, loading), "loading"), meta_data_gen::get_meta_attribute<&Branch3Output::p_1>(offsetof(Branch3Output, p_1), "p_1"), meta_data_gen::get_meta_attribute<&Branch3Output::q_1>(offsetof(Branch3Output, q_1), "q_1"), diff --git a/power_grid_model_c/power_grid_model/include/power_grid_model/auxiliary/output.hpp b/power_grid_model_c/power_grid_model/include/power_grid_model/auxiliary/output.hpp index d983d3580e..bd83486deb 100644 --- a/power_grid_model_c/power_grid_model/include/power_grid_model/auxiliary/output.hpp +++ b/power_grid_model_c/power_grid_model/include/power_grid_model/auxiliary/output.hpp @@ -70,6 +70,9 @@ struct Branch3Output { ID id{na_IntID}; // ID of the object IntS energized{na_IntS}; // whether the object is energized + double loading_1{nan}; // loading of the branch at site 1 + double loading_2{nan}; // loading of the branch at site 2 + double loading_3{nan}; // loading of the branch at site 3 double loading{nan}; // loading of the branch RealValue p_1{nan}; // power flow at side 1 RealValue q_1{nan}; // power flow at side 1 diff --git a/power_grid_model_c/power_grid_model/include/power_grid_model/component/branch3.hpp b/power_grid_model_c/power_grid_model/include/power_grid_model/component/branch3.hpp index 0a084b3279..88f56eba9d 100644 --- a/power_grid_model_c/power_grid_model/include/power_grid_model/component/branch3.hpp +++ b/power_grid_model_c/power_grid_model/include/power_grid_model/component/branch3.hpp @@ -84,6 +84,9 @@ class Branch3 : public Base { virtual double base_i_1() const = 0; virtual double base_i_2() const = 0; virtual double base_i_3() const = 0; + virtual double loading_1(double s_1) const = 0; + virtual double loading_2(double s_2) const = 0; + virtual double loading_3(double s_3) const = 0; virtual double loading(double s_1, double s_2, double s_3) const = 0; virtual std::array phase_shift() const = 0; @@ -123,6 +126,9 @@ class Branch3 : public Base { output.s_3 = base_power * cabs(branch_solver_output3.s_f); output.loading = loading(sum_val(output.s_1), sum_val(output.s_2), sum_val(output.s_3)); + output.loading_1 = loading_1(sum_val(output.s_1)); + output.loading_2 = loading_2(sum_val(output.s_2)); + output.loading_3 = loading_3(sum_val(output.s_3)); return output; } diff --git a/power_grid_model_c/power_grid_model/include/power_grid_model/component/three_winding_transformer.hpp b/power_grid_model_c/power_grid_model/include/power_grid_model/component/three_winding_transformer.hpp index a2a79cbd09..11127ce0fb 100644 --- a/power_grid_model_c/power_grid_model/include/power_grid_model/component/three_winding_transformer.hpp +++ b/power_grid_model_c/power_grid_model/include/power_grid_model/component/three_winding_transformer.hpp @@ -104,8 +104,11 @@ class ThreeWindingTransformer : public Branch3 { double base_i_1() const final { return base_i_1_; } double base_i_2() const final { return base_i_2_; } double base_i_3() const final { return base_i_3_; } + double loading_1(double s_1) const final { return s_1 / sn_1_; } + double loading_2(double s_2) const final { return s_2 / sn_2_; } + double loading_3(double s_3) const final { return s_3 / sn_3_; } double loading(double s_1, double s_2, double s_3) const final { - return std::max({s_1 / sn_1_, s_2 / sn_2_, s_3 / sn_3_}); + return std::max({loading_1(s_1), loading_2(s_2), loading_3(s_3)}); } // 3-way branch, phase shift = phase_node_x - phase_internal_node // the clock_12 and clock_13 is reverted diff --git a/power_grid_model_c/power_grid_model_c/include/power_grid_model_c/dataset_definitions.h b/power_grid_model_c/power_grid_model_c/include/power_grid_model_c/dataset_definitions.h index 6af6842d3b..22510bbe8e 100644 --- a/power_grid_model_c/power_grid_model_c/include/power_grid_model_c/dataset_definitions.h +++ b/power_grid_model_c/power_grid_model_c/include/power_grid_model_c/dataset_definitions.h @@ -426,6 +426,9 @@ PGM_API extern PGM_MetaComponent const* const PGM_def_sym_output_three_winding_t // attributes of sym_output three_winding_transformer PGM_API extern PGM_MetaAttribute const* const PGM_def_sym_output_three_winding_transformer_id; PGM_API extern PGM_MetaAttribute const* const PGM_def_sym_output_three_winding_transformer_energized; +PGM_API extern PGM_MetaAttribute const* const PGM_def_sym_output_three_winding_transformer_loading_1; +PGM_API extern PGM_MetaAttribute const* const PGM_def_sym_output_three_winding_transformer_loading_2; +PGM_API extern PGM_MetaAttribute const* const PGM_def_sym_output_three_winding_transformer_loading_3; PGM_API extern PGM_MetaAttribute const* const PGM_def_sym_output_three_winding_transformer_loading; PGM_API extern PGM_MetaAttribute const* const PGM_def_sym_output_three_winding_transformer_p_1; PGM_API extern PGM_MetaAttribute const* const PGM_def_sym_output_three_winding_transformer_q_1; @@ -640,6 +643,9 @@ PGM_API extern PGM_MetaComponent const* const PGM_def_asym_output_three_winding_ // attributes of asym_output three_winding_transformer PGM_API extern PGM_MetaAttribute const* const PGM_def_asym_output_three_winding_transformer_id; PGM_API extern PGM_MetaAttribute const* const PGM_def_asym_output_three_winding_transformer_energized; +PGM_API extern PGM_MetaAttribute const* const PGM_def_asym_output_three_winding_transformer_loading_1; +PGM_API extern PGM_MetaAttribute const* const PGM_def_asym_output_three_winding_transformer_loading_2; +PGM_API extern PGM_MetaAttribute const* const PGM_def_asym_output_three_winding_transformer_loading_3; PGM_API extern PGM_MetaAttribute const* const PGM_def_asym_output_three_winding_transformer_loading; PGM_API extern PGM_MetaAttribute const* const PGM_def_asym_output_three_winding_transformer_p_1; PGM_API extern PGM_MetaAttribute const* const PGM_def_asym_output_three_winding_transformer_q_1; diff --git a/power_grid_model_c/power_grid_model_c/src/dataset_definitions.cpp b/power_grid_model_c/power_grid_model_c/src/dataset_definitions.cpp index 758c3c62ac..d293ce850b 100644 --- a/power_grid_model_c/power_grid_model_c/src/dataset_definitions.cpp +++ b/power_grid_model_c/power_grid_model_c/src/dataset_definitions.cpp @@ -415,6 +415,9 @@ PGM_MetaComponent const* const PGM_def_sym_output_three_winding_transformer = PG // attributes of sym_output three_winding_transformer PGM_MetaAttribute const* const PGM_def_sym_output_three_winding_transformer_id = PGM_meta_get_attribute_by_name(nullptr, "sym_output", "three_winding_transformer", "id"); PGM_MetaAttribute const* const PGM_def_sym_output_three_winding_transformer_energized = PGM_meta_get_attribute_by_name(nullptr, "sym_output", "three_winding_transformer", "energized"); +PGM_MetaAttribute const* const PGM_def_sym_output_three_winding_transformer_loading_1 = PGM_meta_get_attribute_by_name(nullptr, "sym_output", "three_winding_transformer", "loading_1"); +PGM_MetaAttribute const* const PGM_def_sym_output_three_winding_transformer_loading_2 = PGM_meta_get_attribute_by_name(nullptr, "sym_output", "three_winding_transformer", "loading_2"); +PGM_MetaAttribute const* const PGM_def_sym_output_three_winding_transformer_loading_3 = PGM_meta_get_attribute_by_name(nullptr, "sym_output", "three_winding_transformer", "loading_3"); PGM_MetaAttribute const* const PGM_def_sym_output_three_winding_transformer_loading = PGM_meta_get_attribute_by_name(nullptr, "sym_output", "three_winding_transformer", "loading"); PGM_MetaAttribute const* const PGM_def_sym_output_three_winding_transformer_p_1 = PGM_meta_get_attribute_by_name(nullptr, "sym_output", "three_winding_transformer", "p_1"); PGM_MetaAttribute const* const PGM_def_sym_output_three_winding_transformer_q_1 = PGM_meta_get_attribute_by_name(nullptr, "sym_output", "three_winding_transformer", "q_1"); @@ -629,6 +632,9 @@ PGM_MetaComponent const* const PGM_def_asym_output_three_winding_transformer = P // attributes of asym_output three_winding_transformer PGM_MetaAttribute const* const PGM_def_asym_output_three_winding_transformer_id = PGM_meta_get_attribute_by_name(nullptr, "asym_output", "three_winding_transformer", "id"); PGM_MetaAttribute const* const PGM_def_asym_output_three_winding_transformer_energized = PGM_meta_get_attribute_by_name(nullptr, "asym_output", "three_winding_transformer", "energized"); +PGM_MetaAttribute const* const PGM_def_asym_output_three_winding_transformer_loading_1 = PGM_meta_get_attribute_by_name(nullptr, "asym_output", "three_winding_transformer", "loading_1"); +PGM_MetaAttribute const* const PGM_def_asym_output_three_winding_transformer_loading_2 = PGM_meta_get_attribute_by_name(nullptr, "asym_output", "three_winding_transformer", "loading_2"); +PGM_MetaAttribute const* const PGM_def_asym_output_three_winding_transformer_loading_3 = PGM_meta_get_attribute_by_name(nullptr, "asym_output", "three_winding_transformer", "loading_3"); PGM_MetaAttribute const* const PGM_def_asym_output_three_winding_transformer_loading = PGM_meta_get_attribute_by_name(nullptr, "asym_output", "three_winding_transformer", "loading"); PGM_MetaAttribute const* const PGM_def_asym_output_three_winding_transformer_p_1 = PGM_meta_get_attribute_by_name(nullptr, "asym_output", "three_winding_transformer", "p_1"); PGM_MetaAttribute const* const PGM_def_asym_output_three_winding_transformer_q_1 = PGM_meta_get_attribute_by_name(nullptr, "asym_output", "three_winding_transformer", "q_1"); diff --git a/tests/cpp_unit_tests/test_three_winding_transformer.cpp b/tests/cpp_unit_tests/test_three_winding_transformer.cpp index 9a8ae7a724..2b4ade6dcc 100644 --- a/tests/cpp_unit_tests/test_three_winding_transformer.cpp +++ b/tests/cpp_unit_tests/test_three_winding_transformer.cpp @@ -342,8 +342,9 @@ TEST_CASE("Test three winding transformer") { double const out_q_3 = base_power * 1; double const out_i_3 = base_i_3 * cabs(b3_output.i_f); double const out_s_3 = base_power * cabs(b3_output.s_f); - // max loading is at branch 3 - double const out_loading = 0.316227766; + double const out_loading_1 = 0.037267800; + double const out_loading_2 = 0.072111026; + double const out_loading_3 = 0.316227766; CHECK(sym_output.id == 1); CHECK(sym_output.energized); @@ -359,7 +360,11 @@ TEST_CASE("Test three winding transformer") { CHECK(sym_output.q_3 == doctest::Approx(out_q_3)); CHECK(sym_output.i_3 == doctest::Approx(out_i_3)); CHECK(sym_output.s_3 == doctest::Approx(out_s_3)); - CHECK(sym_output.loading == doctest::Approx(out_loading)); + CHECK(sym_output.loading_1 == doctest::Approx(out_loading_1)); + CHECK(sym_output.loading_2 == doctest::Approx(out_loading_2)); + CHECK(sym_output.loading_3 == doctest::Approx(out_loading_3)); + // max loading is at branch 3 + CHECK(sym_output.loading == doctest::Approx(out_loading_3)); BranchSolverOutput const asym_b1_output{.s_f = {(1.0 - 2.0i), (1.0 - 2.0i), (1.0 - 2.0i)}, .s_t = {(2.0 - 3.0i), (2.0 - 3.0i), (2.0 - 3.0i)}, @@ -390,7 +395,11 @@ TEST_CASE("Test three winding transformer") { CHECK(asym_output.q_3(0) == doctest::Approx(out_q_3 / 3)); CHECK(asym_output.i_3(1) == doctest::Approx(out_i_3)); CHECK(asym_output.s_3(2) == doctest::Approx(out_s_3 / 3)); - CHECK(asym_output.loading == doctest::Approx(out_loading)); + CHECK(asym_output.loading_1 == doctest::Approx(out_loading_1)); + CHECK(asym_output.loading_2 == doctest::Approx(out_loading_2)); + CHECK(asym_output.loading_3 == doctest::Approx(out_loading_3)); + // max loading is at branch 3 + CHECK(asym_output.loading == doctest::Approx(out_loading_3)); } SUBCASE("Check asym short circuit output of branch 3") { From 3e61cefa4521646f1966fa6c0a77fcb255e2e188 Mon Sep 17 00:00:00 2001 From: Clemens Korner Date: Thu, 11 Dec 2025 08:19:41 +0100 Subject: [PATCH 2/3] fix typo in output.json "site" -> "side" Co-authored-by: Martijn Govers Signed-off-by: Clemens Korner --- code_generation/data/attribute_classes/output.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code_generation/data/attribute_classes/output.json b/code_generation/data/attribute_classes/output.json index b35c44385f..0c5d6280e1 100644 --- a/code_generation/data/attribute_classes/output.json +++ b/code_generation/data/attribute_classes/output.json @@ -81,17 +81,17 @@ { "data_type": "double", "names": "loading_1", - "description": "loading of the branch at site 1" + "description": "loading of the branch at side 1" }, { "data_type": "double", "names": "loading_2", - "description": "loading of the branch at site 2" + "description": "loading of the branch at side 2" }, { "data_type": "double", "names": "loading_3", - "description": "loading of the branch at site 3" + "description": "loading of the branch at side 3" }, { "data_type": "double", From 90c7ed96eaff84086c1239914e33abe795d43127 Mon Sep 17 00:00:00 2001 From: Clemens Korner Date: Fri, 12 Dec 2025 14:15:15 +0100 Subject: [PATCH 3/3] Calculate loading in branch3.hpp and adjust transformer 3 w tests Signed-off-by: Clemens Korner --- .../power_grid_model/auxiliary/output.hpp | 6 +- .../power_grid_model/component/branch3.hpp | 4 +- .../component/three_winding_transformer.hpp | 3 - .../asym_output_batch.json | 123 +++++++++++------- .../sym_output_batch.json | 32 ++++- 5 files changed, 114 insertions(+), 54 deletions(-) diff --git a/power_grid_model_c/power_grid_model/include/power_grid_model/auxiliary/output.hpp b/power_grid_model_c/power_grid_model/include/power_grid_model/auxiliary/output.hpp index bd83486deb..c5ad332db6 100644 --- a/power_grid_model_c/power_grid_model/include/power_grid_model/auxiliary/output.hpp +++ b/power_grid_model_c/power_grid_model/include/power_grid_model/auxiliary/output.hpp @@ -70,9 +70,9 @@ struct Branch3Output { ID id{na_IntID}; // ID of the object IntS energized{na_IntS}; // whether the object is energized - double loading_1{nan}; // loading of the branch at site 1 - double loading_2{nan}; // loading of the branch at site 2 - double loading_3{nan}; // loading of the branch at site 3 + double loading_1{nan}; // loading of the branch at side 1 + double loading_2{nan}; // loading of the branch at side 2 + double loading_3{nan}; // loading of the branch at side 3 double loading{nan}; // loading of the branch RealValue p_1{nan}; // power flow at side 1 RealValue q_1{nan}; // power flow at side 1 diff --git a/power_grid_model_c/power_grid_model/include/power_grid_model/component/branch3.hpp b/power_grid_model_c/power_grid_model/include/power_grid_model/component/branch3.hpp index 88f56eba9d..c46f6e265a 100644 --- a/power_grid_model_c/power_grid_model/include/power_grid_model/component/branch3.hpp +++ b/power_grid_model_c/power_grid_model/include/power_grid_model/component/branch3.hpp @@ -87,7 +87,9 @@ class Branch3 : public Base { virtual double loading_1(double s_1) const = 0; virtual double loading_2(double s_2) const = 0; virtual double loading_3(double s_3) const = 0; - virtual double loading(double s_1, double s_2, double s_3) const = 0; + double loading(double s_1, double s_2, double s_3) const { + return std::max({loading_1(s_1), loading_2(s_2), loading_3(s_3)}); + } virtual std::array phase_shift() const = 0; template diff --git a/power_grid_model_c/power_grid_model/include/power_grid_model/component/three_winding_transformer.hpp b/power_grid_model_c/power_grid_model/include/power_grid_model/component/three_winding_transformer.hpp index 11127ce0fb..e7ebf52037 100644 --- a/power_grid_model_c/power_grid_model/include/power_grid_model/component/three_winding_transformer.hpp +++ b/power_grid_model_c/power_grid_model/include/power_grid_model/component/three_winding_transformer.hpp @@ -107,9 +107,6 @@ class ThreeWindingTransformer : public Branch3 { double loading_1(double s_1) const final { return s_1 / sn_1_; } double loading_2(double s_2) const final { return s_2 / sn_2_; } double loading_3(double s_3) const final { return s_3 / sn_3_; } - double loading(double s_1, double s_2, double s_3) const final { - return std::max({loading_1(s_1), loading_2(s_2), loading_3(s_3)}); - } // 3-way branch, phase shift = phase_node_x - phase_internal_node // the clock_12 and clock_13 is reverted // because clock_12 is the phase shift node_1 - node_2 diff --git a/tests/data/power_flow/three-winding-transformer/asym_output_batch.json b/tests/data/power_flow/three-winding-transformer/asym_output_batch.json index c10b3dbc09..17221aa7a9 100644 --- a/tests/data/power_flow/three-winding-transformer/asym_output_batch.json +++ b/tests/data/power_flow/three-winding-transformer/asym_output_batch.json @@ -39,9 +39,9 @@ 42629.72443567 ], "u_angle": [ - 0.523598775598299, + 0.523598775598299, -1.570796326794897, - 2.617993877991494 + 2.617993877991494 ] }, { @@ -58,9 +58,9 @@ 8525.94488713 ], "u_angle": [ - 0.523598775598299, + 0.523598775598299, -1.570796326794897, - 2.617993877991494 + 2.617993877991494 ] } ], @@ -68,6 +68,9 @@ { "id": 4, "energized": 1, + "loading_1": 0.0, + "loading_2": 0.0, + "loading_3": 0.0, "loading": 0.0, "p_1": [ 0.0, @@ -131,7 +134,8 @@ ] } ] - }, { + }, + { "node": [ { "id": 1, @@ -166,9 +170,9 @@ 41736.48089298 ], "u_angle": [ - 0.523598775598299, + 0.523598775598299, -1.570796326794897, - 2.617993877991494 + 2.617993877991494 ] }, { @@ -185,9 +189,9 @@ 8347.2961786 ], "u_angle": [ - 0.523598775598299, + 0.523598775598299, -1.570796326794897, - 2.617993877991494 + 2.617993877991494 ] } ], @@ -195,6 +199,9 @@ { "id": 4, "energized": 1, + "loading_1": 0.0, + "loading_2": 0.0, + "loading_3": 0.0, "loading": 0.0, "p_1": [ 0.0, @@ -259,7 +266,7 @@ } ] }, - { + { "node": [ { "id": 1, @@ -294,9 +301,9 @@ 40879.90231427 ], "u_angle": [ - 0.523598775598299, + 0.523598775598299, -1.570796326794897, - 2.617993877991494 + 2.617993877991494 ] }, { @@ -313,9 +320,9 @@ 8175.98046285 ], "u_angle": [ - 0.523598775598299, + 0.523598775598299, -1.570796326794897, - 2.617993877991494 + 2.617993877991494 ] } ], @@ -323,6 +330,9 @@ { "id": 4, "energized": 1, + "loading_1": 0.0, + "loading_2": 0.0, + "loading_3": 0.0, "loading": 0.0, "p_1": [ 0.0, @@ -387,7 +397,7 @@ } ] }, - { + { "node": [ { "id": 1, @@ -422,9 +432,9 @@ 40057.77661923 ], "u_angle": [ - 0.523598775598299, + 0.523598775598299, -1.570796326794897, - 2.617993877991494 + 2.617993877991494 ] }, { @@ -441,9 +451,9 @@ 8011.55532385 ], "u_angle": [ - 0.523598775598299, + 0.523598775598299, -1.570796326794897, - 2.617993877991494 + 2.617993877991494 ] } ], @@ -451,6 +461,9 @@ { "id": 4, "energized": 1, + "loading_1": 0.0, + "loading_2": 0.0, + "loading_3": 0.0, "loading": 0.0, "p_1": [ 0.0, @@ -515,7 +528,7 @@ } ] }, - { + { "node": [ { "id": 1, @@ -550,9 +563,9 @@ 39268.06616588 ], "u_angle": [ - 0.523598775598299, + 0.523598775598299, -1.570796326794897, - 2.617993877991494 + 2.617993877991494 ] }, { @@ -569,9 +582,9 @@ 7853.61323318 ], "u_angle": [ - 0.523598775598299, + 0.523598775598299, -1.570796326794897, - 2.617993877991494 + 2.617993877991494 ] } ], @@ -579,6 +592,9 @@ { "id": 4, "energized": 1, + "loading_1": 0.0, + "loading_2": 0.0, + "loading_3": 0.0, "loading": 0.0, "p_1": [ 0.0, @@ -643,7 +659,7 @@ } ] }, - { + { "node": [ { "id": 1, @@ -678,9 +694,9 @@ 38508.89088837 ], "u_angle": [ - 0.523598775598299, + 0.523598775598299, -1.570796326794897, - 2.617993877991494 + 2.617993877991494 ] }, { @@ -697,9 +713,9 @@ 7701.77817767 ], "u_angle": [ - 0.523598775598299, + 0.523598775598299, -1.570796326794897, - 2.617993877991494 + 2.617993877991494 ] } ], @@ -707,6 +723,9 @@ { "id": 4, "energized": 1, + "loading_1": 0.0, + "loading_2": 0.0, + "loading_3": 0.0, "loading": 0.0, "p_1": [ 0.0, @@ -771,7 +790,7 @@ } ] }, - { + { "node": [ { "id": 1, @@ -806,9 +825,9 @@ 37778.51335365 ], "u_angle": [ - 0.523598775598299, + 0.523598775598299, -1.570796326794897, - 2.617993877991494 + 2.617993877991494 ] }, { @@ -825,9 +844,9 @@ 7555.70267073 ], "u_angle": [ - 0.523598775598299, + 0.523598775598299, -1.570796326794897, - 2.617993877991494 + 2.617993877991494 ] } ], @@ -835,6 +854,9 @@ { "id": 4, "energized": 1, + "loading_1": 0.0, + "loading_2": 0.0, + "loading_3": 0.0, "loading": 0.0, "p_1": [ 0.0, @@ -934,9 +956,9 @@ 37075.32548708 ], "u_angle": [ - 0.523598775598299, + 0.523598775598299, -1.570796326794897, - 2.617993877991494 + 2.617993877991494 ] }, { @@ -953,9 +975,9 @@ 7415.06509742 ], "u_angle": [ - 0.523598775598299, + 0.523598775598299, -1.570796326794897, - 2.617993877991494 + 2.617993877991494 ] } ], @@ -963,6 +985,9 @@ { "id": 4, "energized": 1, + "loading_1": 0.0, + "loading_2": 0.0, + "loading_3": 0.0, "loading": 0.0, "p_1": [ 0.0, @@ -1062,9 +1087,9 @@ 36397.83675333 ], "u_angle": [ - 0.523598775598299, + 0.523598775598299, -1.570796326794897, - 2.617993877991494 + 2.617993877991494 ] }, { @@ -1081,9 +1106,9 @@ 7279.56735067 ], "u_angle": [ - 0.523598775598299, + 0.523598775598299, -1.570796326794897, - 2.617993877991494 + 2.617993877991494 ] } ], @@ -1091,6 +1116,9 @@ { "id": 4, "energized": 1, + "loading_1": 0.0, + "loading_2": 0.0, + "loading_3": 0.0, "loading": 0.0, "p_1": [ 0.0, @@ -1190,9 +1218,9 @@ 35744.66361004 ], "u_angle": [ - 0.523598775598299, + 0.523598775598299, -1.570796326794897, - 2.617993877991494 + 2.617993877991494 ] }, { @@ -1209,9 +1237,9 @@ 7148.93272201 ], "u_angle": [ - 0.523598775598299, + 0.523598775598299, -1.570796326794897, - 2.617993877991494 + 2.617993877991494 ] } ], @@ -1219,6 +1247,9 @@ { "id": 4, "energized": 1, + "loading_1": 0.0, + "loading_2": 0.0, + "loading_3": 0.0, "loading": 0.0, "p_1": [ 0.0, diff --git a/tests/data/power_flow/three-winding-transformer/sym_output_batch.json b/tests/data/power_flow/three-winding-transformer/sym_output_batch.json index e51bbdf200..58dd567b8b 100644 --- a/tests/data/power_flow/three-winding-transformer/sym_output_batch.json +++ b/tests/data/power_flow/three-winding-transformer/sym_output_batch.json @@ -28,7 +28,10 @@ "three_winding_transformer": [ { "id": 4, - "loading": 9.732496033240084e-15, + "loading_1": 0.0, + "loading_2": 0.0, + "loading_3": 0.0, + "loading": 0.0, "p_1": 4.618527782440651e-08, "q_1": -5.6843418860808015e-08, "i_1": 3.0641848386786175e-13, @@ -65,6 +68,9 @@ "three_winding_transformer": [ { "id": 4, + "loading_1": 0.0, + "loading_2": 0.0, + "loading_3": 0.0, "loading": 0.0, "p_1": 0.0, "q_1": 0.0, @@ -102,6 +108,9 @@ "three_winding_transformer": [ { "id": 4, + "loading_1": 0.0, + "loading_2": 0.0, + "loading_3": 0.0, "loading": 0.0, "p_1": 0.0, "q_1": 0.0, @@ -139,6 +148,9 @@ "three_winding_transformer": [ { "id": 4, + "loading_1": 0.0, + "loading_2": 0.0, + "loading_3": 0.0, "loading": 0.0, "p_1": 0.0, "q_1": 0.0, @@ -176,6 +188,9 @@ "three_winding_transformer": [ { "id": 4, + "loading_1": 0.0, + "loading_2": 0.0, + "loading_3": 0.0, "loading": 0.0, "p_1": 0.0, "q_1": 0.0, @@ -213,6 +228,9 @@ "three_winding_transformer": [ { "id": 4, + "loading_1": 0.0, + "loading_2": 0.0, + "loading_3": 0.0, "loading": 0.0, "p_1": 0.0, "q_1": 0.0, @@ -250,6 +268,9 @@ "three_winding_transformer": [ { "id": 4, + "loading_1": 0.0, + "loading_2": 0.0, + "loading_3": 0.0, "loading": 0.0, "p_1": 0.0, "q_1": 0.0, @@ -287,6 +308,9 @@ "three_winding_transformer": [ { "id": 4, + "loading_1": 0.0, + "loading_2": 0.0, + "loading_3": 0.0, "loading": 0.0, "p_1": 0.0, "q_1": 0.0, @@ -324,6 +348,9 @@ "three_winding_transformer": [ { "id": 4, + "loading_1": 0.0, + "loading_2": 0.0, + "loading_3": 0.0, "loading": 0.0, "p_1": 0.0, "q_1": 0.0, @@ -361,6 +388,9 @@ "three_winding_transformer": [ { "id": 4, + "loading_1": 0.0, + "loading_2": 0.0, + "loading_3": 0.0, "loading": 0.0, "p_1": 0.0, "q_1": 0.0,