28 using Ptr = std::shared_ptr<SSN_InductionMotor>;
32 return std::make_shared<SSN_InductionMotor>(
uid,
name, logLevel);
36 return std::make_shared<SSN_InductionMotor>(
name,
name, logLevel);
106 Matrix &stateDerivative)
const;
140 Real statorResistance,
Real rotorResistance,
141 Real statorInductance,
Real rotorInductance,
142 Real mutualInductance,
Real rotorInertia,
143 Real mechanicalDamping,
Real mechanicalTorque,
144 Real initialElectricalAngle = 0.0,
145 Bool autoInitializeMechanicalTorque =
true);
AttributePointer< Attribute< T > > Ptr
Real mJacobianRelativeStep
Attribute< Real >::Ptr mSlip
void rebuildMachineMatrices()
Bool mAutoInitializeMechanicalTorque
void evaluateOutput(const Matrix &x, const Matrix &u, Matrix &output) const
static constexpr Int mElectricalStateSize
std::vector< String > getStateNames() const
Real mJacobianAbsoluteStep
static constexpr Int mStateSize
Attribute< Real >::Ptr mMechanicalSpeedPu
Matrix buildSpeedMatrix(Real electricalSpeed) const
Attribute< Real >::Ptr mStatorVoltageMagnitude
Real mInitialElectricalAngle
std::vector< String > getLocalStateNames() const override
Attribute< Real >::Ptr mMechanicalSpeedLog
Attribute< Real >::Ptr mElectricalPower
Matrix mInverseInductanceMatrix
void initializeFromNodesAndTerminals(Real frequency) override
Initializes Component variables according to power flow data stored in Nodes.
Bool updateComponentParameters() override
Attribute< Real >::Ptr mReactivePower
Attribute< Real >::Ptr mStatorCurrentD
void evaluateStateDerivative(const Matrix &x, const Matrix &u, Matrix &stateDerivative) const
Attribute< Real >::Ptr mElectricalAngleLog
Attribute< Real >::Ptr mMechanicalLoadTorque
void setParameters(Real nominalFrequency, Int polePairs, Real statorResistance, Real rotorResistance, Real statorInductance, Real rotorInductance, Real mutualInductance, Real rotorInertia, Real mechanicalDamping, Real mechanicalTorque, Real initialElectricalAngle=0.0, Bool autoInitializeMechanicalTorque=true)
Configure the sixth-order machine.
Real mNominalMechanicalSpeed
Attribute< Real >::Ptr mStatorCurrentMagnitude
Matrix getInterfaceVoltage() const
SSN_InductionMotor(String uid, String name, Logger::Level logLevel=Logger::Level::off)
void updateLogAttributes(const Matrix &u) const override
Update derived attributes used for logging/inspection.
static Ptr make(String uid, String name, Logger::Level logLevel=Logger::Level::off)
SSN_InductionMotor(String name, Logger::Level logLevel=Logger::Level::off)
void setMechanicalTorque(Real mechanicalTorque)
Matrix getInterfaceCurrent() const
std::shared_ptr< SSN_InductionMotor > Ptr
static constexpr Int mOutputSize
Attribute< Real >::Ptr mStatorVoltageQ
Matrix getStateDerivative() const
void buildStateSpaceModel(const Matrix &x, const Matrix &u, Matrix &A, Matrix &B, Matrix &C, Matrix &D, Matrix &E, Matrix &F) const
Attribute< Real >::Ptr mElectricalTorque
Matrix getInverseParkTransformMatrix(Real electricalAngle) const
Matrix getParkTransformMatrix(Real electricalAngle) const
static Ptr make(String name, Logger::Level logLevel=Logger::Level::off)
Attribute< Real >::Ptr mStatorVoltageD
void setNumericalLinearizationParameters(Real relativeStep, Real absoluteStep)
static constexpr Int mInputSize
void calculateNumericalJacobians(const Matrix &x, const Matrix &u, Matrix &A, Matrix &B, Matrix &C, Matrix &D) const
Attribute< Real >::Ptr mStatorCurrentQ
TwoTerminalVTypeVariableSSNComp(String uid, String name, Logger::Level logLevel=Logger::Level::off)
String uid()
Returns unique id.
spdlog::level::level_enum Level
Eigen::Matrix< Real, Eigen::Dynamic, Eigen::Dynamic, Eigen::ColMajor > Matrix
Dense matrix for real numbers.