35 enum class StateType { perUnit, statorReferred, rotorReferred };
40 void addGovernor(Real Ta, Real Tb, Real Tc, Real Fa, Real Fb, Real Fc, Real K,
41 Real Tsr, Real Tsm, Real Tm_init, Real PmRef);
44 addGovernor(std::shared_ptr<Signal::TurbineGovernorType1> turbineGovernor);
46 void addGovernor(Real T3, Real T4, Real T5, Real Tc, Real Ts, Real R,
47 Real Tmin, Real Tmax, Real OmRef, Real TmRef);
52 std::shared_ptr<Base::GovernorParameters> govParams,
53 std::shared_ptr<Base::Turbine> turbine,
54 std::shared_ptr<Base::TurbineParameters> turbineParams);
57 std::shared_ptr<Base::Turbine> turbine);
61 std::shared_ptr<Base::ExciterParameters> params);
66 void addExciter(Real Ta, Real Ka, Real Te, Real Ke, Real Tf, Real Kf,
69 void addPSS(std::shared_ptr<Base::PSS> pss,
70 std::shared_ptr<Base::PSSParameters> parameters);
72 void addPSS(std::shared_ptr<Base::PSS> pss);
138 const Attribute<Real>::Ptr
mRs;
140 const Attribute<Real>::Ptr
mLl;
142 const Attribute<Real>::Ptr
mLd;
144 const Attribute<Real>::Ptr
mLq;
166 Complex mInitElecPower = 0;
167 Complex mInitTermVoltage = 0;
168 Real mInitMechPower = 0;
307 Real mInitTerminalVoltage = 0;
308 Real mInitVoltAngle = 0;
312 :
mRs(attributeList->create<Real>(
"Rs", 0)),
313 mLl(attributeList->create<Real>(
"Ll", 0)),
314 mLd(attributeList->create<Real>(
"Ld", 0)),
315 mLq(attributeList->create<Real>(
"Lq", 0)),
316 mLd_t(attributeList->create<Real>(
"Ld_t", 0)),
317 mLq_t(attributeList->create<Real>(
"Lq_t", 0)),
318 mLd_s(attributeList->create<Real>(
"Ld_s", 0)),
319 mLq_s(attributeList->create<Real>(
"Lq_s", 0)),
320 mTd0_t(attributeList->create<Real>(
"Td0_t", 0)),
321 mTq0_t(attributeList->create<Real>(
"Tq0_t", 0)),
322 mTd0_s(attributeList->create<Real>(
"Td0_s", 0)),
323 mTq0_s(attributeList->create<Real>(
"Tq0_s", 0)),
324 mDelta(attributeList->create<Real>(
"delta_r", 0)),
325 mMechTorque(attributeList->create<Real>(
"T_m", 0)),
326 mInertia(attributeList->create<Real>(
"inertia", 0)),
327 mOmMech(attributeList->create<Real>(
"w_r", 0)),
330 mMechPower(attributeList->create<Real>(
"P_mech", 0)),
331 mElecTorque(attributeList->create<Real>(
"T_e", 0)){};
334 void setBaseParameters(Real nomPower, Real nomVolt, Real nomFreq);
336 void setBaseParameters(Real nomPower, Real nomVolt, Real nomFreq,
340 void calcStateSpaceMatrixDQ();
342 Real calcHfromJ(Real J, Real omegaNominal, Int polePairNumber);
350 Real nomFreq, Real nomFieldCur,
351 Int poleNumber, Real Rs, Real Ll,
352 Real Lmd, Real Lmq, Real Rfd,
353 Real Llfd, Real Rkd, Real Llkd,
354 Real Rkq1, Real Llkq1, Real Rkq2,
355 Real Llkq2, Real inertia);
360 Real nomPower, Real nomVolt, Real nomFreq, Int poleNumber,
361 Real nomFieldCur, Real Rs, Real Ld, Real Lq, Real Ld_t, Real Lq_t,
362 Real Ld_s, Real Lq_s, Real Ll, Real Td0_t, Real Tq0_t, Real Td0_s,
363 Real Tq0_s, Real inertia);
366 void setFundamentalPerUnitParameters(Int poleNumber, Real Rs, Real Ll,
367 Real Lmd, Real Lmq, Real Rfd, Real Llfd,
368 Real Rkd, Real Llkd, Real Rkq1,
369 Real Llkq1, Real Rkq2, Real Llkq2,
373 void applyFundamentalPerUnitParameters();
376 void setAndApplyFundamentalPerUnitParameters(Int poleNumber, Real Rs, Real Ll,
377 Real Lmd, Real Lmq, Real Rfd,
378 Real Llfd, Real Rkd, Real Llkd,
379 Real Rkq1, Real Llkq1, Real Rkq2,
380 Real Llkq2, Real inertia);
383 void setOperationalPerUnitParameters(Int poleNumber, Real inertia, Real Rs,
384 Real Ld, Real Lq, Real Ll, Real Ld_t,
385 Real Lq_t, Real Ld_s, Real Lq_s,
386 Real Td0_t, Real Tq0_t, Real Td0_s,
390 void calculateFundamentalFromOperationalParameters();
393 void setInitialValues(Real initActivePower, Real initReactivePower,
394 Real initTerminalVolt, Real initVoltAngle,
411 std::shared_ptr<Base::PSS>
mPSS;
void setBaseAndFundamentalPerUnitParameters(Real nomPower, Real nomVolt, Real nomFreq, Real nomFieldCur, Int poleNumber, Real Rs, Real Ll, Real Lmd, Real Lmq, Real Rfd, Real Llfd, Real Rkd, Real Llkd, Real Rkq1, Real Llkq1, Real Rkq2, Real Llkq2, Real inertia)
Initializes the base and fundamental machine parameters in per unit.