From 34ba5b2638d1d009033e0083405de2a1f568d178 Mon Sep 17 00:00:00 2001 From: Nitish Bharambe Date: Mon, 29 Sep 2025 17:18:47 +0200 Subject: [PATCH 1/6] change to forward declarations Signed-off-by: Nitish Bharambe --- .../power_grid_model/all_components.hpp | 18 +----- .../power_grid_model/component/component.hpp | 63 +++++++++++++++++++ .../component/current_sensor.hpp | 3 - .../power_grid_model/component/load_gen.hpp | 17 ----- .../component/power_sensor.hpp | 3 - .../power_grid_model/component/shunt.hpp | 1 - .../component/transformer_tap_regulator.hpp | 1 - .../component/voltage_sensor.hpp | 3 - .../main_core/container_queries.hpp | 2 +- .../power_grid_model/main_core/input.hpp | 5 +- .../main_core/main_model_type.hpp | 2 +- .../power_grid_model/main_core/output.hpp | 10 +-- .../main_core/state_queries.hpp | 4 +- .../power_grid_model/main_core/topology.hpp | 2 +- .../power_grid_model/main_core/update.hpp | 3 +- .../include/power_grid_model/main_model.hpp | 1 + .../power_grid_model/main_model_impl.hpp | 2 +- .../iterative_current_pf_solver.hpp | 1 - .../math_solver/linear_pf_solver.hpp | 1 - .../math_solver/math_solver_dispatch.hpp | 3 +- .../math_solver/newton_raphson_pf_solver.hpp | 1 - .../cpp_unit_tests/test_main_core_output.cpp | 1 + 22 files changed, 85 insertions(+), 62 deletions(-) diff --git a/power_grid_model_c/power_grid_model/include/power_grid_model/all_components.hpp b/power_grid_model_c/power_grid_model/include/power_grid_model/all_components.hpp index c275535b54..bd71215c9f 100644 --- a/power_grid_model_c/power_grid_model/include/power_grid_model/all_components.hpp +++ b/power_grid_model_c/power_grid_model/include/power_grid_model/all_components.hpp @@ -5,8 +5,9 @@ #pragma once // define all components -#include "common/common.hpp" -#include "common/component_list.hpp" +// #include "common/common.hpp" +#include "component/component.hpp" +// #include "common/component_list.hpp" // component include #include "component/appliance.hpp" #include "component/asym_line.hpp" @@ -25,16 +26,3 @@ #include "component/transformer.hpp" #include "component/transformer_tap_regulator.hpp" #include "component/voltage_sensor.hpp" - -namespace power_grid_model { - -using AllComponents = - ComponentList; - -using AllExtraRetrievableTypes = - ExtraRetrievableTypes; - -} // namespace power_grid_model diff --git a/power_grid_model_c/power_grid_model/include/power_grid_model/component/component.hpp b/power_grid_model_c/power_grid_model/include/power_grid_model/component/component.hpp index 18236cbcd0..ce311da900 100644 --- a/power_grid_model_c/power_grid_model/include/power_grid_model/component/component.hpp +++ b/power_grid_model_c/power_grid_model/include/power_grid_model/component/component.hpp @@ -5,6 +5,7 @@ #pragma once #include "../common/common.hpp" +#include "../common/component_list.hpp" #include "../common/enum.hpp" #include @@ -36,4 +37,66 @@ concept component_c = requires(T t, T const& ct, typename T::UpdateType u, typen { ct.inverse(u) } -> std::same_as; }; +struct load_appliance_t {}; +struct gen_appliance_t {}; + +template +concept appliance_type_tag = std::same_as || std::same_as; +template constexpr bool is_generator_v = std::same_as; + +static_assert(appliance_type_tag); +static_assert(appliance_type_tag); +static_assert(!is_generator_v); +static_assert(is_generator_v); + +class Base; +class Node; +class Branch; +class Branch3; +class Appliance; +class GenericLoadGen; +class GenericLoad; +class GenericGenerator; +class GenericPowerSensor; +class GenericVoltageSensor; +class GenericCurrentSensor; +class Regulator; +class Line; +class AsymLine; +class Link; +class GenericBranch; +class Transformer; +class ThreeWindingTransformer; +class Shunt; +class Source; + +template class LoadGen; +using SymGenerator = LoadGen; +using AsymGenerator = LoadGen; +using SymLoad = LoadGen; +using AsymLoad = LoadGen; + +template class PowerSensor; +using SymPowerSensor = PowerSensor; +using AsymPowerSensor = PowerSensor; + +template class VoltageSensor; +using SymVoltageSensor = VoltageSensor; +using AsymVoltageSensor = VoltageSensor; +template class CurrentSensor; +using SymCurrentSensor = CurrentSensor; +using AsymCurrentSensor = CurrentSensor; + +class Fault; +class TransformerTapRegulator; + +using AllComponents = + ComponentList; + +using AllExtraRetrievableTypes = + ExtraRetrievableTypes; + } // namespace power_grid_model diff --git a/power_grid_model_c/power_grid_model/include/power_grid_model/component/current_sensor.hpp b/power_grid_model_c/power_grid_model/include/power_grid_model/component/current_sensor.hpp index 362948cd57..2d4e4b08e9 100644 --- a/power_grid_model_c/power_grid_model/include/power_grid_model/component/current_sensor.hpp +++ b/power_grid_model_c/power_grid_model/include/power_grid_model/component/current_sensor.hpp @@ -179,7 +179,4 @@ template class CurrentSensor : public Ge } }; -using SymCurrentSensor = CurrentSensor; -using AsymCurrentSensor = CurrentSensor; - } // namespace power_grid_model diff --git a/power_grid_model_c/power_grid_model/include/power_grid_model/component/load_gen.hpp b/power_grid_model_c/power_grid_model/include/power_grid_model/component/load_gen.hpp index b00a0c0431..acf0a6b4b4 100644 --- a/power_grid_model_c/power_grid_model/include/power_grid_model/component/load_gen.hpp +++ b/power_grid_model_c/power_grid_model/include/power_grid_model/component/load_gen.hpp @@ -5,7 +5,6 @@ #pragma once #include "appliance.hpp" -#include "base.hpp" #include "../auxiliary/input.hpp" #include "../auxiliary/output.hpp" @@ -17,18 +16,6 @@ namespace power_grid_model { -struct load_appliance_t {}; -struct gen_appliance_t {}; - -template -concept appliance_type_tag = std::same_as || std::same_as; -template constexpr bool is_generator_v = std::same_as; - -static_assert(appliance_type_tag); -static_assert(appliance_type_tag); -static_assert(!is_generator_v); -static_assert(is_generator_v); - class GenericLoadGen : public Appliance { public: using InputType = GenericLoadGenInput; @@ -184,9 +171,5 @@ template class LoadGen; template class LoadGen; template class LoadGen; // alias -using SymGenerator = LoadGen; -using AsymGenerator = LoadGen; -using SymLoad = LoadGen; -using AsymLoad = LoadGen; } // namespace power_grid_model diff --git a/power_grid_model_c/power_grid_model/include/power_grid_model/component/power_sensor.hpp b/power_grid_model_c/power_grid_model/include/power_grid_model/component/power_sensor.hpp index 0540bedaaf..ff0b005f19 100644 --- a/power_grid_model_c/power_grid_model/include/power_grid_model/component/power_sensor.hpp +++ b/power_grid_model_c/power_grid_model/include/power_grid_model/component/power_sensor.hpp @@ -183,7 +183,4 @@ template class PowerSensor : public Generi } }; -using SymPowerSensor = PowerSensor; -using AsymPowerSensor = PowerSensor; - } // namespace power_grid_model diff --git a/power_grid_model_c/power_grid_model/include/power_grid_model/component/shunt.hpp b/power_grid_model_c/power_grid_model/include/power_grid_model/component/shunt.hpp index f5147bc837..c6160d4af0 100644 --- a/power_grid_model_c/power_grid_model/include/power_grid_model/component/shunt.hpp +++ b/power_grid_model_c/power_grid_model/include/power_grid_model/component/shunt.hpp @@ -5,7 +5,6 @@ #pragma once #include "appliance.hpp" -#include "base.hpp" #include "../auxiliary/input.hpp" #include "../auxiliary/output.hpp" diff --git a/power_grid_model_c/power_grid_model/include/power_grid_model/component/transformer_tap_regulator.hpp b/power_grid_model_c/power_grid_model/include/power_grid_model/component/transformer_tap_regulator.hpp index c16f8d0ff8..624e59ace3 100644 --- a/power_grid_model_c/power_grid_model/include/power_grid_model/component/transformer_tap_regulator.hpp +++ b/power_grid_model_c/power_grid_model/include/power_grid_model/component/transformer_tap_regulator.hpp @@ -4,7 +4,6 @@ #pragma once -#include "base.hpp" #include "regulator.hpp" #include "../auxiliary/input.hpp" diff --git a/power_grid_model_c/power_grid_model/include/power_grid_model/component/voltage_sensor.hpp b/power_grid_model_c/power_grid_model/include/power_grid_model/component/voltage_sensor.hpp index 6eb264ace4..e3d0062781 100644 --- a/power_grid_model_c/power_grid_model/include/power_grid_model/component/voltage_sensor.hpp +++ b/power_grid_model_c/power_grid_model/include/power_grid_model/component/voltage_sensor.hpp @@ -165,7 +165,4 @@ template class VoltageSensor : public GenericVoltageSensor { } }; -using SymVoltageSensor = VoltageSensor; -using AsymVoltageSensor = VoltageSensor; - } // namespace power_grid_model diff --git a/power_grid_model_c/power_grid_model/include/power_grid_model/main_core/container_queries.hpp b/power_grid_model_c/power_grid_model/include/power_grid_model/main_core/container_queries.hpp index ac4312108f..d5eeace5d4 100644 --- a/power_grid_model_c/power_grid_model/include/power_grid_model/main_core/container_queries.hpp +++ b/power_grid_model_c/power_grid_model/include/power_grid_model/main_core/container_queries.hpp @@ -4,7 +4,7 @@ #pragma once -#include "../all_components.hpp" +#include "../component/component.hpp" #include "../container.hpp" namespace power_grid_model::main_core { diff --git a/power_grid_model_c/power_grid_model/include/power_grid_model/main_core/input.hpp b/power_grid_model_c/power_grid_model/include/power_grid_model/main_core/input.hpp index 53cee3abe0..6e236525b7 100644 --- a/power_grid_model_c/power_grid_model/include/power_grid_model/main_core/input.hpp +++ b/power_grid_model_c/power_grid_model/include/power_grid_model/main_core/input.hpp @@ -4,8 +4,11 @@ #pragma once -#include "../all_components.hpp" +#include "state.hpp" +#include "state_queries.hpp" + #include "../common/iterator_facade.hpp" +#include "../component/component.hpp" #include diff --git a/power_grid_model_c/power_grid_model/include/power_grid_model/main_core/main_model_type.hpp b/power_grid_model_c/power_grid_model/include/power_grid_model/main_core/main_model_type.hpp index 32ba2ca730..bc27876af9 100644 --- a/power_grid_model_c/power_grid_model/include/power_grid_model/main_core/main_model_type.hpp +++ b/power_grid_model_c/power_grid_model/include/power_grid_model/main_core/main_model_type.hpp @@ -4,7 +4,7 @@ #pragma once -#include "../all_components.hpp" +#include "../component/component.hpp" #include "../container.hpp" #include "state.hpp" #include "update.hpp" diff --git a/power_grid_model_c/power_grid_model/include/power_grid_model/main_core/output.hpp b/power_grid_model_c/power_grid_model/include/power_grid_model/main_core/output.hpp index 330da5bebb..106e5dbc4d 100644 --- a/power_grid_model_c/power_grid_model/include/power_grid_model/main_core/output.hpp +++ b/power_grid_model_c/power_grid_model/include/power_grid_model/main_core/output.hpp @@ -8,7 +8,7 @@ #include "state.hpp" #include "state_queries.hpp" -#include "../all_components.hpp" +#include "../component/component.hpp" #include @@ -115,14 +115,14 @@ constexpr void produce_output(MainModelState const& state, C // output node template Component, steady_state_solver_output_type SolverOutputType> -constexpr auto output_result(Node const& node, std::vector const& solver_output, Idx2D math_id) { +constexpr auto output_result(Component const& node, std::vector const& solver_output, Idx2D math_id) { using sym = typename SolverOutputType::sym; if (math_id.group == -1) { - return node.get_null_output(); + return node.template get_null_output(); } - return node.get_output(solver_output[math_id.group].u[math_id.pos], - solver_output[math_id.group].bus_injection[math_id.pos]); + return node.template get_output(solver_output[math_id.group].u[math_id.pos], + solver_output[math_id.group].bus_injection[math_id.pos]); } template Component, short_circuit_solver_output_type SolverOutputType> inline auto output_result(Component const& node, std::vector const& solver_output, Idx2D math_id) { diff --git a/power_grid_model_c/power_grid_model/include/power_grid_model/main_core/state_queries.hpp b/power_grid_model_c/power_grid_model/include/power_grid_model/main_core/state_queries.hpp index b3a5e64b7b..4ca1a87106 100644 --- a/power_grid_model_c/power_grid_model/include/power_grid_model/main_core/state_queries.hpp +++ b/power_grid_model_c/power_grid_model/include/power_grid_model/main_core/state_queries.hpp @@ -6,7 +6,7 @@ #include "state.hpp" -#include "../all_components.hpp" +#include "../component/component.hpp" namespace power_grid_model::main_core { @@ -22,7 +22,7 @@ constexpr auto get_branch_nodes(MainModelState const& state, return state.comp_topo->branch3_node_idx[topology_sequence_idx]; } -template +template requires model_component_state_c && requires(MainModelState const& state, Idx const i) { { get_branch_nodes(state, i)[i] } -> std::convertible_to; diff --git a/power_grid_model_c/power_grid_model/include/power_grid_model/main_core/topology.hpp b/power_grid_model_c/power_grid_model/include/power_grid_model/main_core/topology.hpp index 6172babf2f..73dca870af 100644 --- a/power_grid_model_c/power_grid_model/include/power_grid_model/main_core/topology.hpp +++ b/power_grid_model_c/power_grid_model/include/power_grid_model/main_core/topology.hpp @@ -6,7 +6,7 @@ #include "container_queries.hpp" -#include "../all_components.hpp" +#include "../component/component.hpp" namespace power_grid_model::main_core { diff --git a/power_grid_model_c/power_grid_model/include/power_grid_model/main_core/update.hpp b/power_grid_model_c/power_grid_model/include/power_grid_model/main_core/update.hpp index 9554343151..594d754f87 100644 --- a/power_grid_model_c/power_grid_model/include/power_grid_model/main_core/update.hpp +++ b/power_grid_model_c/power_grid_model/include/power_grid_model/main_core/update.hpp @@ -7,10 +7,9 @@ #include "container_queries.hpp" #include "core_utils.hpp" -#include "../all_components.hpp" #include "../auxiliary/dataset.hpp" #include "../common/iterator_facade.hpp" -#include "../container.hpp" +#include "../component/component.hpp" #include diff --git a/power_grid_model_c/power_grid_model/include/power_grid_model/main_model.hpp b/power_grid_model_c/power_grid_model/include/power_grid_model/main_model.hpp index b7cac93a15..d5b7d8f119 100644 --- a/power_grid_model_c/power_grid_model/include/power_grid_model/main_model.hpp +++ b/power_grid_model_c/power_grid_model/include/power_grid_model/main_model.hpp @@ -4,6 +4,7 @@ #pragma once +#include "all_components.hpp" #include "job_adapter.hpp" #include "job_dispatch.hpp" #include "main_model_impl.hpp" diff --git a/power_grid_model_c/power_grid_model/include/power_grid_model/main_model_impl.hpp b/power_grid_model_c/power_grid_model/include/power_grid_model/main_model_impl.hpp index 6599f69c82..5e2da0375f 100644 --- a/power_grid_model_c/power_grid_model/include/power_grid_model/main_model_impl.hpp +++ b/power_grid_model_c/power_grid_model/include/power_grid_model/main_model_impl.hpp @@ -19,10 +19,10 @@ #include "common/timer.hpp" // component include -#include "all_components.hpp" #include "auxiliary/dataset.hpp" #include "auxiliary/input.hpp" #include "auxiliary/output.hpp" +#include "component/component.hpp" // math model include #include "math_solver/math_solver_dispatch.hpp" diff --git a/power_grid_model_c/power_grid_model/include/power_grid_model/math_solver/iterative_current_pf_solver.hpp b/power_grid_model_c/power_grid_model/include/power_grid_model/math_solver/iterative_current_pf_solver.hpp index 191361cd3a..f49190e79f 100644 --- a/power_grid_model_c/power_grid_model/include/power_grid_model/math_solver/iterative_current_pf_solver.hpp +++ b/power_grid_model_c/power_grid_model/include/power_grid_model/math_solver/iterative_current_pf_solver.hpp @@ -62,7 +62,6 @@ Iterative Power Flow #include "../common/common.hpp" #include "../common/exception.hpp" #include "../common/three_phase_tensor.hpp" -#include "../common/timer.hpp" namespace power_grid_model::math_solver { diff --git a/power_grid_model_c/power_grid_model/include/power_grid_model/math_solver/linear_pf_solver.hpp b/power_grid_model_c/power_grid_model/include/power_grid_model/math_solver/linear_pf_solver.hpp index 3dd49cfe27..d377f91890 100644 --- a/power_grid_model_c/power_grid_model/include/power_grid_model/math_solver/linear_pf_solver.hpp +++ b/power_grid_model_c/power_grid_model/include/power_grid_model/math_solver/linear_pf_solver.hpp @@ -35,7 +35,6 @@ if there are sources #include "../calculation_parameters.hpp" #include "../common/common.hpp" #include "../common/enum.hpp" -#include "../common/exception.hpp" #include "../common/three_phase_tensor.hpp" #include "../common/timer.hpp" diff --git a/power_grid_model_c/power_grid_model/include/power_grid_model/math_solver/math_solver_dispatch.hpp b/power_grid_model_c/power_grid_model/include/power_grid_model/math_solver/math_solver_dispatch.hpp index 19cbe7d3e1..5cd9f9b0ce 100644 --- a/power_grid_model_c/power_grid_model/include/power_grid_model/math_solver/math_solver_dispatch.hpp +++ b/power_grid_model_c/power_grid_model/include/power_grid_model/math_solver/math_solver_dispatch.hpp @@ -9,9 +9,8 @@ #include "../calculation_parameters.hpp" #include "../common/common.hpp" -#include "../common/exception.hpp" +#include "../common/logging.hpp" #include "../common/three_phase_tensor.hpp" -#include "../common/timer.hpp" #include diff --git a/power_grid_model_c/power_grid_model/include/power_grid_model/math_solver/newton_raphson_pf_solver.hpp b/power_grid_model_c/power_grid_model/include/power_grid_model/math_solver/newton_raphson_pf_solver.hpp index a0f8790c34..297f24f181 100644 --- a/power_grid_model_c/power_grid_model/include/power_grid_model/math_solver/newton_raphson_pf_solver.hpp +++ b/power_grid_model_c/power_grid_model/include/power_grid_model/math_solver/newton_raphson_pf_solver.hpp @@ -153,7 +153,6 @@ J.L -= -dQ_cal_m/dV #include "../common/common.hpp" #include "../common/exception.hpp" #include "../common/three_phase_tensor.hpp" -#include "../common/timer.hpp" namespace power_grid_model::math_solver { diff --git a/tests/cpp_unit_tests/test_main_core_output.cpp b/tests/cpp_unit_tests/test_main_core_output.cpp index 66549df273..803c68bace 100644 --- a/tests/cpp_unit_tests/test_main_core_output.cpp +++ b/tests/cpp_unit_tests/test_main_core_output.cpp @@ -2,6 +2,7 @@ // // SPDX-License-Identifier: MPL-2.0 +#include #include #include #include From f889ae6a06f1a4bd507477d665e1eccc20de746c Mon Sep 17 00:00:00 2001 From: Nitish Bharambe Date: Sun, 19 Oct 2025 11:13:54 +0200 Subject: [PATCH 2/6] change incldues Signed-off-by: Nitish Bharambe --- .../power_grid_model/all_components.hpp | 17 +++++-- .../power_grid_model/component/component.hpp | 51 ------------------- .../component/current_sensor.hpp | 3 ++ .../power_grid_model/component/load_gen.hpp | 4 ++ .../component/power_sensor.hpp | 3 ++ .../component/voltage_sensor.hpp | 3 ++ .../calculation_input_preparation.hpp | 8 +++ .../main_core/container_queries.hpp | 5 +- .../power_grid_model/main_core/input.hpp | 12 +++++ .../main_core/main_model_type.hpp | 48 ++++++++++++++++- .../power_grid_model/main_core/output.hpp | 12 +++++ .../main_core/state_queries.hpp | 8 ++- .../power_grid_model/main_core/topology.hpp | 12 ++++- .../power_grid_model/main_core/update.hpp | 2 +- 14 files changed, 127 insertions(+), 61 deletions(-) diff --git a/power_grid_model_c/power_grid_model/include/power_grid_model/all_components.hpp b/power_grid_model_c/power_grid_model/include/power_grid_model/all_components.hpp index bd71215c9f..2d72c96e51 100644 --- a/power_grid_model_c/power_grid_model/include/power_grid_model/all_components.hpp +++ b/power_grid_model_c/power_grid_model/include/power_grid_model/all_components.hpp @@ -5,9 +5,7 @@ #pragma once // define all components -// #include "common/common.hpp" -#include "component/component.hpp" -// #include "common/component_list.hpp" +#include "common/component_list.hpp" // component include #include "component/appliance.hpp" #include "component/asym_line.hpp" @@ -26,3 +24,16 @@ #include "component/transformer.hpp" #include "component/transformer_tap_regulator.hpp" #include "component/voltage_sensor.hpp" + +namespace power_grid_model { + +using AllComponents = + ComponentList; + +using AllExtraRetrievableTypes = + ExtraRetrievableTypes; + +} // namespace power_grid_model diff --git a/power_grid_model_c/power_grid_model/include/power_grid_model/component/component.hpp b/power_grid_model_c/power_grid_model/include/power_grid_model/component/component.hpp index ce311da900..8c1a38ffc3 100644 --- a/power_grid_model_c/power_grid_model/include/power_grid_model/component/component.hpp +++ b/power_grid_model_c/power_grid_model/include/power_grid_model/component/component.hpp @@ -5,7 +5,6 @@ #pragma once #include "../common/common.hpp" -#include "../common/component_list.hpp" #include "../common/enum.hpp" #include @@ -49,54 +48,4 @@ static_assert(appliance_type_tag); static_assert(!is_generator_v); static_assert(is_generator_v); -class Base; -class Node; -class Branch; -class Branch3; -class Appliance; -class GenericLoadGen; -class GenericLoad; -class GenericGenerator; -class GenericPowerSensor; -class GenericVoltageSensor; -class GenericCurrentSensor; -class Regulator; -class Line; -class AsymLine; -class Link; -class GenericBranch; -class Transformer; -class ThreeWindingTransformer; -class Shunt; -class Source; - -template class LoadGen; -using SymGenerator = LoadGen; -using AsymGenerator = LoadGen; -using SymLoad = LoadGen; -using AsymLoad = LoadGen; - -template class PowerSensor; -using SymPowerSensor = PowerSensor; -using AsymPowerSensor = PowerSensor; - -template class VoltageSensor; -using SymVoltageSensor = VoltageSensor; -using AsymVoltageSensor = VoltageSensor; -template class CurrentSensor; -using SymCurrentSensor = CurrentSensor; -using AsymCurrentSensor = CurrentSensor; - -class Fault; -class TransformerTapRegulator; - -using AllComponents = - ComponentList; - -using AllExtraRetrievableTypes = - ExtraRetrievableTypes; - } // namespace power_grid_model diff --git a/power_grid_model_c/power_grid_model/include/power_grid_model/component/current_sensor.hpp b/power_grid_model_c/power_grid_model/include/power_grid_model/component/current_sensor.hpp index 2d4e4b08e9..362948cd57 100644 --- a/power_grid_model_c/power_grid_model/include/power_grid_model/component/current_sensor.hpp +++ b/power_grid_model_c/power_grid_model/include/power_grid_model/component/current_sensor.hpp @@ -179,4 +179,7 @@ template class CurrentSensor : public Ge } }; +using SymCurrentSensor = CurrentSensor; +using AsymCurrentSensor = CurrentSensor; + } // namespace power_grid_model diff --git a/power_grid_model_c/power_grid_model/include/power_grid_model/component/load_gen.hpp b/power_grid_model_c/power_grid_model/include/power_grid_model/component/load_gen.hpp index acf0a6b4b4..d7351e92a6 100644 --- a/power_grid_model_c/power_grid_model/include/power_grid_model/component/load_gen.hpp +++ b/power_grid_model_c/power_grid_model/include/power_grid_model/component/load_gen.hpp @@ -171,5 +171,9 @@ template class LoadGen; template class LoadGen; template class LoadGen; // alias +using SymGenerator = LoadGen; +using AsymGenerator = LoadGen; +using SymLoad = LoadGen; +using AsymLoad = LoadGen; } // namespace power_grid_model diff --git a/power_grid_model_c/power_grid_model/include/power_grid_model/component/power_sensor.hpp b/power_grid_model_c/power_grid_model/include/power_grid_model/component/power_sensor.hpp index ff0b005f19..0540bedaaf 100644 --- a/power_grid_model_c/power_grid_model/include/power_grid_model/component/power_sensor.hpp +++ b/power_grid_model_c/power_grid_model/include/power_grid_model/component/power_sensor.hpp @@ -183,4 +183,7 @@ template class PowerSensor : public Generi } }; +using SymPowerSensor = PowerSensor; +using AsymPowerSensor = PowerSensor; + } // namespace power_grid_model diff --git a/power_grid_model_c/power_grid_model/include/power_grid_model/component/voltage_sensor.hpp b/power_grid_model_c/power_grid_model/include/power_grid_model/component/voltage_sensor.hpp index e3d0062781..6eb264ace4 100644 --- a/power_grid_model_c/power_grid_model/include/power_grid_model/component/voltage_sensor.hpp +++ b/power_grid_model_c/power_grid_model/include/power_grid_model/component/voltage_sensor.hpp @@ -165,4 +165,7 @@ template class VoltageSensor : public GenericVoltageSensor { } }; +using SymVoltageSensor = VoltageSensor; +using AsymVoltageSensor = VoltageSensor; + } // namespace power_grid_model diff --git a/power_grid_model_c/power_grid_model/include/power_grid_model/main_core/calculation_input_preparation.hpp b/power_grid_model_c/power_grid_model/include/power_grid_model/main_core/calculation_input_preparation.hpp index f752f20e54..b1e36e0e9e 100644 --- a/power_grid_model_c/power_grid_model/include/power_grid_model/main_core/calculation_input_preparation.hpp +++ b/power_grid_model_c/power_grid_model/include/power_grid_model/main_core/calculation_input_preparation.hpp @@ -7,6 +7,14 @@ #include "state_queries.hpp" #include "../calculation_parameters.hpp" +#include "../component/current_sensor.hpp" +#include "../component/fault.hpp" +#include "../component/load_gen.hpp" +#include "../component/node.hpp" +#include "../component/power_sensor.hpp" +#include "../component/shunt.hpp" +#include "../component/source.hpp" +#include "../component/voltage_sensor.hpp" #include #include diff --git a/power_grid_model_c/power_grid_model/include/power_grid_model/main_core/container_queries.hpp b/power_grid_model_c/power_grid_model/include/power_grid_model/main_core/container_queries.hpp index d5eeace5d4..b4230d05c4 100644 --- a/power_grid_model_c/power_grid_model/include/power_grid_model/main_core/container_queries.hpp +++ b/power_grid_model_c/power_grid_model/include/power_grid_model/main_core/container_queries.hpp @@ -4,7 +4,10 @@ #pragma once -#include "../component/component.hpp" +#include "../component/base.hpp" +#include "../component/branch.hpp" +#include "../component/branch3.hpp" +#include "../component/regulator.hpp" #include "../container.hpp" namespace power_grid_model::main_core { diff --git a/power_grid_model_c/power_grid_model/include/power_grid_model/main_core/input.hpp b/power_grid_model_c/power_grid_model/include/power_grid_model/main_core/input.hpp index 6e236525b7..397ef2c6e4 100644 --- a/power_grid_model_c/power_grid_model/include/power_grid_model/main_core/input.hpp +++ b/power_grid_model_c/power_grid_model/include/power_grid_model/main_core/input.hpp @@ -7,6 +7,18 @@ #include "state.hpp" #include "state_queries.hpp" +#include "../component/appliance.hpp" +#include "../component/base.hpp" +#include "../component/branch.hpp" +#include "../component/branch3.hpp" +#include "../component/current_sensor.hpp" +#include "../component/fault.hpp" +#include "../component/node.hpp" +#include "../component/power_sensor.hpp" +#include "../component/regulator.hpp" +#include "../component/transformer_tap_regulator.hpp" +#include "../component/voltage_sensor.hpp" + #include "../common/iterator_facade.hpp" #include "../component/component.hpp" diff --git a/power_grid_model_c/power_grid_model/include/power_grid_model/main_core/main_model_type.hpp b/power_grid_model_c/power_grid_model/include/power_grid_model/main_core/main_model_type.hpp index bc27876af9..81308c492a 100644 --- a/power_grid_model_c/power_grid_model/include/power_grid_model/main_core/main_model_type.hpp +++ b/power_grid_model_c/power_grid_model/include/power_grid_model/main_core/main_model_type.hpp @@ -11,7 +11,50 @@ #include #include -namespace power_grid_model::main_core { +namespace power_grid_model { + +class Base; +class Node; +class Branch; +class Branch3; +class Appliance; +class GenericLoadGen; +class GenericLoad; +class GenericGenerator; +class GenericPowerSensor; +class GenericVoltageSensor; +class GenericCurrentSensor; +class Regulator; +class Line; +class AsymLine; +class Link; +class GenericBranch; +class Transformer; +class ThreeWindingTransformer; +class Shunt; +class Source; + +template class LoadGen; +using SymGenerator = LoadGen; +using AsymGenerator = LoadGen; +using SymLoad = LoadGen; +using AsymLoad = LoadGen; + +template class PowerSensor; +using SymPowerSensor = PowerSensor; +using AsymPowerSensor = PowerSensor; + +template class VoltageSensor; +using SymVoltageSensor = VoltageSensor; +using AsymVoltageSensor = VoltageSensor; +template class CurrentSensor; +using SymCurrentSensor = CurrentSensor; +using AsymCurrentSensor = CurrentSensor; + +class Fault; +class TransformerTapRegulator; + +namespace main_core { namespace detail { @@ -126,4 +169,5 @@ struct is_main_model_type, Component template inline constexpr bool is_main_model_type_v = is_main_model_type::value; -} // namespace power_grid_model::main_core +} // namespace main_core +} // namespace power_grid_model diff --git a/power_grid_model_c/power_grid_model/include/power_grid_model/main_core/output.hpp b/power_grid_model_c/power_grid_model/include/power_grid_model/main_core/output.hpp index 106e5dbc4d..30aa421bf5 100644 --- a/power_grid_model_c/power_grid_model/include/power_grid_model/main_core/output.hpp +++ b/power_grid_model_c/power_grid_model/include/power_grid_model/main_core/output.hpp @@ -4,6 +4,18 @@ #pragma once +#include "../component/base.hpp" +#include "../component/branch.hpp" +#include "../component/branch3.hpp" +#include "../component/current_sensor.hpp" +#include "../component/fault.hpp" +#include "../component/load_gen.hpp" +#include "../component/node.hpp" +#include "../component/power_sensor.hpp" +#include "../component/shunt.hpp" +#include "../component/source.hpp" +#include "../component/transformer_tap_regulator.hpp" +#include "../component/voltage_sensor.hpp" #include "container_queries.hpp" #include "state.hpp" #include "state_queries.hpp" diff --git a/power_grid_model_c/power_grid_model/include/power_grid_model/main_core/state_queries.hpp b/power_grid_model_c/power_grid_model/include/power_grid_model/main_core/state_queries.hpp index 4ca1a87106..88549be851 100644 --- a/power_grid_model_c/power_grid_model/include/power_grid_model/main_core/state_queries.hpp +++ b/power_grid_model_c/power_grid_model/include/power_grid_model/main_core/state_queries.hpp @@ -6,7 +6,11 @@ #include "state.hpp" -#include "../component/component.hpp" +#include "../component/branch.hpp" +#include "../component/branch3.hpp" +#include "../component/node.hpp" +#include "../component/regulator.hpp" +#include "../component/transformer.hpp" namespace power_grid_model::main_core { @@ -22,7 +26,7 @@ constexpr auto get_branch_nodes(MainModelState const& state, return state.comp_topo->branch3_node_idx[topology_sequence_idx]; } -template +template requires model_component_state_c && requires(MainModelState const& state, Idx const i) { { get_branch_nodes(state, i)[i] } -> std::convertible_to; diff --git a/power_grid_model_c/power_grid_model/include/power_grid_model/main_core/topology.hpp b/power_grid_model_c/power_grid_model/include/power_grid_model/main_core/topology.hpp index 73dca870af..e2b8ac8305 100644 --- a/power_grid_model_c/power_grid_model/include/power_grid_model/main_core/topology.hpp +++ b/power_grid_model_c/power_grid_model/include/power_grid_model/main_core/topology.hpp @@ -6,7 +6,17 @@ #include "container_queries.hpp" -#include "../component/component.hpp" +#include "../component/branch.hpp" +#include "../component/branch3.hpp" +#include "../component/current_sensor.hpp" +#include "../component/fault.hpp" +#include "../component/load_gen.hpp" +#include "../component/node.hpp" +#include "../component/power_sensor.hpp" +#include "../component/regulator.hpp" +#include "../component/shunt.hpp" +#include "../component/source.hpp" +#include "../component/voltage_sensor.hpp" namespace power_grid_model::main_core { diff --git a/power_grid_model_c/power_grid_model/include/power_grid_model/main_core/update.hpp b/power_grid_model_c/power_grid_model/include/power_grid_model/main_core/update.hpp index 594d754f87..fbe91fb1e9 100644 --- a/power_grid_model_c/power_grid_model/include/power_grid_model/main_core/update.hpp +++ b/power_grid_model_c/power_grid_model/include/power_grid_model/main_core/update.hpp @@ -9,7 +9,7 @@ #include "../auxiliary/dataset.hpp" #include "../common/iterator_facade.hpp" -#include "../component/component.hpp" +#include "component/component.hpp" #include From 9e8c71422dad0e0ef98f38be4dc37e9197ac071b Mon Sep 17 00:00:00 2001 From: Nitish Bharambe Date: Sun, 19 Oct 2025 11:16:48 +0200 Subject: [PATCH 3/6] change incldues fix Signed-off-by: Nitish Bharambe --- .../include/power_grid_model/main_core/update.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/power_grid_model_c/power_grid_model/include/power_grid_model/main_core/update.hpp b/power_grid_model_c/power_grid_model/include/power_grid_model/main_core/update.hpp index fbe91fb1e9..594d754f87 100644 --- a/power_grid_model_c/power_grid_model/include/power_grid_model/main_core/update.hpp +++ b/power_grid_model_c/power_grid_model/include/power_grid_model/main_core/update.hpp @@ -9,7 +9,7 @@ #include "../auxiliary/dataset.hpp" #include "../common/iterator_facade.hpp" -#include "component/component.hpp" +#include "../component/component.hpp" #include From 5cf953d9788930418ddfa1ee2a54279bb46368f4 Mon Sep 17 00:00:00 2001 From: Nitish Bharambe Date: Mon, 20 Oct 2025 09:34:22 +0200 Subject: [PATCH 4/6] add component test includes Signed-off-by: Nitish Bharambe --- .clang-tidy | 1 - .../power_grid_model/component/base.hpp | 1 + tests/cpp_unit_tests/test_all_components.cpp | 6 ++++++ tests/cpp_unit_tests/test_asym_line.cpp | 18 ++++++++++++++++++ tests/cpp_unit_tests/test_current_sensor.cpp | 18 ++++++++++++++++++ tests/cpp_unit_tests/test_fault.cpp | 18 ++++++++++++++++++ tests/cpp_unit_tests/test_generic_branch.cpp | 8 ++++++++ tests/cpp_unit_tests/test_line.cpp | 15 +++++++++++++++ tests/cpp_unit_tests/test_link.cpp | 14 ++++++++++++++ tests/cpp_unit_tests/test_load_gen.cpp | 17 +++++++++++++++++ tests/cpp_unit_tests/test_node.cpp | 5 +++++ tests/cpp_unit_tests/test_power_sensor.cpp | 12 ++++++++++++ tests/cpp_unit_tests/test_shunt.cpp | 14 ++++++++++++++ tests/cpp_unit_tests/test_source.cpp | 15 +++++++++++++++ .../test_three_winding_transformer.cpp | 15 +++++++++++++++ tests/cpp_unit_tests/test_transformer.cpp | 15 +++++++++++++++ .../test_transformer_tap_regulator.cpp | 12 ++++++++++++ tests/cpp_unit_tests/test_voltage_sensor.cpp | 10 +++++++++- 18 files changed, 212 insertions(+), 2 deletions(-) diff --git a/.clang-tidy b/.clang-tidy index 0195a82858..9d8e82d581 100644 --- a/.clang-tidy +++ b/.clang-tidy @@ -44,7 +44,6 @@ google-*, -google-default-arguments, misc-*, -misc-confusable-identifiers, --misc-include-cleaner, -misc-no-recursion, -misc-non-private-member-variables-in-classes, modernize-*, diff --git a/power_grid_model_c/power_grid_model/include/power_grid_model/component/base.hpp b/power_grid_model_c/power_grid_model/include/power_grid_model/component/base.hpp index 06b2604900..bfdc92ee5a 100644 --- a/power_grid_model_c/power_grid_model/include/power_grid_model/component/base.hpp +++ b/power_grid_model_c/power_grid_model/include/power_grid_model/component/base.hpp @@ -13,6 +13,7 @@ #include "../common/enum.hpp" namespace power_grid_model { +// TODO (nitbharambe) move outside of base.hpp to component constexpr IntS status_to_int(bool status) { return status ? IntS{1} : IntS{0}; } class Base { diff --git a/tests/cpp_unit_tests/test_all_components.cpp b/tests/cpp_unit_tests/test_all_components.cpp index b98913bdd1..8173125779 100644 --- a/tests/cpp_unit_tests/test_all_components.cpp +++ b/tests/cpp_unit_tests/test_all_components.cpp @@ -2,9 +2,12 @@ // // SPDX-License-Identifier: MPL-2.0 +#include "power_grid_model/auxiliary/input.hpp" #include +#include #include #include +#include #include #include #include @@ -22,6 +25,9 @@ #include +#include +#include + namespace power_grid_model { static_assert(component_c); diff --git a/tests/cpp_unit_tests/test_asym_line.cpp b/tests/cpp_unit_tests/test_asym_line.cpp index 313a177f9f..ada030ecba 100644 --- a/tests/cpp_unit_tests/test_asym_line.cpp +++ b/tests/cpp_unit_tests/test_asym_line.cpp @@ -4,6 +4,24 @@ #include +#include "power_grid_model/auxiliary/input.hpp" +#include "power_grid_model/auxiliary/output.hpp" +#include "power_grid_model/auxiliary/update.hpp" +#include +#include +#include +#include +#include +// TODO (nitbharambe) Added base.hpp for status_to_int function +#include +#include +#include + +#include + +#include +#include + #include namespace power_grid_model { diff --git a/tests/cpp_unit_tests/test_current_sensor.cpp b/tests/cpp_unit_tests/test_current_sensor.cpp index 93cb04616d..2af46992f5 100644 --- a/tests/cpp_unit_tests/test_current_sensor.cpp +++ b/tests/cpp_unit_tests/test_current_sensor.cpp @@ -4,8 +4,26 @@ #include +#include "power_grid_model/auxiliary/input.hpp" +#include "power_grid_model/auxiliary/output.hpp" +#include "power_grid_model/auxiliary/update.hpp" +#include +#include +#include +#include +#include + +#include + #include +#include +#include +#include +#include +#include +#include + TEST_SUITE_BEGIN("test_current_sensor"); namespace power_grid_model { diff --git a/tests/cpp_unit_tests/test_fault.cpp b/tests/cpp_unit_tests/test_fault.cpp index b1e89c99a1..2163d0ff4a 100644 --- a/tests/cpp_unit_tests/test_fault.cpp +++ b/tests/cpp_unit_tests/test_fault.cpp @@ -4,8 +4,26 @@ #include +// #include "power_grid_model/auxiliary/input.hpp" +#include "power_grid_model/auxiliary/output.hpp" +#include "power_grid_model/auxiliary/update.hpp" +#include +#include +#include +#include +#include +// TODO (nitbharambe) Added base.hpp for status_to_int function +#include +#include + +#include + #include +#include +#include +#include + namespace power_grid_model { namespace { void check_nan_preserving_equality(std::floating_point auto actual, std::floating_point auto expected) { diff --git a/tests/cpp_unit_tests/test_generic_branch.cpp b/tests/cpp_unit_tests/test_generic_branch.cpp index 5fc237a114..9b61abc630 100644 --- a/tests/cpp_unit_tests/test_generic_branch.cpp +++ b/tests/cpp_unit_tests/test_generic_branch.cpp @@ -2,11 +2,19 @@ // // SPDX-License-Identifier: MPL-2.0 +#include +#include +#include +#include +#include #include #include #include +#include +#include + namespace power_grid_model { using namespace std::complex_literals; diff --git a/tests/cpp_unit_tests/test_line.cpp b/tests/cpp_unit_tests/test_line.cpp index 43343adb27..89334c8f4c 100644 --- a/tests/cpp_unit_tests/test_line.cpp +++ b/tests/cpp_unit_tests/test_line.cpp @@ -4,6 +4,21 @@ #include +#include "power_grid_model/auxiliary/input.hpp" +#include "power_grid_model/auxiliary/output.hpp" +#include "power_grid_model/auxiliary/update.hpp" +#include +#include +#include +#include +#include +// TODO (nitbharambe) Added base.hpp for status_to_int function +#include +#include + +#include +#include + #include namespace power_grid_model { diff --git a/tests/cpp_unit_tests/test_link.cpp b/tests/cpp_unit_tests/test_link.cpp index e076b7a7a4..cd223cb1fa 100644 --- a/tests/cpp_unit_tests/test_link.cpp +++ b/tests/cpp_unit_tests/test_link.cpp @@ -2,10 +2,24 @@ // // SPDX-License-Identifier: MPL-2.0 +#include "power_grid_model/auxiliary/input.hpp" +#include "power_grid_model/auxiliary/output.hpp" +#include "power_grid_model/auxiliary/update.hpp" +#include +#include +#include +#include +#include +// TODO (nitbharambe) Added base.hpp for status_to_int function +#include +#include #include #include +#include +#include + namespace power_grid_model { using namespace std::complex_literals; diff --git a/tests/cpp_unit_tests/test_load_gen.cpp b/tests/cpp_unit_tests/test_load_gen.cpp index cc883894b9..d11e1bac98 100644 --- a/tests/cpp_unit_tests/test_load_gen.cpp +++ b/tests/cpp_unit_tests/test_load_gen.cpp @@ -4,8 +4,25 @@ #include +#include "power_grid_model/auxiliary/input.hpp" +#include "power_grid_model/auxiliary/output.hpp" +#include "power_grid_model/auxiliary/update.hpp" +#include "power_grid_model/calculation_parameters.hpp" +#include +#include +#include +#include + +#include + #include +#include +#include +#include +#include +#include + TYPE_TO_STRING_AS("SymGenerator", power_grid_model::SymGenerator); TYPE_TO_STRING_AS("AsymGenerator", power_grid_model::AsymGenerator); TYPE_TO_STRING_AS("SymLoad", power_grid_model::SymLoad); diff --git a/tests/cpp_unit_tests/test_node.cpp b/tests/cpp_unit_tests/test_node.cpp index 92708817fb..c3b0b15e7b 100644 --- a/tests/cpp_unit_tests/test_node.cpp +++ b/tests/cpp_unit_tests/test_node.cpp @@ -4,6 +4,11 @@ #include +#include "power_grid_model/auxiliary/update.hpp" +#include +#include +#include + #include namespace power_grid_model { diff --git a/tests/cpp_unit_tests/test_power_sensor.cpp b/tests/cpp_unit_tests/test_power_sensor.cpp index 4cc5f189cd..f256c3c8f5 100644 --- a/tests/cpp_unit_tests/test_power_sensor.cpp +++ b/tests/cpp_unit_tests/test_power_sensor.cpp @@ -4,8 +4,20 @@ #include +#include "power_grid_model/auxiliary/input.hpp" +#include "power_grid_model/auxiliary/output.hpp" +#include "power_grid_model/auxiliary/update.hpp" +#include +#include +#include +#include + #include +#include +#include +#include + namespace power_grid_model { namespace { auto const r_nan = RealValue{nan}; diff --git a/tests/cpp_unit_tests/test_shunt.cpp b/tests/cpp_unit_tests/test_shunt.cpp index 3ad2899020..3b36c302ad 100644 --- a/tests/cpp_unit_tests/test_shunt.cpp +++ b/tests/cpp_unit_tests/test_shunt.cpp @@ -4,6 +4,20 @@ #include +#include "power_grid_model/auxiliary/input.hpp" +#include "power_grid_model/auxiliary/output.hpp" +#include "power_grid_model/auxiliary/update.hpp" +#include +#include +#include +#include +// TODO (nitbharambe) Added base.hpp for status_to_int function +#include + +#include +#include +#include + #include namespace power_grid_model { diff --git a/tests/cpp_unit_tests/test_source.cpp b/tests/cpp_unit_tests/test_source.cpp index fa813240c3..0703810015 100644 --- a/tests/cpp_unit_tests/test_source.cpp +++ b/tests/cpp_unit_tests/test_source.cpp @@ -2,8 +2,23 @@ // // SPDX-License-Identifier: MPL-2.0 +#include #include +#include "power_grid_model/auxiliary/input.hpp" +#include "power_grid_model/auxiliary/output.hpp" +#include "power_grid_model/auxiliary/update.hpp" +#include +#include +#include +// TODO (nitbharambe) Added base.hpp for status_to_int function +#include + +#include +#include +#include +#include + #include namespace power_grid_model { diff --git a/tests/cpp_unit_tests/test_three_winding_transformer.cpp b/tests/cpp_unit_tests/test_three_winding_transformer.cpp index 9a8ae7a724..7fb4a444f4 100644 --- a/tests/cpp_unit_tests/test_three_winding_transformer.cpp +++ b/tests/cpp_unit_tests/test_three_winding_transformer.cpp @@ -5,8 +5,23 @@ #include #include +#include "power_grid_model/auxiliary/input.hpp" +#include "power_grid_model/auxiliary/output.hpp" +#include "power_grid_model/auxiliary/update.hpp" +#include +#include +#include +#include +// TODO (nitbharambe) Added base.hpp for status_to_int function +#include + #include +#include +#include +#include +#include + namespace power_grid_model { using namespace std::complex_literals; diff --git a/tests/cpp_unit_tests/test_transformer.cpp b/tests/cpp_unit_tests/test_transformer.cpp index ce6f6f5fba..fbb26f078a 100644 --- a/tests/cpp_unit_tests/test_transformer.cpp +++ b/tests/cpp_unit_tests/test_transformer.cpp @@ -4,6 +4,21 @@ #include +#include "power_grid_model/auxiliary/input.hpp" +#include "power_grid_model/auxiliary/update.hpp" +#include +#include +#include +#include +#include +// TODO (nitbharambe) Added base.hpp for status_to_int function +#include + +#include +#include +#include +#include + #include namespace power_grid_model { diff --git a/tests/cpp_unit_tests/test_transformer_tap_regulator.cpp b/tests/cpp_unit_tests/test_transformer_tap_regulator.cpp index 279e6c4ce0..86a6408ef8 100644 --- a/tests/cpp_unit_tests/test_transformer_tap_regulator.cpp +++ b/tests/cpp_unit_tests/test_transformer_tap_regulator.cpp @@ -4,8 +4,20 @@ #include +#include "power_grid_model/auxiliary/input.hpp" +#include "power_grid_model/auxiliary/output.hpp" +#include "power_grid_model/auxiliary/update.hpp" +#include +#include +#include +#include +// TODO (nitbharambe) Added base.hpp for status_to_int function +#include + #include +#include + namespace power_grid_model { namespace { void check_nan_preserving_equality(std::floating_point auto actual, std::floating_point auto expected) { diff --git a/tests/cpp_unit_tests/test_voltage_sensor.cpp b/tests/cpp_unit_tests/test_voltage_sensor.cpp index 814c4f7353..b51f735fed 100644 --- a/tests/cpp_unit_tests/test_voltage_sensor.cpp +++ b/tests/cpp_unit_tests/test_voltage_sensor.cpp @@ -6,11 +6,19 @@ #include #include #include -#include #include +#include "power_grid_model/auxiliary/output.hpp" +#include "power_grid_model/auxiliary/update.hpp" +#include +#include + #include +#include +#include +#include + namespace power_grid_model { namespace { void check_nan_preserving_equality(std::floating_point auto actual, std::floating_point auto expected) { From be33aefd6bc83d85240ffcb92ae2fe4064a99c1b Mon Sep 17 00:00:00 2001 From: Nitish Bharambe Date: Mon, 20 Oct 2025 09:35:11 +0200 Subject: [PATCH 5/6] add common test includes Signed-off-by: Nitish Bharambe --- tests/cpp_unit_tests/test_common.cpp | 3 +++ tests/cpp_unit_tests/test_exceptions.cpp | 5 +++++ tests/cpp_unit_tests/test_grouped_index_vector.cpp | 7 +++++++ tests/cpp_unit_tests/test_statistics.cpp | 11 +++++++++++ tests/cpp_unit_tests/test_three_phase_tensor.cpp | 6 ++++++ tests/cpp_unit_tests/test_typing.cpp | 4 ++++ 6 files changed, 36 insertions(+) diff --git a/tests/cpp_unit_tests/test_common.cpp b/tests/cpp_unit_tests/test_common.cpp index 4ab94bd106..575527fd36 100644 --- a/tests/cpp_unit_tests/test_common.cpp +++ b/tests/cpp_unit_tests/test_common.cpp @@ -4,6 +4,9 @@ #include +#include +#include + namespace power_grid_model { namespace { static_assert(symmetry_tag); diff --git a/tests/cpp_unit_tests/test_exceptions.cpp b/tests/cpp_unit_tests/test_exceptions.cpp index bbd244df39..4f49d5af79 100644 --- a/tests/cpp_unit_tests/test_exceptions.cpp +++ b/tests/cpp_unit_tests/test_exceptions.cpp @@ -2,10 +2,15 @@ // // SPDX-License-Identifier: MPL-2.0 +#include +#include #include #include +#include +#include + namespace power_grid_model { namespace { enum TestCStyleEnum { // NOLINT(performance-enum-size) // NOSONAR // for testing C-style enum diff --git a/tests/cpp_unit_tests/test_grouped_index_vector.cpp b/tests/cpp_unit_tests/test_grouped_index_vector.cpp index 13c01e3a04..197327f4e0 100644 --- a/tests/cpp_unit_tests/test_grouped_index_vector.cpp +++ b/tests/cpp_unit_tests/test_grouped_index_vector.cpp @@ -2,10 +2,17 @@ // // SPDX-License-Identifier: MPL-2.0 +#include +#include #include #include +#include +#include +#include +#include + namespace power_grid_model { namespace { diff --git a/tests/cpp_unit_tests/test_statistics.cpp b/tests/cpp_unit_tests/test_statistics.cpp index 46ac8652a8..23e560050e 100644 --- a/tests/cpp_unit_tests/test_statistics.cpp +++ b/tests/cpp_unit_tests/test_statistics.cpp @@ -2,10 +2,21 @@ // // SPDX-License-Identifier: MPL-2.0 +#include #include +#include +#include #include +#include +#include +#include +#include +#include +#include +#include + namespace power_grid_model { namespace { using AsymRealValue = RealValue; diff --git a/tests/cpp_unit_tests/test_three_phase_tensor.cpp b/tests/cpp_unit_tests/test_three_phase_tensor.cpp index c3900cf899..dc3b3021da 100644 --- a/tests/cpp_unit_tests/test_three_phase_tensor.cpp +++ b/tests/cpp_unit_tests/test_three_phase_tensor.cpp @@ -3,10 +3,16 @@ // SPDX-License-Identifier: MPL-2.0 #include +#include #include +#include #include +#include +#include +#include + namespace power_grid_model { using namespace std::complex_literals; diff --git a/tests/cpp_unit_tests/test_typing.cpp b/tests/cpp_unit_tests/test_typing.cpp index 32c4bda012..7aece2e6e6 100644 --- a/tests/cpp_unit_tests/test_typing.cpp +++ b/tests/cpp_unit_tests/test_typing.cpp @@ -8,6 +8,10 @@ #include #include +#include +#include +#include +#include namespace { using namespace power_grid_model; From ad81da11c56ac0333c671c93351f8eebfffc380e Mon Sep 17 00:00:00 2001 From: Nitish Bharambe Date: Mon, 20 Oct 2025 11:16:49 +0200 Subject: [PATCH 6/6] add eigen ignore Signed-off-by: Nitish Bharambe --- .clang-tidy | 1 + 1 file changed, 1 insertion(+) diff --git a/.clang-tidy b/.clang-tidy index 9d8e82d581..774a42fee9 100644 --- a/.clang-tidy +++ b/.clang-tidy @@ -66,6 +66,7 @@ readability-*, WarningsAsErrors: '*' +IgnoreHeaders: 'Eigen/.*' HeaderFilterRegex: '.*'