diff options
author | Thales1330 <thaleslima.ufu@gmail.com> | 2016-12-06 13:26:46 -0200 |
---|---|---|
committer | Thales1330 <thaleslima.ufu@gmail.com> | 2016-12-06 13:26:46 -0200 |
commit | e282ec268db0d17a1d53f813c5fff9473d25e797 (patch) | |
tree | 517e01b8685248f04548513091e7040a1b36ec0b /Project/SyncMotor.h | |
parent | d4efffcdedbb41596eecd0882a1cef76f6afc435 (diff) | |
parent | e266f5811403beea13c9cc5399c55db4a34fdd3c (diff) | |
download | PSP.git-e282ec268db0d17a1d53f813c5fff9473d25e797.tar.gz PSP.git-e282ec268db0d17a1d53f813c5fff9473d25e797.tar.xz PSP.git-e282ec268db0d17a1d53f813c5fff9473d25e797.zip |
Merge remote-tracking branch 'refs/remotes/origin/wip/currentState'
Diffstat (limited to 'Project/SyncMotor.h')
-rw-r--r-- | Project/SyncMotor.h | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/Project/SyncMotor.h b/Project/SyncMotor.h new file mode 100644 index 0000000..1f65386 --- /dev/null +++ b/Project/SyncMotor.h @@ -0,0 +1,77 @@ +#ifndef SYNCMOTOR_H +#define SYNCMOTOR_H + +#include "Machines.h" + +class SyncMachineForm; + +struct SyncMotorElectricalData { + // General + wxString name = ""; + double nominalPower = 100.0; + ElectricalUnit nominalPowerUnit = UNIT_MVA; + double activePower = 100.0; + ElectricalUnit activePowerUnit = UNIT_MW; + double reactivePower = 0.0; + ElectricalUnit reactivePowerUnit = UNIT_MVAr; + bool haveMaxReactive = false; + double maxReactive = 9999.0; + ElectricalUnit maxReactiveUnit = UNIT_MVAr; + bool haveMinReactive = false; + double minReactive = -9999.0; + ElectricalUnit minReactiveUnit = UNIT_MVAr; + bool useMachineBase = false; + + // Fault + double positiveResistance = 0.0; + double positiveReactance = 1.0; + double negativeResistance = 0.0; + double negativeReactance = 1.0; + double zeroResistance = 0.0; + double zeroReactance = 1.0; + double groundResistance = 0.0; + double groundReactance = 0.0; + bool groundNeutral = true; + + // Stability + bool plotSyncMachine = false; + double inertia = 0.0; + double damping = 0.0; + bool useAVR = false; + bool useSpeedGovernor = false; + + double armResistance = 0.0; + double potierReactance = 0.0; + double satFactor = 0.0; + + double syncXd = 0.0; + double syncXq = 0.0; + double transXd = 1.0; + double transXq = 0.0; + double transTd0 = 0.0; + double transTq0 = 0.0; + double subXd = 0.0; + double subXq = 0.0; + double subTd0 = 0.0; + double subTq0 = 0.0; +}; + +class SyncMotor : public Machines +{ + public: + SyncMotor(); + SyncMotor(wxString name); + ~SyncMotor(); + + virtual void DrawSymbol() const; + virtual bool GetContextMenu(wxMenu& menu); + virtual SyncMotorElectricalData GetElectricalData() { return m_electricalData; } + virtual SyncMotorElectricalData GetPUElectricalData(double systemPowerBase); + virtual void SetElectricalData(SyncMotorElectricalData electricalData) { m_electricalData = electricalData; } + virtual bool ShowForm(wxWindow* parent, Element* element); + + protected: + SyncMotorElectricalData m_electricalData; +}; + +#endif // SYNCMOTOR_H |