51 std::shared_ptr<CPS::DP::Ph1::VoltageSource>,
53 py::multiple_inheritance())
54 .def(py::init<std::string>())
55 .def(py::init<std::string, CPS::Logger::Level>())
56 .def(
"set_parameters",
57 py::overload_cast<CPS::Complex, CPS::Real>(
59 "V_ref"_a,
"f_src"_a = 0)
67 std::shared_ptr<CPS::DP::Ph1::VoltageSourceNorton>,
69 py::multiple_inheritance())
70 .def(py::init<std::string>())
71 .def(py::init<std::string, CPS::Logger::Level>())
72 .def(
"set_parameters",
76 py::arg(
"voltageRef"), py::arg(
"srcFreq") = -1)
77 .def(
"set_parameters",
81 py::arg(
"voltageRef"), py::arg(
"srcFreq") = -1,
82 py::arg(
"resistance") = 1e9)
86 std::shared_ptr<CPS::DP::Ph1::CurrentSource>,
88 py::multiple_inheritance())
89 .def(py::init<std::string>())
90 .def(py::init<std::string, CPS::Logger::Level>())
97 py::class_<CPS::DP::Ph1::Resistor, std::shared_ptr<CPS::DP::Ph1::Resistor>,
99 py::multiple_inheritance())
100 .def(py::init<std::string>())
101 .def(py::init<std::string, CPS::Logger::Level>())
107 py::class_<CPS::DP::Ph1::Capacitor, std::shared_ptr<CPS::DP::Ph1::Capacitor>,
109 py::multiple_inheritance())
110 .def(py::init<std::string>())
111 .def(py::init<std::string, CPS::Logger::Level>())
117 py::class_<CPS::DP::Ph1::Inductor, std::shared_ptr<CPS::DP::Ph1::Inductor>,
119 py::multiple_inheritance())
120 .def(py::init<std::string>())
121 .def(py::init<std::string, CPS::Logger::Level>())
128 std::shared_ptr<CPS::DP::Ph1::NetworkInjection>,
130 py::multiple_inheritance())
131 .def(py::init<std::string, CPS::Logger::Level>(),
"name"_a,
132 "loglevel"_a = CPS::Logger::Level::off)
133 .def(
"set_parameters",
134 py::overload_cast<CPS::Complex, CPS::Real>(
136 "V_ref"_a,
"f_src"_a = 0)
139 py::class_<CPS::DP::Ph1::PiLine, std::shared_ptr<CPS::DP::Ph1::PiLine>,
141 py::multiple_inheritance())
142 .def(py::init<std::string, CPS::Logger::Level>(),
"name"_a,
143 "loglevel"_a = CPS::Logger::Level::off)
145 "series_resistance"_a,
"series_inductance"_a,
146 "parallel_capacitance"_a = 0,
"parallel_conductance"_a = 0)
149 py::class_<CPS::DP::Ph1::RXLoad, std::shared_ptr<CPS::DP::Ph1::RXLoad>,
151 py::multiple_inheritance())
152 .def(py::init<std::string, CPS::Logger::Level>(),
"name"_a,
153 "loglevel"_a = CPS::Logger::Level::off)
155 "active_power"_a,
"reactive_power"_a,
"volt"_a)
158 py::class_<CPS::DP::Ph1::Shunt, std::shared_ptr<CPS::DP::Ph1::Shunt>,
160 py::multiple_inheritance())
161 .def(py::init<std::string, CPS::Logger::Level>(),
"name"_a,
162 "loglevel"_a = CPS::Logger::Level::off)
166 py::class_<CPS::DP::Ph1::Switch, std::shared_ptr<CPS::DP::Ph1::Switch>,
168 mDPPh1,
"Switch", py::multiple_inheritance())
169 .def(py::init<std::string, CPS::Logger::Level>(),
"name"_a,
170 "loglevel"_a = CPS::Logger::Level::off)
172 "open_resistance"_a,
"closed_resistance"_a,
180 std::shared_ptr<CPS::DP::Ph1::varResSwitch>,
182 mDPPh1,
"varResSwitch", py::multiple_inheritance())
183 .def(py::init<std::string, CPS::Logger::Level>(),
"name"_a,
184 "loglevel"_a = CPS::Logger::Level::off)
186 "open_resistance"_a,
"closed_resistance"_a,
191 .def(
"set_init_parameters",
196 std::shared_ptr<CPS::DP::Ph1::SSN::Full_Serial_RLC>,
198 py::multiple_inheritance())
199 .def(py::init<std::string>())
200 .def(py::init<std::string, CPS::Logger::Level>())
206 std::shared_ptr<CPS::DP::Ph1::AvVoltSourceInverterStateSpace>,
208 mDPPh1,
"AvVoltSourceInverterStateSpace", py::multiple_inheritance())
209 .def(py::init<std::string, CPS::Logger::Level>(),
"name"_a,
210 "loglevel"_a = CPS::Logger::Level::off)
211 .def(py::init<std::string, std::string, CPS::Logger::Level>(),
"uid"_a,
212 "name"_a,
"loglevel"_a = CPS::Logger::Level::off)
213 .def(
"set_parameters",
215 "Cf"_a,
"Rf"_a,
"Rc"_a,
"omega_n"_a,
"Kp_pll"_a,
"Ki_pll"_a,
216 "omega_cutoff"_a,
"p_ref"_a,
"q_ref"_a,
"Kp_power_ctrl"_a,
217 "Ki_power_ctrl"_a,
"Kp_curr_ctrl"_a,
"Ki_curr_ctrl"_a)
224 .def_property_readonly(
"p_inst",
226 .def_property_readonly(
"q_inst",
228 .def_property_readonly(
"omega_pll",
232 std::shared_ptr<CPS::DP::Ph1::GenericTwoTerminalVTypeSSN>,
234 mDPPh1,
"GenericTwoTerminalVTypeSSN", py::multiple_inheritance())
235 .def(py::init<std::string>())
236 .def(py::init<std::string, CPS::Logger::Level>())
237 .def(
"set_parameters",
244 std::shared_ptr<CPS::DP::Ph1::GenericTwoTerminalITypeSSN>,
246 mDPPh1,
"GenericTwoTerminalITypeSSN", py::multiple_inheritance())
247 .def(py::init<std::string>())
248 .def(py::init<std::string, CPS::Logger::Level>())
249 .def(
"set_parameters",
256 std::shared_ptr<CPS::DP::Ph1::SynchronGeneratorIdeal>,
258 py::multiple_inheritance())
259 .def(py::init<std::string, CPS::Logger::Level>(),
"name"_a,
260 "loglevel"_a = CPS::Logger::Level::off)
264 std::shared_ptr<CPS::DP::Ph1::SynchronGeneratorTrStab>,
266 py::multiple_inheritance())
267 .def(py::init<std::string, CPS::Logger::Level>(),
"name"_a,
268 "loglevel"_a = CPS::Logger::Level::off)
269 .def(
"set_standard_parameters_PU",
271 "nom_power"_a,
"nom_volt"_a,
"nom_freq"_a,
"Xpd"_a,
"inertia"_a,
272 "Rs"_a = 0,
"D"_a = 0)
273 .def(
"set_fundamental_parameters_PU",
275 "nom_power"_a,
"nom_volt"_a,
"nom_freq"_a,
"Ll"_a,
"Lmd"_a,
"Llfd"_a,
277 .def(
"set_initial_values",
279 "elec_power"_a,
"mech_power"_a)
281 .def(
"set_model_flags",
283 "convert_with_omega_mech"_a)
285 "set_reference_omega",
288 std::string refDeltaName,
291 refOmegaComp->attributeTyped<
CPS::Real>(refOmegaName),
292 refDeltaComp->attributeTyped<
CPS::Real>(refDeltaName));
294 "ref_omega_name"_a =
"w_r",
"ref_omage_comp"_a,
295 "ref_delta_name"_a =
"delta_r",
"ref_delta_comp"_a);
298 std::shared_ptr<CPS::DP::Ph1::ReducedOrderSynchronGeneratorVBR>,
300 mDPPh1,
"ReducedOrderSynchronGeneratorVBR", py::multiple_inheritance());
303 std::shared_ptr<CPS::DP::Ph1::SynchronGenerator3OrderVBR>,
305 mDPPh1,
"SynchronGenerator3OrderVBR", py::multiple_inheritance())
306 .def(py::init<std::string, CPS::Logger::Level>(),
"name"_a,
307 "loglevel"_a = CPS::Logger::Level::off)
308 .def(
"set_operational_parameters_per_unit",
313 setOperationalParametersPerUnit),
314 "nom_power"_a,
"nom_voltage"_a,
"nom_frequency"_a,
"H"_a,
"Ld"_a,
315 "Lq"_a,
"L0"_a,
"Ld_t"_a,
"Td0_t"_a)
319 std::shared_ptr<CPS::DP::Ph1::SynchronGenerator4OrderVBR>,
321 mDPPh1,
"SynchronGenerator4OrderVBR", py::multiple_inheritance())
322 .def(py::init<std::string, CPS::Logger::Level>(),
"name"_a,
323 "loglevel"_a = CPS::Logger::Level::off)
324 .def(
"set_operational_parameters_per_unit",
329 setOperationalParametersPerUnit),
330 "nom_power"_a,
"nom_voltage"_a,
"nom_frequency"_a,
"H"_a,
"Ld"_a,
331 "Lq"_a,
"L0"_a,
"Ld_t"_a,
"Lq_t"_a,
"Td0_t"_a,
"Tq0_t"_a)
335 std::shared_ptr<CPS::DP::Ph1::SynchronGenerator5OrderVBR>,
337 mDPPh1,
"SynchronGenerator5OrderVBR", py::multiple_inheritance())
338 .def(py::init<std::string, CPS::Logger::Level>(),
"name"_a,
339 "loglevel"_a = CPS::Logger::Level::off)
340 .def(
"set_operational_parameters_per_unit",
346 setOperationalParametersPerUnit),
347 "nom_power"_a,
"nom_voltage"_a,
"nom_frequency"_a,
"H"_a,
"Ld"_a,
348 "Lq"_a,
"L0"_a,
"Ld_t"_a,
"Lq_t"_a,
"Td0_t"_a,
"Tq0_t"_a,
"Ld_s"_a,
349 "Lq_s"_a,
"Td0_s"_a,
"Tq0_s"_a,
"Taa"_a)
353 std::shared_ptr<CPS::DP::Ph1::SynchronGenerator6aOrderVBR>,
355 mDPPh1,
"SynchronGenerator6aOrderVBR", py::multiple_inheritance())
356 .def(py::init<std::string, CPS::Logger::Level>(),
"name"_a,
357 "loglevel"_a = CPS::Logger::Level::off)
358 .def(
"set_operational_parameters_per_unit",
364 setOperationalParametersPerUnit),
365 "nom_power"_a,
"nom_voltage"_a,
"nom_frequency"_a,
"H"_a,
"Ld"_a,
366 "Lq"_a,
"L0"_a,
"Ld_t"_a,
"Lq_t"_a,
"Td0_t"_a,
"Tq0_t"_a,
"Ld_s"_a,
367 "Lq_s"_a,
"Td0_s"_a,
"Tq0_s"_a,
"Taa"_a)
371 std::shared_ptr<CPS::DP::Ph1::SynchronGenerator6bOrderVBR>,
373 mDPPh1,
"SynchronGenerator6bOrderVBR", py::multiple_inheritance())
374 .def(py::init<std::string, CPS::Logger::Level>(),
"name"_a,
375 "loglevel"_a = CPS::Logger::Level::off)
376 .def(
"set_operational_parameters_per_unit",
382 setOperationalParametersPerUnit),
383 "nom_power"_a,
"nom_voltage"_a,
"nom_frequency"_a,
"H"_a,
"Ld"_a,
384 "Lq"_a,
"L0"_a,
"Ld_t"_a,
"Lq_t"_a,
"Td0_t"_a,
"Tq0_t"_a,
"Ld_s"_a,
385 "Lq_s"_a,
"Td0_s"_a,
"Tq0_s"_a,
"Taa"_a = 0)
389 std::shared_ptr<CPS::DP::Ph1::SynchronGenerator4OrderTPM>,
392 py::multiple_inheritance())
393 .def(py::init<std::string, CPS::Logger::Level>(),
"name"_a,
394 "loglevel"_a = CPS::Logger::Level::off)
395 .def(
"set_operational_parameters_per_unit",
400 setOperationalParametersPerUnit),
401 "nom_power"_a,
"nom_voltage"_a,
"nom_frequency"_a,
"H"_a,
"Ld"_a,
402 "Lq"_a,
"L0"_a,
"Ld_t"_a,
"Lq_t"_a,
"Td0_t"_a,
"Tq0_t"_a)
406 std::shared_ptr<CPS::DP::Ph1::SynchronGenerator4OrderPCM>,
409 py::multiple_inheritance())
410 .def(py::init<std::string, CPS::Logger::Level>(),
"name"_a,
411 "loglevel"_a = CPS::Logger::Level::off)
412 .def(
"set_operational_parameters_per_unit",
417 setOperationalParametersPerUnit),
418 "nom_power"_a,
"nom_voltage"_a,
"nom_frequency"_a,
"H"_a,
"Ld"_a,
419 "Lq"_a,
"L0"_a,
"Ld_t"_a,
"Lq_t"_a,
"Td0_t"_a,
"Tq0_t"_a)
423 std::shared_ptr<CPS::DP::Ph1::SynchronGenerator6OrderPCM>,
426 py::multiple_inheritance())
427 .def(py::init<std::string, CPS::Logger::Level>(),
"name"_a,
428 "loglevel"_a = CPS::Logger::Level::off)
429 .def(
"set_operational_parameters_per_unit",
435 setOperationalParametersPerUnit),
436 "nom_power"_a,
"nom_voltage"_a,
"nom_frequency"_a,
"H"_a,
"Ld"_a,
437 "Lq"_a,
"L0"_a,
"Ld_t"_a,
"Lq_t"_a,
"Td0_t"_a,
"Tq0_t"_a,
"Ld_s"_a,
438 "Lq_s"_a,
"Td0_s"_a,
"Tq0_s"_a,
"Taa"_a = 0)
442 std::shared_ptr<CPS::DP::Ph1::AvVoltageSourceInverterDQ>,
444 mDPPh1,
"AvVoltageSourceInverterDQ", py::multiple_inheritance())
445 .def(py::init<std::string, CPS::Logger::Level>(),
"name"_a,
446 "loglevel"_a = CPS::Logger::Level::off)
447 .def(py::init<std::string, std::string, CPS::Logger::Level, CPS::Bool>(),
448 "uid"_a,
"name"_a,
"loglevel"_a = CPS::Logger::Level::off,
450 "with_trafo"_a =
false)
451 .def(
"set_parameters",
453 "sys_omega"_a,
"sys_volt_nom"_a,
"p_ref"_a,
"q_ref"_a)
454 .def(
"set_filter_parameters",
456 "Lf"_a,
"Cf"_a,
"Rf"_a,
"Rc"_a)
457 .def(
"set_controller_parameters",
459 "Kp_pll"_a,
"Ki_pll"_a,
"Kp_power_ctrl"_a,
"Ki_power_ctrl"_a,
460 "Kp_curr_ctrl"_a,
"Ki_curr_ctrl"_a,
"omega_cutoff"_a)
461 .def(
"set_transformer_parameters",
463 "nom_voltage_end_1"_a,
"nom_voltage_end_2"_a,
"rated_power"_a,
464 "ratio_abs"_a,
"ratio_phase"_a,
"resistance"_a,
"inductance"_a)
465 .def(
"set_initial_state_values",
467 "p_init"_a,
"q_init"_a,
"phi_d_init"_a,
"phi_q_init"_a,
468 "gamma_d_init"_a,
"gamma_q_init"_a)
473 py::class_<CPS::DP::Ph1::Inverter, std::shared_ptr<CPS::DP::Ph1::Inverter>,
475 py::multiple_inheritance())
476 .def(py::init<std::string, CPS::Logger::Level>(),
"name"_a,
477 "loglevel"_a = CPS::Logger::Level::off)
479 "carrier_harms"_a,
"modul_harms"_a,
"input_voltage"_a,
"ratio"_a,
484 std::shared_ptr<CPS::DP::Ph1::Transformer>,
486 py::multiple_inheritance())
487 .def(py::init<std::string, CPS::Logger::Level>(),
"name"_a,
488 "loglevel"_a = CPS::Logger::Level::off)
489 .def(py::init<std::string, std::string, CPS::Logger::Level, CPS::Bool>(),
490 "uid"_a,
"name"_a,
"loglevel"_a = CPS::Logger::Level::off,
492 "with_resistive_losses"_a =
false)
493 .def(
"set_parameters",
497 "nom_voltage_end_1"_a,
"nom_voltage_end_2"_a,
"ratio_abs"_a,
498 "ratio_phase"_a,
"resistance"_a,
"inductance"_a)
499 .def(
"set_parameters",
503 "nom_voltage_end_1"_a,
"nom_voltage_end_2"_a,
"rated_power"_a,
504 "ratio_abs"_a,
"ratio_phase"_a,
"resistance"_a,
"inductance"_a)
510 std::shared_ptr<CPS::DP::Ph3::VoltageSource>,
512 py::multiple_inheritance())
513 .def(py::init<std::string>())
514 .def(py::init<std::string, CPS::Logger::Level>())
516 "V_ref"_a,
"f_src"_a = 0.0)
524 std::shared_ptr<CPS::DP::Ph3::NetworkInjection>,
526 py::multiple_inheritance())
527 .def(py::init<std::string, CPS::Logger::Level>(),
"name"_a,
528 "loglevel"_a = CPS::Logger::Level::off)
530 "V_ref"_a,
"f_src"_a = 0.0)
533 py::class_<CPS::DP::Ph3::PiLine, std::shared_ptr<CPS::DP::Ph3::PiLine>,
535 py::multiple_inheritance())
536 .def(py::init<std::string, CPS::Logger::Level>(),
"name"_a,
537 "loglevel"_a = CPS::Logger::Level::off)
539 "series_resistance"_a,
"series_inductance"_a,
545 std::shared_ptr<CPS::DP::Ph3::CurrentSource>,
547 py::multiple_inheritance())
548 .def(py::init<std::string>())
549 .def(py::init<std::string, CPS::Logger::Level>())
551 "I_ref"_a,
"f_src"_a = 0.0)
558 py::class_<CPS::DP::Ph3::Resistor, std::shared_ptr<CPS::DP::Ph3::Resistor>,
560 py::multiple_inheritance())
561 .def(py::init<std::string>())
562 .def(py::init<std::string, CPS::Logger::Level>())
566 py::class_<CPS::DP::Ph3::Inductor, std::shared_ptr<CPS::DP::Ph3::Inductor>,
568 py::multiple_inheritance())
569 .def(py::init<std::string>())
570 .def(py::init<std::string, CPS::Logger::Level>())
574 py::class_<CPS::DP::Ph3::Capacitor, std::shared_ptr<CPS::DP::Ph3::Capacitor>,
576 py::multiple_inheritance())
577 .def(py::init<std::string>())
578 .def(py::init<std::string, CPS::Logger::Level>())
585 std::shared_ptr<CPS::DP::Ph3::SynchronGeneratorDQODE>,
587 py::multiple_inheritance())
588 .def(py::init<std::string, CPS::Logger::Level>(),
"name"_a,
589 "loglevel"_a = CPS::Logger::Level::off)
590 .def(
"set_parameters_fundamental_per_unit",
592 setParametersFundamentalPerUnit,
593 "nom_power"_a,
"nom_volt"_a,
"nom_freq"_a,
"pole_number"_a,
594 "nom_field_cur"_a,
"Rs"_a,
"Ll"_a,
"Lmd"_a,
"Lmq"_a,
"Rfd"_a,
595 "Llfd"_a,
"Rkd"_a,
"Llkd"_a,
"Rkq1"_a,
"Llkq1"_a,
"Rkq2"_a,
596 "Llkq2"_a,
"inertia"_a,
"init_active_power"_a,
597 "init_reactive_power"_a,
"init_terminal_volt"_a,
"init_volt_angle"_a,
604 std::shared_ptr<CPS::DP::Ph3::SynchronGeneratorDQTrapez>,
606 mDPPh3,
"SynchronGeneratorDQTrapez", py::multiple_inheritance())
607 .def(py::init<std::string, CPS::Logger::Level>(),
"name"_a,
608 "loglevel"_a = CPS::Logger::Level::off)
609 .def(
"set_parameters_fundamental_per_unit",
611 setParametersFundamentalPerUnit,
612 "nom_power"_a,
"nom_volt"_a,
"nom_freq"_a,
"pole_number"_a,
613 "nom_field_cur"_a,
"Rs"_a,
"Ll"_a,
"Lmd"_a,
"Lmq"_a,
"Rfd"_a,
614 "Llfd"_a,
"Rkd"_a,
"Llkd"_a,
"Rkq1"_a,
"Llkq1"_a,
"Rkq2"_a,
615 "Llkq2"_a,
"inertia"_a,
"init_active_power"_a,
616 "init_reactive_power"_a,
"init_terminal_volt"_a,
"init_volt_angle"_a,
621 std::shared_ptr<CPS::DP::Ph3::SeriesResistor>,
623 py::multiple_inheritance())
624 .def(py::init<std::string>())
625 .def(py::init<std::string, CPS::Logger::Level>())
631 std::shared_ptr<CPS::DP::Ph3::SeriesSwitch>,
633 mDPPh3,
"SeriesSwitch", py::multiple_inheritance())
634 .def(py::init<std::string, CPS::Logger::Level>(),
"name"_a,
635 "loglevel"_a = CPS::Logger::Level::off)
637 "open_resistance"_a,
"closed_resistance"_a,
644 py::class_<CPS::DP::Ph3::Switch, std::shared_ptr<CPS::DP::Ph3::Switch>,
646 mDPPh3,
"Switch", py::multiple_inheritance())
647 .def(py::init<std::string, CPS::Logger::Level>(),
"name"_a,
648 "loglevel"_a = CPS::Logger::Level::off)
650 "open_resistance"_a,
"closed_resistance"_a,
658 std::shared_ptr<CPS::DP::Ph3::SSN::Full_Serial_RLC>,
660 py::multiple_inheritance())
661 .def(py::init<std::string>())
662 .def(py::init<std::string, CPS::Logger::Level>())
668 std::shared_ptr<CPS::DP::Ph3::AvVoltSourceInverterStateSpace>,
670 mDPPh3,
"AvVoltSourceInverterStateSpace", py::multiple_inheritance())
671 .def(py::init<std::string, CPS::Logger::Level, CPS::Bool>(),
"name"_a,
672 "loglevel"_a = CPS::Logger::Level::off,
674 "enable_neg_seq_control"_a =
false)
675 .def(py::init<std::string, std::string, CPS::Logger::Level, CPS::Bool>(),
676 "uid"_a,
"name"_a,
"loglevel"_a = CPS::Logger::Level::off,
678 "enable_neg_seq_control"_a =
false)
679 .def(
"set_parameters",
681 "Cf"_a,
"Rf"_a,
"Rc"_a,
"omega_n"_a,
"Kp_pll"_a,
"Ki_pll"_a,
682 "omega_cutoff"_a,
"p_ref"_a,
"q_ref"_a,
"Kp_power_ctrl"_a,
683 "Ki_power_ctrl"_a,
"Kp_curr_ctrl"_a,
"Ki_curr_ctrl"_a,
684 "i_ref_n_d"_a = 0.0,
"i_ref_n_q"_a = 0.0)
691 .def_property_readonly(
"irc_n_d",
693 .def_property_readonly(
"irc_n_q",
695 .def_property_readonly(
"p_inst",
697 .def_property_readonly(
"q_inst",
699 .def_property_readonly(
"omega_pll",
703 std::shared_ptr<CPS::DP::Ph3::GenericTwoTerminalVTypeSSN>,
705 mDPPh3,
"GenericTwoTerminalVTypeSSN", py::multiple_inheritance())
706 .def(py::init<std::string>())
707 .def(py::init<std::string, CPS::Logger::Level>())
708 .def(
"set_parameters",
715 std::shared_ptr<CPS::DP::Ph3::GenericTwoTerminalITypeSSN>,
717 mDPPh3,
"GenericTwoTerminalITypeSSN", py::multiple_inheritance())
718 .def(py::init<std::string>())
719 .def(py::init<std::string, CPS::Logger::Level>())
720 .def(
"set_parameters",