48 const Attribute<Complex>::Ptr
mEp;
58 const Attribute<Real>::Ptr mRefOmega;
60 const Attribute<Real>::Ptr mRefDelta;
62 SynchronGeneratorTrStab(String
uid, String name,
63 Logger::Level logLevel = Logger::Level::off);
65 SynchronGeneratorTrStab(String name,
66 Logger::Level logLevel = Logger::Level::off)
67 : SynchronGeneratorTrStab(name, name, logLevel) {}
69 SimPowerComp<Real>::Ptr
clone(String name)
override;
72 Matrix parkTransformPowerInvariant(Real theta,
const Matrix &fabc);
74 Matrix getParkTransformMatrixPowerInvariant(Real theta);
78 void setInitialValues(Complex elecPower, Real mechPower);
81 Real Ll, Real Lmd, Real Llfd, Real inertia,
85 Int polePairNumber, Real Rs, Real Lpd,
86 Real inertiaJ, Real Kd = 0);
89 Real Xpd, Real inertia, Real Rs = 0, Real D = 0);
98 Attribute<Matrix>::Ptr leftVector)
override;
104 Attribute<Matrix>::Ptr &leftVector)
override;
106 void mnaCompUpdateCurrent(
const Matrix &leftVector)
override;
108 void mnaCompUpdateVoltage(
const Matrix &leftVector)
override;
110 void mnaParentAddPreStepDependencies(
111 AttributeBase::List &prevStepDependencies,
112 AttributeBase::List &attributeDependencies,
113 AttributeBase::List &modifiedAttributes)
override;
115 mnaParentAddPostStepDependencies(AttributeBase::List &prevStepDependencies,
116 AttributeBase::List &attributeDependencies,
117 AttributeBase::List &modifiedAttributes,
118 Attribute<Matrix>::Ptr &leftVector)
override;
120 class AddBStep :
public Task {
122 AddBStep(SynchronGeneratorTrStab &generator)
123 : Task(**generator.
mName +
".AddBStep"), mGenerator(generator) {
124 mAttributeDependencies.push_back(
126 mAttributeDependencies.push_back(generator.
mSubInductor->mRightVector);
130 void execute(Real time, Int timeStepCount);
133 SynchronGeneratorTrStab &mGenerator;
void setStandardParametersSI(Real nomPower, Real nomVolt, Real nomFreq, Int polePairNumber, Real Rs, Real Lpd, Real inertiaJ, Real Kd=0)
Initializes the machine parameters.