DPsim
Loading...
Searching...
No Matches
SignalComponents.cpp
1/* Copyright 2017-2021 Institute for Automation of Complex Power Systems,
2 * EONERC, RWTH Aachen University
3 *
4 * This Source Code Form is subject to the terms of the Mozilla Public
5 * License, v. 2.0. If a copy of the MPL was not distributed with this
6 * file, You can obtain one at https://mozilla.org/MPL/2.0/.
7 *********************************************************************************/
8
9#include <DPsim.h>
10#include <dpsim-models/Base/Base_Governor.h>
11#include <dpsim-models/Base/Base_PSS.h>
12#include <dpsim-models/Base/Base_Turbine.h>
13#include <dpsim-models/CSVReader.h>
14#include <dpsim-models/IdentifiedObject.h>
15#include <dpsim-models/Signal/HydroTurbine.h>
16#include <dpsim-models/Signal/HydroTurbineGovernor.h>
17#include <dpsim-models/Signal/PSS1A.h>
18#include <dpsim-models/Signal/SteamTurbine.h>
19#include <dpsim-models/Signal/SteamTurbineGovernor.h>
20#include <dpsim/RealTimeSimulation.h>
21#include <dpsim/Simulation.h>
22#include <dpsim/pybind/SignalComponents.h>
23#include <dpsim/pybind/Utils.h>
24
25namespace py = pybind11;
26using namespace pybind11::literals;
27
28void addSignalComponents(py::module_ mSignal) {
29
31 std::shared_ptr<CPS::TopologicalSignalComp>,
32 CPS::IdentifiedObject>(mSignal, "TopologicalSignalComp");
33 py::class_<CPS::SimSignalComp, std::shared_ptr<CPS::SimSignalComp>,
34 CPS::TopologicalSignalComp>(mSignal, "SimSignalComp");
35
36 py::class_<CPS::Base::Exciter, std::shared_ptr<CPS::Base::Exciter>>(
37 mSignal, "Exciter");
38
40 std::shared_ptr<CPS::Base::ExciterParameters>>(
41 mSignal, "ExciterParameters");
42
44 std::shared_ptr<CPS::Signal::ExciterDC1Parameters>,
45 CPS::Base::ExciterParameters>(mSignal, "ExciterDC1Parameters")
46 .def(py::init<>())
47 .def_readwrite("Tr", &CPS::Signal::ExciterDC1Parameters::Tr)
48 .def_readwrite("Ta", &CPS::Signal::ExciterDC1Parameters::Ta)
49 .def_readwrite("Tb", &CPS::Signal::ExciterDC1Parameters::Tb)
50 .def_readwrite("Tc", &CPS::Signal::ExciterDC1Parameters::Tc)
51 .def_readwrite("Tef", &CPS::Signal::ExciterDC1Parameters::Tef)
52 .def_readwrite("Tf", &CPS::Signal::ExciterDC1Parameters::Tf)
53 .def_readwrite("Ka", &CPS::Signal::ExciterDC1Parameters::Ka)
54 .def_readwrite("Kef", &CPS::Signal::ExciterDC1Parameters::Kef)
55 .def_readwrite("Kf", &CPS::Signal::ExciterDC1Parameters::Kf)
56 .def_readwrite("Aef", &CPS::Signal::ExciterDC1Parameters::Aef)
57 .def_readwrite("Bef", &CPS::Signal::ExciterDC1Parameters::Bef)
58 .def_readwrite("MaxVa", &CPS::Signal::ExciterDC1Parameters::MaxVa)
59 .def_readwrite("MinVa", &CPS::Signal::ExciterDC1Parameters::MinVa);
60
62 std::shared_ptr<CPS::Signal::ExciterDC1SimpParameters>,
63 CPS::Base::ExciterParameters>(mSignal, "ExciterDC1SimpParameters")
64 .def(py::init<>())
67 .def_readwrite("Tef", &CPS::Signal::ExciterDC1SimpParameters::Tef)
70 .def_readwrite("Kef", &CPS::Signal::ExciterDC1SimpParameters::Kef)
72 .def_readwrite("Aef", &CPS::Signal::ExciterDC1SimpParameters::Aef)
73 .def_readwrite("Bef", &CPS::Signal::ExciterDC1SimpParameters::Bef)
74 .def_readwrite("MaxVa", &CPS::Signal::ExciterDC1SimpParameters::MaxVa)
75 .def_readwrite("MinVa", &CPS::Signal::ExciterDC1SimpParameters::MinVa);
76
78 std::shared_ptr<CPS::Signal::ExciterST1Parameters>,
79 CPS::Base::ExciterParameters>(mSignal, "ExciterST1Parameters")
80 .def(py::init<>())
81 .def_readwrite("Tr", &CPS::Signal::ExciterST1Parameters::Tr)
82 .def_readwrite("Ka", &CPS::Signal::ExciterST1Parameters::Ka)
83 .def_readwrite("MaxVa", &CPS::Signal::ExciterST1Parameters::MaxVa)
84 .def_readwrite("MinVa", &CPS::Signal::ExciterST1Parameters::MinVa);
85
87 std::shared_ptr<CPS::Signal::ExciterStaticParameters>,
88 CPS::Base::ExciterParameters>(mSignal, "ExciterStaticParameters")
89 .def(py::init<>())
90 .def_readwrite("Tr", &CPS::Signal::ExciterStaticParameters::Tr)
91 .def_readwrite("Ta", &CPS::Signal::ExciterStaticParameters::Ta)
92 .def_readwrite("Tb", &CPS::Signal::ExciterStaticParameters::Tb)
93 .def_readwrite("Te", &CPS::Signal::ExciterStaticParameters::Te)
94 .def_readwrite("Ka", &CPS::Signal::ExciterStaticParameters::Ka)
95 .def_readwrite("MaxEfd", &CPS::Signal::ExciterStaticParameters::MaxEfd)
96 .def_readwrite("MinEfd", &CPS::Signal::ExciterStaticParameters::MinEfd)
97 .def_readwrite("Kbc", &CPS::Signal::ExciterStaticParameters::Kbc);
98
99 py::class_<CPS::Signal::ExciterDC1, std::shared_ptr<CPS::Signal::ExciterDC1>,
100 CPS::SimSignalComp, CPS::Base::Exciter>(mSignal, "ExciterDC1",
101 py::multiple_inheritance())
102 .def(py::init<std::string>())
103 .def(py::init<std::string, CPS::Logger::Level>())
104 .def(
105 "set_parameters",
107 std::shared_ptr<CPS::Signal::ExciterDC1Parameters> params) {
108 self.setParameters(params);
109 },
110 "parameters"_a);
111
113 std::shared_ptr<CPS::Signal::ExciterDC1Simp>, CPS::SimSignalComp,
114 CPS::Base::Exciter>(mSignal, "ExciterDC1Simp",
115 py::multiple_inheritance())
116 .def(py::init<std::string>())
117 .def(py::init<std::string, CPS::Logger::Level>())
118 .def(
119 "set_parameters",
121 std::shared_ptr<CPS::Signal::ExciterDC1SimpParameters> params) {
122 self.setParameters(params);
123 },
124 "parameters"_a);
125
127 std::shared_ptr<CPS::Signal::ExciterST1Simp>, CPS::SimSignalComp,
128 CPS::Base::Exciter>(mSignal, "ExciterST1Simp",
129 py::multiple_inheritance())
130 .def(py::init<std::string>())
131 .def(py::init<std::string, CPS::Logger::Level>())
132 .def(
133 "set_parameters",
135 std::shared_ptr<CPS::Signal::ExciterST1Parameters> params) {
136 self.setParameters(params);
137 },
138 "parameters"_a);
139
141 std::shared_ptr<CPS::Signal::ExciterStatic>, CPS::SimSignalComp,
142 CPS::Base::Exciter>(mSignal, "ExciterStatic",
143 py::multiple_inheritance())
144 .def(py::init<std::string>())
145 .def(py::init<std::string, CPS::Logger::Level>())
146 .def(
147 "set_parameters",
149 std::shared_ptr<CPS::Signal::ExciterStaticParameters> params) {
150 self.setParameters(params);
151 },
152 "parameters"_a);
153
155 std::shared_ptr<CPS::Signal::DecouplingLine>, CPS::SimSignalComp>(
156 mSignal, "DecouplingLine", py::multiple_inheritance())
157 .def(py::init<std::string>())
158 .def(py::init<std::string, CPS::Logger::Level>())
159 .def("set_parameters", &CPS::Signal::DecouplingLine::setParameters,
160 "node_1"_a, "node_2"_a, "resistance"_a, "inductance"_a,
161 "capacitance"_a)
162 .def("get_line_components",
163 &CPS::Signal::DecouplingLine::getLineComponents);
164
166 std::shared_ptr<CPS::Signal::DecouplingLineEMT>,
167 CPS::SimSignalComp>(mSignal, "DecouplingLineEMT",
168 py::multiple_inheritance())
169 .def(py::init<std::string>())
170 .def(py::init<std::string, CPS::Logger::Level>())
171 .def("set_parameters", &CPS::Signal::DecouplingLineEMT::setParameters,
172 "node_1"_a, "node_2"_a, "resistance"_a, "inductance"_a,
173 "capacitance"_a)
174 .def("get_line_components",
175 &CPS::Signal::DecouplingLineEMT::getLineComponents);
176
178 std::shared_ptr<CPS::Signal::DecouplingLineEMT_Ph3>,
179 CPS::SimSignalComp>(mSignal, "DecouplingLineEMT_Ph3",
180 py::multiple_inheritance())
181 .def(py::init<std::string>())
182 .def(py::init<std::string, CPS::Logger::Level>())
183 .def("set_parameters", &CPS::Signal::DecouplingLineEMT_Ph3::setParameters,
184 "node_1"_a, "node_2"_a, "resistance"_a, "inductance"_a,
185 "capacitance"_a)
186 .def("get_line_components",
187 &CPS::Signal::DecouplingLineEMT_Ph3::getLineComponents);
188
190 std::shared_ptr<CPS::Signal::DecouplingIdealTransformer_SP_Ph1>,
191 CPS::SimSignalComp>(mSignal, "DecouplingIdealTransformer_SP_Ph1",
192 py::multiple_inheritance())
193 .def(py::init<std::string>())
194 .def(py::init<std::string, CPS::Logger::Level>())
195 .def("set_parameters",
196 &CPS::Signal::DecouplingIdealTransformer_SP_Ph1::setParameters,
197 "node_1"_a, "node_2"_a, "delay"_a, "v_src_intf_cur"_a,
198 "cur1_extrap_0"_a, "coupling_method"_a)
199 .def("get_components",
200 &CPS::Signal::DecouplingIdealTransformer_SP_Ph1::getComponents)
201 .def("get_virtual_node",
202 &CPS::Signal::DecouplingIdealTransformer_SP_Ph1::getVirtualNode);
203
205 std::shared_ptr<CPS::Signal::DecouplingIdealTransformer_EMT_Ph1>,
206 CPS::SimSignalComp>(mSignal, "DecouplingIdealTransformer_EMT_Ph1",
207 py::multiple_inheritance())
208 .def(py::init<std::string>())
209 .def(py::init<std::string, CPS::Logger::Level>())
210 .def("set_parameters",
211 &CPS::Signal::DecouplingIdealTransformer_EMT_Ph1::setParameters,
212 "node_1"_a, "node_2"_a, "delay"_a, "v_src_intf_cur"_a,
213 "cur1_extrap_0"_a, "coupling_method"_a)
214 .def("get_components",
215 &CPS::Signal::DecouplingIdealTransformer_EMT_Ph1::getComponents);
216
218 std::shared_ptr<CPS::Signal::DecouplingIdealTransformer_EMT_Ph3>,
219 CPS::SimSignalComp>(mSignal, "DecouplingIdealTransformer_EMT_Ph3",
220 py::multiple_inheritance())
221 .def(py::init<std::string>())
222 .def(py::init<std::string, CPS::Logger::Level>())
223 .def("set_parameters",
224 &CPS::Signal::DecouplingIdealTransformer_EMT_Ph3::setParameters,
225 "node_1"_a, "node_2"_a, "delay"_a, "v_src_intf_cur"_a,
226 "cur1_extrap_0"_a, "coupling_method"_a)
227 .def("get_components",
228 &CPS::Signal::DecouplingIdealTransformer_EMT_Ph3::getComponents)
229 .def("get_virtual_node",
230 &CPS::Signal::DecouplingIdealTransformer_EMT_Ph3::getVirtualNode);
231
233 std::shared_ptr<CPS::Signal::DecouplingIdealTransformer_DP_Ph1>,
234 CPS::SimSignalComp>(mSignal, "DecouplingIdealTransformer_DP_Ph1",
235 py::multiple_inheritance())
236 .def(py::init<std::string>())
237 .def(py::init<std::string, CPS::Logger::Level>())
238 .def("set_parameters",
239 &CPS::Signal::DecouplingIdealTransformer_DP_Ph1::setParameters,
240 "node_1"_a, "node_2"_a, "delay"_a, "v_src_intf_cur"_a,
241 "cur1_extrap_0"_a, "coupling_method"_a)
242 .def("get_components",
243 &CPS::Signal::DecouplingIdealTransformer_DP_Ph1::getComponents)
244 .def("get_virtual_node",
245 &CPS::Signal::DecouplingIdealTransformer_DP_Ph1::getVirtualNode);
246
247 py::class_<CPS::Base::PSSParameters,
248 std::shared_ptr<CPS::Base::PSSParameters>>(mSignal,
249 "PSSParameters");
250
251 py::class_<CPS::Base::PSS, std::shared_ptr<CPS::Base::PSS>>(mSignal, "PSS");
252
254 std::shared_ptr<CPS::Signal::PSS1AParameters>,
255 CPS::Base::PSSParameters>(mSignal, "PSS1AParameters",
256 py::multiple_inheritance())
257 .def(py::init<>())
258 .def_readwrite("Kp", &CPS::Signal::PSS1AParameters::Kp)
259 .def_readwrite("Kv", &CPS::Signal::PSS1AParameters::Kv)
260 .def_readwrite("Kw", &CPS::Signal::PSS1AParameters::Kw)
261 .def_readwrite("T1", &CPS::Signal::PSS1AParameters::T1)
262 .def_readwrite("T2", &CPS::Signal::PSS1AParameters::T2)
263 .def_readwrite("T3", &CPS::Signal::PSS1AParameters::T3)
264 .def_readwrite("T4", &CPS::Signal::PSS1AParameters::T4)
265 .def_readwrite("Vs_max", &CPS::Signal::PSS1AParameters::Vs_max)
266 .def_readwrite("Vs_min", &CPS::Signal::PSS1AParameters::Vs_min)
267 .def_readwrite("Tw", &CPS::Signal::PSS1AParameters::Tw);
268
269 py::class_<CPS::Signal::PSS1A, std::shared_ptr<CPS::Signal::PSS1A>,
270 CPS::SimSignalComp, CPS::Base::PSS>(mSignal, "PSS1A",
271 py::multiple_inheritance())
272 .def(py::init<std::string>())
273 .def(py::init<std::string, CPS::Logger::Level>())
274 .def("set_parameters", &CPS::Signal::PSS1A::setParameters,
275 "parameters"_a);
276
278 std::shared_ptr<CPS::Signal::TurbineGovernorType1>,
279 CPS::SimSignalComp>(mSignal, "TurbineGovernorType1",
280 py::multiple_inheritance())
281 .def(py::init<std::string>())
282 .def(py::init<std::string, CPS::Logger::Level>())
284 "T3"_a, "T4"_a, "T5"_a, "Tc"_a, "Ts"_a, "R"_a, "Tmin"_a, "Tmax"_a,
285 "OmRef"_a)
286 .def("initialize_states",
288
289 // Base Governor / Turbine
291 std::shared_ptr<CPS::Base::GovernorParameters>>(
292 mSignal, "GovernorParameters");
293 py::class_<CPS::Base::Governor, std::shared_ptr<CPS::Base::Governor>>(
294 mSignal, "Governor");
295
297 std::shared_ptr<CPS::Base::TurbineParameters>>(
298 mSignal, "TurbineParameters");
299 py::class_<CPS::Base::Turbine, std::shared_ptr<CPS::Base::Turbine>>(
300 mSignal, "Turbine");
301
302 // SteamTurbineGovernor
304 std::shared_ptr<CPS::Signal::SteamGovernorParameters>,
305 CPS::Base::GovernorParameters>(mSignal, "SteamGovernorParameters",
306 py::multiple_inheritance())
307 .def(py::init<>())
308 .def_readwrite("R", &CPS::Signal::SteamGovernorParameters::R)
309 .def_readwrite("T1", &CPS::Signal::SteamGovernorParameters::T1)
310 .def_readwrite("T2", &CPS::Signal::SteamGovernorParameters::T2)
311 .def_readwrite("T3", &CPS::Signal::SteamGovernorParameters::T3)
312 .def_readwrite("dPmax", &CPS::Signal::SteamGovernorParameters::dPmax)
313 .def_readwrite("dPmin", &CPS::Signal::SteamGovernorParameters::dPmin)
314 .def_readwrite("Pmax", &CPS::Signal::SteamGovernorParameters::Pmax)
315 .def_readwrite("Pmin", &CPS::Signal::SteamGovernorParameters::Pmin)
316 .def_readwrite("OmRef", &CPS::Signal::SteamGovernorParameters::OmRef)
317 .def_readwrite("Kbc", &CPS::Signal::SteamGovernorParameters::Kbc);
318
320 std::shared_ptr<CPS::Signal::SteamTurbineGovernor>,
322 mSignal, "SteamTurbineGovernor", py::multiple_inheritance())
323 .def(py::init<std::string>())
324 .def(py::init<std::string, CPS::Logger::Level>())
325 .def("set_parameters", &CPS::Signal::SteamTurbineGovernor::setParameters,
326 "parameters"_a)
327 .def("initialize_states",
329
330 // SteamTurbine
332 std::shared_ptr<CPS::Signal::SteamTurbineParameters>,
333 CPS::Base::TurbineParameters>(mSignal, "SteamTurbineParameters",
334 py::multiple_inheritance())
335 .def(py::init<>())
336 .def_readwrite("Fhp", &CPS::Signal::SteamTurbineParameters::Fhp)
337 .def_readwrite("Fip", &CPS::Signal::SteamTurbineParameters::Fip)
338 .def_readwrite("Flp", &CPS::Signal::SteamTurbineParameters::Flp)
339 .def_readwrite("Tch", &CPS::Signal::SteamTurbineParameters::Tch)
340 .def_readwrite("Trh", &CPS::Signal::SteamTurbineParameters::Trh)
341 .def_readwrite("Tco", &CPS::Signal::SteamTurbineParameters::Tco);
342
343 py::class_<CPS::Signal::SteamTurbine,
344 std::shared_ptr<CPS::Signal::SteamTurbine>, CPS::SimSignalComp,
345 CPS::Base::Turbine>(mSignal, "SteamTurbine",
346 py::multiple_inheritance())
347 .def(py::init<std::string>())
348 .def(py::init<std::string, CPS::Logger::Level>())
349 .def("set_parameters", &CPS::Signal::SteamTurbine::setParameters,
350 "parameters"_a)
351 .def("initialize_states", &CPS::Signal::SteamTurbine::initializeStates,
352 "Pminit"_a);
353
354 // HydroTurbineGovernor
356 std::shared_ptr<CPS::Signal::HydroGovernorParameters>,
357 CPS::Base::GovernorParameters>(mSignal, "HydroGovernorParameters",
358 py::multiple_inheritance())
359 .def(py::init<>())
360 .def_readwrite("R", &CPS::Signal::HydroGovernorParameters::R)
361 .def_readwrite("T1", &CPS::Signal::HydroGovernorParameters::T1)
362 .def_readwrite("T2", &CPS::Signal::HydroGovernorParameters::T2)
363 .def_readwrite("T3", &CPS::Signal::HydroGovernorParameters::T3)
364 .def_readwrite("Pmax", &CPS::Signal::HydroGovernorParameters::Pmax)
365 .def_readwrite("Pmin", &CPS::Signal::HydroGovernorParameters::Pmin)
366 .def_readwrite("OmRef", &CPS::Signal::HydroGovernorParameters::OmRef);
367
369 std::shared_ptr<CPS::Signal::HydroTurbineGovernor>,
371 mSignal, "HydroTurbineGovernor", py::multiple_inheritance())
372 .def(py::init<std::string>())
373 .def(py::init<std::string, CPS::Logger::Level>())
374 .def("set_parameters", &CPS::Signal::HydroTurbineGovernor::setParameters,
375 "parameters"_a)
376 .def("initialize_states",
378
379 // HydroTurbine
381 std::shared_ptr<CPS::Signal::HydroTurbineParameters>,
382 CPS::Base::TurbineParameters>(mSignal, "HydroTurbineParameters",
383 py::multiple_inheritance())
384 .def(py::init<>())
385 .def_readwrite("Tw", &CPS::Signal::HydroTurbineParameters::Tw);
386
387 py::class_<CPS::Signal::HydroTurbine,
388 std::shared_ptr<CPS::Signal::HydroTurbine>, CPS::SimSignalComp,
389 CPS::Base::Turbine>(mSignal, "HydroTurbine",
390 py::multiple_inheritance())
391 .def(py::init<std::string>())
392 .def(py::init<std::string, CPS::Logger::Level>())
393 .def("set_parameters", &CPS::Signal::HydroTurbine::setParameters,
394 "parameters"_a)
395 .def("initialize_states", &CPS::Signal::HydroTurbine::initializeStates,
396 "Pminit"_a);
397}
Base model for exciters.
Base model for Governors.
Base model for power system stabilizers.
Definition Base_PSS.h:18
Base model for Turbines.
void setParameters(std::shared_ptr< Base::ExciterParameters > parameters) final
Initializes exciter parameters.
Real Aef
First ceiling coefficient.
Definition ExciterDC1.h:36
Real Tf
Stabilizer time constant.
Definition ExciterDC1.h:28
Real Kef
Field circuit integral deviation.
Definition ExciterDC1.h:32
Real Bef
Second ceiling coefficient.
Definition ExciterDC1.h:38
Real Tr
Transducer time constant (s)
Definition ExciterDC1.h:18
Real Tef
Field circuit time constant.
Definition ExciterDC1.h:26
Real Tb
Pole of the regulator inherent dynamic.
Definition ExciterDC1.h:22
Real Tc
Zero of the regulator inherent dynamic.
Definition ExciterDC1.h:24
Real Ta
Amplifier time constant.
Definition ExciterDC1.h:20
void setParameters(std::shared_ptr< Base::ExciterParameters > parameters) final
Initializes exciter parameters.
Real Tef
Field circuit time constant.
Real Tf
Stabilizer time constant.
Real Bef
Second ceiling coefficient.
Real Kef
Field circuit integral deviation.
Real Tr
Transducer time constant (s)
Real Aef
First ceiling coefficient.
Real Ta
Amplifier time constant.
Real Tr
Transducer time constant (s)
void setParameters(std::shared_ptr< Base::ExciterParameters > parameters) final
Initializes exciter parameters.
void setParameters(std::shared_ptr< Base::ExciterParameters > parameters) final
Initializes exciter parameters.
Real Tr
Transducer time constant (s) (optional parameter)
Real Kbc
Proportional gain of anti-Windup.
Real Ta
Time constant of the numerator in the lead lag block (s)
Real Tb
Time constant of the denumerator in the lead lag block (s)
Real Ka
Proportional controller with the gain Ka.
Real Te
Time constant of the exciter machine (s)
Real T3
Time constant of the second PT1 block (lag, denominator)
Real Pmin
Minimum mechanical power (pu)
Real T2
Time constant of the lead numerator.
Real OmRef
Speed setpoint (pu); typically 1.
Real T1
Time constant of the first PT1 block (lag, denominator)
Real Pmax
Maximum mechanical power (pu)
void initializeStates(Real Pref) final
Set steady-state initial values (call after setParameters, before first step)
void initializeStates(Real Pminit) final
Set steady-state initial values (call after setParameters, before first step)
Real Tw
Water starting time (s)
Real Kp
Gain for active power (pu/pu)
Definition PSS1A.h:18
Real Vs_max
Max stabilizer output signal (pu)
Definition PSS1A.h:32
Real T3
Third stabilizer time constant (s)
Definition PSS1A.h:28
Real Vs_min
Min stabilizer output signal (pu)
Definition PSS1A.h:34
Real Kv
Gain for bus voltage magnitude (pu/pu)
Definition PSS1A.h:20
Real T4
Fourth stabilizer time constant (s)
Definition PSS1A.h:30
Real Tw
Wash-out time constant (s)
Definition PSS1A.h:36
Real T2
Second stabilizer time constant (s)
Definition PSS1A.h:26
Real Kw
Stabilizer gain (pu/pu)
Definition PSS1A.h:22
Real T1
First stabilizer time constant (s)
Definition PSS1A.h:24
Real Pmin
Minimum mechanical power (pu)
Real dPmax
Maximum rate of change of Pgv (pu/s)
Real T3
Time constant T3 of the actuator.
Real Pmax
Maximum mechanical power (pu)
Real dPmin
Minimum rate of change of Pgv (pu/s)
Real T2
T2 related to the lead in the controller K(1+sT2)
Real R
Droop — the value 1/K in the controller K(1+sT2)/(1+sT1)
Real OmRef
Speed setpoint (pu); typically 1.
Real T1
T1 related to the lag in the controller K(1+sT2)/(1+sT1)
Real Kbc
Anti-windup proportional gain.
void initializeStates(Real Pref) final
Set steady-state initial values (call after setParameters, before first step)
void initializeStates(Real Pminit) final
Set steady-state initial values (call after setParameters, before first step)
Real Trh
Time constant of reheater (s)
Real Tco
Time constant of crossover piping and LP inlet volumes (s)
Real Fhp
Power fraction of the high-pressure stage.
Real Fip
Power fraction of the intermediate-pressure stage.
Real Tch
Time constant of main inlet volume and steam chest (s)
Real Flp
Power fraction of the low-pressure stage.
void setParameters(Real T3, Real T4, Real T5, Real Tc, Real Ts, Real R, Real Tmin, Real Tmax, Real OmRef)
Initializes exciter parameters.