9#include <dpsim-models/DP/DP_Ph3_SynchronGeneratorDQTrapez.h>
13DP::Ph3::SynchronGeneratorDQTrapez::SynchronGeneratorDQTrapez(
14 String uid, String name, Logger::Level logLevel)
15 : SynchronGeneratorDQ(uid, name, logLevel) {}
17DP::Ph3::SynchronGeneratorDQTrapez::SynchronGeneratorDQTrapez(
18 String name, Logger::Level logLevel)
19 : SynchronGeneratorDQ(name, name, logLevel) {}
22 Real omega, Real timeStep, Attribute<Matrix>::Ptr leftVector) {
26 SPDLOG_LOGGER_INFO(
mSLog,
27 "\nFluxStateSpaceMat: \n{}"
28 "\nOmegaFluxMat: \n{}"
29 "\nResistances: {} {} {}",
36 AttributeBase::List &prevStepDependencies,
37 AttributeBase::List &attributeDependencies,
38 AttributeBase::List &modifiedAttributes) {
43void DP::Ph3::SynchronGeneratorDQTrapez::mnaCompPreStep(Real time,
46 mnaCompApplyRightSideVectorStamp(**mRightVector);
49void DP::Ph3::SynchronGeneratorDQTrapez::setMultisamplingRate(Int rate) {
50 mMultisamplingRate = rate;
56 for (Int i = 0; i < mMultisamplingRate; i++) {
88 if (mNumericalMethod == NumericalMethod::Euler) {
89 mPsisr = Math::StateSpaceEuler(
94 mPsisr = Math::StateSpaceTrapezoidal(
Matrix mIsr
Vector of stator and rotor currents.
Real mTimeStep
Simulation time step.
Real mBase_I
base stator current peak
Bool mHasExciter
Determines if Exciter is activated.
const Attribute< Real >::Ptr mMechTorque
mechanical torque
Matrix mFluxToCurrentMat
Calculates currents from fluxes.
Matrix mFluxStateSpaceMat
Flux state space matrix excluding omega term.
Matrix mVsr
Vector of stator and rotor voltages.
Matrix mPsisr
Vector of stator and rotor fluxes.
Matrix mOmegaFluxMat
Omega-flux matrix for state space system.
Matrix mIdq0
dq0 current calculated from terminal current
Real mBase_OmElec
base electrical angular frequency
Matrix mVdq0
dq0 voltage calculated from terminal voltage
Real mBase_OmMech
base mechanical angular frequency
Real mBase_V
base stator voltage (phase-to-ground peak)
const Attribute< Real >::Ptr mOmMech
rotor speed omega_r
Bool mHasTurbineGovernor
Determines if Turbine and Governor are activated.
const Attribute< Real >::Ptr mInertia
inertia constant H [s] for per unit or moment of inertia J [kg*m^2]
const Attribute< Real >::Ptr mElecTorque
electrical torque
Matrix abcToDq0Transform(Real theta, MatrixComp &abc)
Park transform as described in Krause.
MatrixComp dq0ToAbcTransform(Real theta, Matrix &dq0)
Inverse Park transform as described in Krause.
void mnaCompAddPreStepDependencies(AttributeBase::List &prevStepDependencies, AttributeBase::List &attributeDependencies, AttributeBase::List &modifiedAttributes) override
Add MNA pre step dependencies.
void stepInPerUnit(Real time)
void mnaCompInitialize(Real omega, Real timeStep, Attribute< Matrix >::Ptr leftVector) override
Initializes variables of component.
Attribute< Matrix >::Ptr mRightVector
const Attribute< MatrixVar< Complex > >::Ptr mIntfCurrent
const Attribute< MatrixVar< Complex > >::Ptr mIntfVoltage
void updateMatrixNodeIndices()
Logger::Log mSLog
Component logger.