diff options
author | Thales Lima Oliveira <thaleslima.ufu@gmail.com> | 2019-07-10 14:14:30 -0300 |
---|---|---|
committer | Thales Lima Oliveira <thaleslima.ufu@gmail.com> | 2019-07-10 14:14:30 -0300 |
commit | f54297e08079fe1954920ca2742b0bed19f86181 (patch) | |
tree | 2022c968210fa803eb09c6e1faa3f3e6985af895 /Project/IndMotor.h | |
parent | 2b02ef22cc5f2025b09b700f1cb6e1cec94d80f6 (diff) | |
download | PSP.git-f54297e08079fe1954920ca2742b0bed19f86181.tar.gz PSP.git-f54297e08079fe1954920ca2742b0bed19f86181.tar.xz PSP.git-f54297e08079fe1954920ca2742b0bed19f86181.zip |
Induction motor implementation start
Machine initialization implemented. It seems that it's working. Check a OMIB with the motor.
Diffstat (limited to 'Project/IndMotor.h')
-rw-r--r-- | Project/IndMotor.h | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/Project/IndMotor.h b/Project/IndMotor.h index c210279..3f5009a 100644 --- a/Project/IndMotor.h +++ b/Project/IndMotor.h @@ -24,10 +24,67 @@ class IndMotorForm; struct IndMotorElectricalData { wxString name; + double ratedPower = 100.0; + ElectricalUnit ratedPowerUnit = UNIT_MVA; double activePower = 100.0; ElectricalUnit activePowerUnit = UNIT_MW; double reactivePower = 0.0; ElectricalUnit reactivePowerUnit = UNIT_MVAr; + + bool useMachinePowerAsBase = true; + + // Stability + double inertia = 1.0; // Motor and load inertia + double s0; // Initial slip + double q0; // Initial reactive power + double r1 = 0.0; // Stator resistence data + double x1 = 1.0; // Stator reactance data + double r2 = 1.0; // Rotor resistence data + double x2 = 0.0; // Rotor reactance data + double xm = 100.0; // Magnetizing reactance data + + // Transient values + double xt = 1.0; // Transient reactance + double x0 = 1.0; // Open-circuit reactance + double r1t = 0.0; // Stator resistence in system power base + double x1t = 1.0; // Stator reactance in system power base + double r2t = 1.0; // Rotor resistence in system power base + double x2t = 0.0; // Rotor reactance in system power base + double xmt = 100.0; // Magnetizing reactance in system power base + + double t0 = 1.0; // Open-circuit time constant + + double aw = 1.0; // Velocity constant torque + double bw = 0.0; // Velocity linear dependent torque + double cw = 0.0; // Velocity quadratic dependent torque + double as = 0.0; // Slip constant torque + double bs = 0.0; // Slip linear dependent torque + double cs = 0.0; // Slip quadratic dependent torque + + // Internal machine variables + double tranEr; + double tranEm; + double te; + double ir; + double im; + + // Variables to extrapolate + double oldIr; + double oldIm; + double oldTe; + + // Integration constants + IntegrationConstant icSlip; + IntegrationConstant icTranEr; + IntegrationConstant icTranEm; + + // Machine state variables + std::complex<double> terminalVoltage; + std::vector<double> terminalVoltageVector; + double slip = 1.0; // Machine slip + std::vector<double> slipVector; + std::complex<double> electricalPower; + std::vector<std::complex<double> > electricalPowerVector; }; /** |