summaryrefslogtreecommitdiffstats
path: root/Project/Electromechanical.h
diff options
context:
space:
mode:
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;