summaryrefslogtreecommitdiffstats
path: root/Project/Electromechanical.h
diff options
context:
space:
mode:
authorThales Lima Oliveira <thaleslima.ufu@gmail.com>2017-07-26 21:32:35 -0300
committerThales Lima Oliveira <thaleslima.ufu@gmail.com>2017-07-26 21:32:35 -0300
commit49ac4c4fcedb03ef09f8faab176159f48896dc7e (patch)
treed8a864599a68ff5e0bee39c01704feb9d947dbfa /Project/Electromechanical.h
parent4ca362b083d7b20adfd80f1ec4b46a52789cdeb7 (diff)
downloadPSP.git-49ac4c4fcedb03ef09f8faab176159f48896dc7e.tar.gz
PSP.git-49ac4c4fcedb03ef09f8faab176159f48896dc7e.tar.xz
PSP.git-49ac4c4fcedb03ef09f8faab176159f48896dc7e.zip
5 machine models implemented
Diffstat (limited to 'Project/Electromechanical.h')
-rw-r--r--Project/Electromechanical.h29
1 files changed, 15 insertions, 14 deletions
diff --git a/Project/Electromechanical.h b/Project/Electromechanical.h
index d8889e6..facfa0f 100644
--- a/Project/Electromechanical.h
+++ b/Project/Electromechanical.h
@@ -15,57 +15,58 @@ class Electromechanical : public ElectricCalculation
bool RunStabilityCalculation();
wxString GetErrorMessage() const { return m_errorMsg; }
-
std::vector<double> GetTimeVector() const { return m_timeVector; }
-
std::vector<double> m_wErrorVector;
std::vector<double> m_deltaErrorVector;
std::vector<double> m_transEdErrorVector;
std::vector<double> m_transEqErrorVector;
std::vector<double> m_numItVector;
-
+
protected:
void SetEventTimeList();
bool HasEvent(double currentTime);
void SetEvent(double currentTime);
inline bool EventTrigger(double eventTime, double currentTime);
-
+
double GetPowerValue(double value, ElectricalUnit unit);
void InsertSyncMachinesOnYBus();
std::complex<double> GetSyncMachineAdmittance(SyncGenerator* generator);
bool InitializeDynamicElements();
void CalculateMachinesCurrents();
- void CalculateIntegrationConstants(SyncGenerator* syncGenerator, double id, double iq);
+ void CalculateIntegrationConstants(SyncGenerator* syncGenerator, double id, double iq, double k = 1.0);
bool SolveSynchronousMachines();
-
+ void SetSyncMachinesModel();
+ double CalculateSyncMachineIntVariables(SyncGenerator* syncGenerator, double id, double iq, double pe, double k = 1.0);
+ void CalculateSyncMachineNonIntVariables(SyncGenerator* syncGenerator, double& id, double& iq, double& pe, double k = 1.0);
+
void SaveData();
wxWindow* m_parent = NULL;
wxString m_errorMsg = _("Unknown error");
-
+
double m_systemFreq = 60.0;
-
+
std::vector<std::vector<std::complex<double> > > m_yBus;
std::vector<std::vector<std::complex<double> > > m_yBusU;
std::vector<std::vector<std::complex<double> > > m_yBusL;
-
+
std::vector<std::complex<double> > m_vBus;
std::vector<std::complex<double> > m_iBus;
-
+
double m_powerSystemBase = 100e6;
double m_timeStep = 1e-2;
double m_ctrlTimeStepMultiplier = 0.1;
- double m_tolerance = 1e-6;
+ double m_tolerance = 1e-8;
int m_maxIterations = 100;
std::vector<double> m_eventTimeList;
std::vector<bool> m_eventOccurrenceList;
-
+
std::vector<double> m_timeVector;
-
- //tests
+
+ // tests
double m_wError = 0.0;
double m_deltaError = 0.0;
double m_transEdError = 0.0;