Skip to content

Commit 7385230

Browse files
committed
fix formatting
Signed-off-by: Eduard Fried <eduard.fried@soptim.de>
1 parent 72e9c65 commit 7385230

File tree

19 files changed

+106
-149
lines changed

19 files changed

+106
-149
lines changed

power_grid_model_c/power_grid_model/include/power_grid_model/all_components.hpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,10 @@
2929

3030
namespace power_grid_model {
3131

32-
using AllComponents =
33-
ComponentList<Node, Line, AsymLine, Link, GenericBranch, Transformer, ThreeWindingTransformer, Shunt, Source,
34-
SymGenerator, AsymGenerator, SymLoad, AsymLoad, SymPowerSensor, AsymPowerSensor, SymVoltageSensor,
35-
AsymVoltageSensor, SymCurrentSensor, AsymCurrentSensor, Fault, TransformerTapRegulator, VoltageRegulator>;
32+
using AllComponents = ComponentList<Node, Line, AsymLine, Link, GenericBranch, Transformer, ThreeWindingTransformer,
33+
Shunt, Source, SymGenerator, AsymGenerator, SymLoad, AsymLoad, SymPowerSensor,
34+
AsymPowerSensor, SymVoltageSensor, AsymVoltageSensor, SymCurrentSensor,
35+
AsymCurrentSensor, Fault, TransformerTapRegulator, VoltageRegulator>;
3636

3737
using AllExtraRetrievableTypes =
3838
ExtraRetrievableTypes<Base, Node, Branch, Branch3, Appliance, GenericLoadGen, GenericLoad, GenericGenerator,

power_grid_model_c/power_grid_model/include/power_grid_model/common/enum.hpp

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,7 @@
88

99
namespace power_grid_model {
1010

11-
enum class BusType : IntS {
12-
pq = 0, pv = 1, slack = 2
13-
};
11+
enum class BusType : IntS { pq = 0, pv = 1, slack = 2 };
1412

1513
enum class LoadGenType : IntS {
1614
const_pq = 0, // constant power

power_grid_model_c/power_grid_model/include/power_grid_model/common/exception.hpp

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -173,16 +173,14 @@ class DuplicativelyRegulatedObject : public PowerGridError {
173173
class UnsupportedRegulatorCombinationError : public PowerGridError {
174174
public:
175175
UnsupportedRegulatorCombinationError()
176-
: PowerGridError{
177-
"The combination of voltage regulators and transformer tap regulators is not supported in the same model."
178-
} {}
176+
: PowerGridError{"The combination of voltage regulators and transformer tap regulators is not supported in the "
177+
"same model."} {}
179178
};
180179

181180
class ConflictingVoltageRegulatorURef : public PowerGridError {
182181
public:
183182
ConflictingVoltageRegulatorURef(std::string const& regulator_ids)
184-
: PowerGridError{
185-
std::format("Conflicting u_ref values detected for voltage regulators {}.", regulator_ids)} {}
183+
: PowerGridError{std::format("Conflicting u_ref values detected for voltage regulators {}.", regulator_ids)} {}
186184
};
187185

188186
class AutomaticTapCalculationError : public PowerGridError {

power_grid_model_c/power_grid_model/include/power_grid_model/component/voltage_regulator.hpp

Lines changed: 9 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,7 @@ class VoltageRegulator : public Regulator {
2323
template <symmetry_tag sym> using OutputType = VoltageRegulatorOutput<sym>;
2424

2525
static constexpr char const* name = "voltage_regulator";
26-
explicit VoltageRegulator(VoltageRegulatorInput const& voltage_regulator_input,
27-
ComponentType regulated_object_type,
26+
explicit VoltageRegulator(VoltageRegulatorInput const& voltage_regulator_input, ComponentType regulated_object_type,
2827
double injection_direction)
2928
: Regulator{voltage_regulator_input, regulated_object_type},
3029
injection_direction_{injection_direction},
@@ -52,14 +51,11 @@ class VoltageRegulator : public Regulator {
5251

5352
constexpr RegulatorShortCircuitOutput get_null_sc_output() const { return {.id = id(), .energized = 0}; }
5453

55-
template <symmetry_tag sym>
56-
constexpr VoltageRegulatorOutput<sym> get_null_output() const {
54+
template <symmetry_tag sym> constexpr VoltageRegulatorOutput<sym> get_null_output() const {
5755
return {.id = id(), .energized = 0, .limit_violated = 0, .q = RealValue<sym>{0}};
5856
}
5957

60-
constexpr bool is_energized(bool is_connected_to_source = true) const {
61-
return is_connected_to_source && status();
62-
}
58+
constexpr bool is_energized(bool is_connected_to_source = true) const { return is_connected_to_source && status(); }
6359

6460
template <symmetry_tag sym>
6561
VoltageRegulatorOutput<sym> get_output(VoltageRegulatorSolverOutput<sym> const& solver_output) const {
@@ -70,15 +66,12 @@ class VoltageRegulator : public Regulator {
7066
return output;
7167
}
7268

73-
template <symmetry_tag sym>
74-
VoltageRegulatorCalcParam<sym> calc_param() const {
75-
return VoltageRegulatorCalcParam<sym>{
76-
.status = static_cast<IntS>(status()),
77-
.u_ref = {u_ref_, 0.0},
78-
.q_min = RealValue<sym>{q_min_ / base_power_3p},
79-
.q_max = RealValue<sym>{q_max_ / base_power_3p},
80-
.generator_id = this->regulated_object()
81-
};
69+
template <symmetry_tag sym> VoltageRegulatorCalcParam<sym> calc_param() const {
70+
return VoltageRegulatorCalcParam<sym>{.status = static_cast<IntS>(status()),
71+
.u_ref = {u_ref_, 0.0},
72+
.q_min = RealValue<sym>{q_min_ / base_power_3p},
73+
.q_max = RealValue<sym>{q_max_ / base_power_3p},
74+
.generator_id = this->regulated_object()};
8275
}
8376

8477
// setter

power_grid_model_c/power_grid_model/include/power_grid_model/main_core/calculation_input_preparation.hpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ inline auto calculate_param(auto const& c, auto const&... extra_args)
8484
* The default lambda `include_all` always returns `true`.
8585
*/
8686
template <calculation_input_type CalcStructOut, typename CalcParamOut,
87-
std::vector<CalcParamOut>(CalcStructOut::*comp_vect), class ComponentIn,
87+
std::vector<CalcParamOut>(CalcStructOut::* comp_vect), class ComponentIn,
8888
std::invocable<Idx> PredicateIn = IncludeAll>
8989
requires std::convertible_to<std::invoke_result_t<PredicateIn, Idx>, bool>
9090
void prepare_input(main_model_state_c auto const& state, std::vector<Idx2D> const& components,
@@ -103,7 +103,7 @@ void prepare_input(main_model_state_c auto const& state, std::vector<Idx2D> cons
103103
}
104104

105105
template <calculation_input_type CalcStructOut, typename CalcParamOut,
106-
std::vector<CalcParamOut>(CalcStructOut::*comp_vect), class ComponentIn,
106+
std::vector<CalcParamOut>(CalcStructOut::* comp_vect), class ComponentIn,
107107
std::invocable<Idx> PredicateIn = IncludeAll>
108108
requires std::convertible_to<std::invoke_result_t<PredicateIn, Idx>, bool>
109109
void prepare_input(main_model_state_c auto const& state, std::vector<Idx2D> const& components,
@@ -122,7 +122,7 @@ void prepare_input(main_model_state_c auto const& state, std::vector<Idx2D> cons
122122
}
123123
}
124124

125-
template <symmetry_tag sym, class InputType, IntSVector(InputType::*component), class Component>
125+
template <symmetry_tag sym, class InputType, IntSVector(InputType::* component), class Component>
126126
requires std::same_as<InputType, PowerFlowInput<sym>> || std::same_as<InputType, StateEstimationInput<sym>>
127127
void prepare_input_status(main_model_state_c auto const& state, std::vector<Idx2D> const& objects,
128128
std::vector<InputType>& input) {
@@ -155,8 +155,8 @@ std::vector<PowerFlowInput<sym>> prepare_power_flow_input(main_model_state_c aut
155155
prepare_input<PowerFlowInput<sym>, ComplexValue<sym>, &PowerFlowInput<sym>::s_injection, GenericLoadGen>(
156156
state, state.topo_comp_coup->load_gen, pf_input);
157157

158-
prepare_input<PowerFlowInput<sym>, VoltageRegulatorCalcParam<sym>, &PowerFlowInput<sym>::voltage_regulator, VoltageRegulator>(
159-
state, state.topo_comp_coup->voltage_regulator, pf_input);
158+
prepare_input<PowerFlowInput<sym>, VoltageRegulatorCalcParam<sym>, &PowerFlowInput<sym>::voltage_regulator,
159+
VoltageRegulator>(state, state.topo_comp_coup->voltage_regulator, pf_input);
160160

161161
prepare_input_status<sym, PowerFlowInput<sym>, &PowerFlowInput<sym>::load_gen_status, GenericLoadGen>(
162162
state, state.topo_comp_coup->load_gen, pf_input);

power_grid_model_c/power_grid_model/include/power_grid_model/main_core/core_utils.hpp

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,10 @@ template <typename Tuple, class Functor, std::size_t... Indices>
2424
constexpr auto run_functor_with_tuple_index_return_array(Functor&& functor,
2525
std::index_sequence<Indices...> /*unused*/) {
2626
if constexpr (sizeof...(Indices) == 1) {
27-
return std::array {
28-
std::forward<Functor>(functor).template operator()<std::tuple_element_t<Indices, Tuple>>()...
29-
};
27+
return std::array{
28+
std::forward<Functor>(functor).template operator()<std::tuple_element_t<Indices, Tuple>>()...};
3029
} else {
31-
auto result = std::array { functor.template operator()<std::tuple_element_t<Indices, Tuple>>()... };
30+
auto result = std::array{functor.template operator()<std::tuple_element_t<Indices, Tuple>>()...};
3231
capturing::into_the_void(std::forward<Functor>(functor));
3332
return result;
3433
}

power_grid_model_c/power_grid_model/include/power_grid_model/main_core/main_model_type.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ concept validate_component_types_c =
6161
dependent_type_check<CompList, AsymCurrentSensor, Line, AsymLine, Link, GenericBranch, Transformer,
6262
ThreeWindingTransformer> && //
6363
dependent_type_check<CompList, TransformerTapRegulator, Node, Transformer, ThreeWindingTransformer> && //
64-
dependent_type_check<CompList, Fault, Node> && //
64+
dependent_type_check<CompList, Fault, Node> && //
6565
dependent_type_check<CompList, VoltageRegulator, SymGenerator, AsymGenerator, SymLoad, AsymLoad>;
6666
} // namespace detail
6767

power_grid_model_c/power_grid_model/include/power_grid_model/main_core/output.hpp

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -455,18 +455,14 @@ output_result(Component const& transformer_tap_regulator, MainModelState<Compone
455455
template <std::derived_from<VoltageRegulator> Component, class ComponentContainer,
456456
steady_state_solver_output_type SolverOutputType>
457457
requires model_component_state_c<MainModelState, ComponentContainer, Component>
458-
constexpr auto output_result(Component const& voltage_regulator,
459-
MainModelState<ComponentContainer> const& state,
460-
MathOutput<std::vector<SolverOutputType>> const& math_output,
461-
Idx const obj_seq) {
458+
constexpr auto output_result(Component const& voltage_regulator, MainModelState<ComponentContainer> const& state,
459+
MathOutput<std::vector<SolverOutputType>> const& math_output, Idx const obj_seq) {
462460
using sym = typename SolverOutputType::sym;
463461

464-
Idx2D const load_gen_math_id = [&]() {
465-
return state.topo_comp_coup->load_gen[obj_seq];
466-
}();
462+
Idx2D const load_gen_math_id = [&]() { return state.topo_comp_coup->load_gen[obj_seq]; }();
467463
if (load_gen_math_id.group != -1) {
468464
// is voltage regulator always in same group as the generator it regulates?
469-
for (auto const& vr_output: math_output.solver_output[load_gen_math_id.group].voltage_regulator) {
465+
for (auto const& vr_output : math_output.solver_output[load_gen_math_id.group].voltage_regulator) {
470466
if (vr_output.generator_id == voltage_regulator.regulated_object()) {
471467
return voltage_regulator.template get_output<sym>(vr_output);
472468
}
@@ -478,9 +474,9 @@ constexpr auto output_result(Component const& voltage_regulator,
478474
template <std::derived_from<VoltageRegulator> Component, class ComponentContainer,
479475
short_circuit_solver_output_type SolverOutputType>
480476
requires model_component_state_c<MainModelState, ComponentContainer, Component>
481-
constexpr auto
482-
output_result(Component const& voltage_regulator, MainModelState<ComponentContainer> const& /* state */,
483-
MathOutput<std::vector<SolverOutputType>> const& /* math_output */, Idx const /* obj_seq */) {
477+
constexpr auto output_result(Component const& voltage_regulator, MainModelState<ComponentContainer> const& /* state */,
478+
MathOutput<std::vector<SolverOutputType>> const& /* math_output */,
479+
Idx const /* obj_seq */) {
484480
return voltage_regulator.get_null_sc_output();
485481
}
486482

power_grid_model_c/power_grid_model/include/power_grid_model/main_model_impl.hpp

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -491,7 +491,8 @@ class MainModelImpl {
491491
if (options.calculation_type == CalculationType::power_flow &&
492492
options.calculation_method == CalculationMethod::newton_raphson &&
493493
state_.components.template size<VoltageRegulator>() > 0) {
494-
throw ExperimentalFeature{"Voltage Regulator with Newton-Raphson Power Flow Method is an experimental feature."};
494+
throw ExperimentalFeature{
495+
"Voltage Regulator with Newton-Raphson Power Flow Method is an experimental feature."};
495496
}
496497
}
497498

@@ -521,7 +522,7 @@ class MainModelImpl {
521522
// lookup of appliance node by appliance ID
522523
std::map<ID, ID> appliance_nodes;
523524
for (auto const& load : state_.components.template citer<GenericLoadGen>()) {
524-
if (load.status() == true) {
525+
if (load.status()) {
525526
appliance_nodes[load.id()] = load.node();
526527
}
527528
}
@@ -549,19 +550,20 @@ class MainModelImpl {
549550
for (auto const& [node_id, u_refs] : node_u_refs) {
550551
if (u_refs.size() > 1) {
551552
auto const& regulators = node_regulators[node_id];
552-
conflicting_regulators.insert(conflicting_regulators.end(),
553-
regulators.begin(), regulators.end());
553+
conflicting_regulators.insert(conflicting_regulators.end(), regulators.begin(), regulators.end());
554554
}
555555
}
556556
if (!conflicting_regulators.empty()) {
557557
// join IDs like this, because of various compiler errors with std::format and
558558
// std::accumulate when used in exception constructor
559559
std::ostringstream oss;
560560
for (size_t i = 0; i < conflicting_regulators.size(); ++i) {
561-
if (i > 0) oss << ", ";
561+
if (i > 0) {
562+
oss << ", ";
563+
}
562564
oss << conflicting_regulators[i];
563565
}
564-
std::string ids = oss.str();
566+
const std::string ids = oss.str();
565567
throw ConflictingVoltageRegulatorURef{ids};
566568
}
567569
}

power_grid_model_c/power_grid_model/include/power_grid_model/math_solver/common_solver_functions.hpp

Lines changed: 19 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -144,27 +144,24 @@ inline void calculate_source_result(IdxRange const& sources, Idx const& bus_numb
144144
}
145145

146146
template <symmetry_tag sym>
147-
inline void calculate_voltage_regulator_result(Idx const& bus_number, PowerFlowInput<sym> const& input, SolverOutput<sym>& output,
148-
IdxRange const& load_gens, std::map<Idx, Idx> const& loadgen_to_regulator) {
147+
inline void calculate_voltage_regulator_result(Idx const& bus_number, PowerFlowInput<sym> const& input,
148+
SolverOutput<sym>& output, IdxRange const& load_gens,
149+
std::map<Idx, Idx> const& loadgen_to_regulator) {
149150
if (load_gens.empty()) {
150151
return;
151152
}
152153

153154
ComplexValue<sym> const s_load_gen_bus =
154155
std::transform_reduce(load_gens.begin(), load_gens.end(), ComplexValue<sym>{}, std::plus{},
155-
[&](Idx const load_gen) { return output.load_gen[load_gen].s; });
156+
[&](Idx const load_gen) { return output.load_gen[load_gen].s; });
156157

157158
ComplexValue<sym> const s_remaining = output.bus_injection[bus_number] - s_load_gen_bus;
158159

159-
auto regulating_gens = load_gens
160-
| std::views::filter([&](Idx lg) {
161-
return loadgen_to_regulator.contains(lg);
162-
})
163-
| std::views::filter([&](Idx lg) {
164-
auto const regulator = loadgen_to_regulator.at(lg);
165-
return input.load_gen_status[lg] != 0 &&
166-
input.voltage_regulator[regulator].status != 0;
167-
});
160+
auto regulating_gens = load_gens | std::views::filter([&](Idx lg) { return loadgen_to_regulator.contains(lg); }) |
161+
std::views::filter([&](Idx lg) {
162+
auto const regulator = loadgen_to_regulator.at(lg);
163+
return input.load_gen_status[lg] != 0 && input.voltage_regulator[regulator].status != 0;
164+
});
168165
double num_regulating_gens = 0.0;
169166
for ([[maybe_unused]] auto const& _ : regulating_gens) {
170167
++num_regulating_gens;
@@ -187,12 +184,13 @@ inline void calculate_voltage_regulator_result(Idx const& bus_number, PowerFlowI
187184
output_regulator.limit_violated = 0;
188185
output_regulator.q = RealValue<sym>{0};
189186

190-
if(input.load_gen_status[load_gen] == 0 || input.voltage_regulator[regulator].status == 0) {
187+
if (input.load_gen_status[load_gen] == 0 || input.voltage_regulator[regulator].status == 0) {
191188
continue;
192189
}
193190

194191
// TODO(scud-soptim): #185 consider Q Limits (PV to PQ conversion)
195-
// TODO(scud-soptim): #185 equal distribution for now, later consider proportional distribution based on Q limits
192+
// TODO(scud-soptim): #185 equal distribution for now, later consider proportional distribution based on Q
193+
// limits
196194
if constexpr (is_symmetric_v<sym>) {
197195
auto const q_regulator = q_remaining / num_regulating_gens;
198196
output_regulator.q = q_regulator;
@@ -201,21 +199,18 @@ inline void calculate_voltage_regulator_result(Idx const& bus_number, PowerFlowI
201199
auto const& s_load_gen = output.load_gen[load_gen].s;
202200
output.load_gen[load_gen].s = ComplexValue<sym>{real(s_load_gen), imag(s_load_gen) + q_regulator};
203201
} else {
204-
output.voltage_regulator[regulator].q = RealValue<asymmetric_t>{
205-
q_remaining[0] / num_regulating_gens,
206-
q_remaining[1] / num_regulating_gens,
207-
q_remaining[2] / num_regulating_gens
208-
};
202+
output.voltage_regulator[regulator].q =
203+
RealValue<asymmetric_t>{q_remaining[0] / num_regulating_gens, q_remaining[1] / num_regulating_gens,
204+
q_remaining[2] / num_regulating_gens};
209205
output.voltage_regulator[regulator].limit_violated = 0; // no violation
210206

211207
auto const& s_load_gen = output.load_gen[load_gen].s;
212208
auto const& p_load_gen = real(s_load_gen);
213209
auto const& q_load_gen = imag(s_load_gen);
214-
output.load_gen[load_gen].s = ComplexValue<asymmetric_t>{
215-
{p_load_gen[0], q_load_gen[0] + q_remaining[0] / num_regulating_gens},
216-
{p_load_gen[1], q_load_gen[1] + q_remaining[1] / num_regulating_gens},
217-
{p_load_gen[2], q_load_gen[2] + q_remaining[2] / num_regulating_gens}
218-
};
210+
output.load_gen[load_gen].s =
211+
ComplexValue<asymmetric_t>{{p_load_gen[0], q_load_gen[0] + q_remaining[0] / num_regulating_gens},
212+
{p_load_gen[1], q_load_gen[1] + q_remaining[1] / num_regulating_gens},
213+
{p_load_gen[2], q_load_gen[2] + q_remaining[2] / num_regulating_gens}};
219214
}
220215
output.load_gen[load_gen].i = conj(output.load_gen[load_gen].s / output.u[bus_number]);
221216
}

0 commit comments

Comments
 (0)