summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Project/Electromechanical.cpp16
-rw-r--r--Project/Electromechanical.h2
-rw-r--r--Project/Project.mk2
3 files changed, 10 insertions, 10 deletions
diff --git a/Project/Electromechanical.cpp b/Project/Electromechanical.cpp
index 84e49d5..4b40c53 100644
--- a/Project/Electromechanical.cpp
+++ b/Project/Electromechanical.cpp
@@ -433,8 +433,8 @@ bool Electromechanical::InitializeDynamicElements()
data.terminalVoltage = static_cast<Bus*>(syncGenerator->GetParentList()[0])->GetElectricalData().voltage;
std::complex<double> conjS(dataPU.activePower, -dataPU.reactivePower);
- std::complex<double> conjV = std::conj(data.terminalVoltage);
- std::complex<double> ia = conjS / conjV;
+ std::complex<double> vt = data.terminalVoltage;
+ std::complex<double> ia = conjS / std::conj(vt);
double xd = data.syncXd * k;
double xq = data.syncXq * k;
@@ -458,12 +458,12 @@ bool Electromechanical::InitializeDynamicElements()
}
// Initialize state variables
- std::complex<double> eq0 = data.terminalVoltage + std::complex<double>(ra, xq) * ia;
+ std::complex<double> eq0 = vt + std::complex<double>(ra, xq) * ia;
double delta = std::arg(eq0);
double id0, iq0, vd0, vq0;
ABCtoDQ0(ia, delta, id0, iq0);
- ABCtoDQ0(data.terminalVoltage, delta, vd0, vq0);
+ ABCtoDQ0(vt, delta, vd0, vq0);
// Initialize saturation
double xqs = xq;
@@ -474,8 +474,8 @@ bool Electromechanical::InitializeDynamicElements()
int numIt = 0;
while(!exit) {
oldDelta = delta;
- // ABCtoDQ0(ia, delta, id0, iq0);
- // ABCtoDQ0(data.terminalVoltage, delta, vd0, vq0);
+ ABCtoDQ0(ia, delta, id0, iq0);
+ ABCtoDQ0(vt, delta, vd0, vq0);
// Direct-axis Potier voltage.
double epd = vd0 + ra * id0 + xp * iq0;
@@ -502,7 +502,7 @@ bool Electromechanical::InitializeDynamicElements()
eq0 = data.terminalVoltage + std::complex<double>(ra, xqs) * ia;
delta = std::arg(eq0);*/
}
-
+
double ef0 = vq0 + ra * iq0 - xds * id0;
data.initialFieldVoltage = ef0 * sd;
@@ -1065,7 +1065,7 @@ double Electromechanical::CalculateSyncMachineIntVariables(SyncGenerator* syncGe
error = std::max(error, std::abs(data.subEq - subEq));
double subEd =
- (data.icSubEd.c - data.icSubEd.m * ((syncXq - subXq) * iq)) / (1.0 + data.icSubEd.m * (data.sq - 1.0));
+ (data.icSubEd.c - data.icSubEd.m * ((syncXq - subXq) * iq)) / (1.0 + data.icSubEd.m * (sq - 1.0));
error = std::max(error, std::abs(data.subEd - subEd));
data.tranEq = tranEq;
diff --git a/Project/Electromechanical.h b/Project/Electromechanical.h
index 3dd239a..cbbb600 100644
--- a/Project/Electromechanical.h
+++ b/Project/Electromechanical.h
@@ -110,7 +110,7 @@ class Electromechanical : public ElectricCalculation
double m_ctrlTimeStepMultiplier = 0.1;
double m_tolerance = 1e-8;
int m_maxIterations = 100;
- double m_saturationTolerance = 1e-4;
+ double m_saturationTolerance = 1e-8;
std::vector<double> m_eventTimeList;
std::vector<bool> m_eventOccurrenceList;
diff --git a/Project/Project.mk b/Project/Project.mk
index 838fd14..71c206d 100644
--- a/Project/Project.mk
+++ b/Project/Project.mk
@@ -13,7 +13,7 @@ CurrentFileName :=
CurrentFilePath :=
CurrentFileFullPath :=
User :=NDSE-69
-Date :=28/09/2017
+Date :=04/10/2017
CodeLitePath :="C:/Program Files/CodeLite"
LinkerName :=C:/TDM-GCC-64/bin/g++.exe
SharedObjectLinkerName :=C:/TDM-GCC-64/bin/g++.exe -shared -fPIC