21 enum StateIndex :
Int {
47 using Complex3 = std::array<Complex, 3>;
50 const Bool mEnableNegSeqControl;
52 static constexpr std::array<Int, 3> mVcReCol = {VcARe, VcBRe, VcCRe};
53 static constexpr std::array<Int, 3> mVcImCol = {VcAIm, VcBIm, VcCIm};
54 static constexpr std::array<Int, 3> mIfReCol = {IfARe, IfBRe, IfCRe};
55 static constexpr std::array<Int, 3> mIfImCol = {IfAIm, IfBIm, IfCIm};
56 static constexpr std::array<Int, 3> mUReCol = {0, 2, 4};
57 static constexpr std::array<Int, 3> mUImCol = {1, 3, 5};
60 static constexpr std::array<Int, 7> mOwnCol = {
61 Psi, PFiltered, QFiltered, PhiD, PhiQ, GammaD, GammaQ};
72 Real mOmegaCutoff = 0.0;
75 Real mKpPowerCtrl = 0.0;
76 Real mKiPowerCtrl = 0.0;
77 Real mKpCurrCtrl = 0.0;
78 Real mKiCurrCtrl = 0.0;
104 struct RefSensitivities {
106 std::array<Complex, 7> posOwn{};
126 NegSeqTerms computeNegSeqTerms(
const Matrix &x,
const Complex3 &vc,
127 const Complex3 &uEnv,
128 const Complex3 &redistFactor,
129 const Complex3 &projCoeff,
133 void buildInductorRows(
const Complex3 &redistFactor,
134 const Complex3 &projCoeff,
135 const RefSensitivities &sens,
Matrix &
A,
148 Bool enableNegSeqControl =
false);
151 Bool enableNegSeqControl =
false)
153 enableNegSeqControl) {}