From 73eacaf08f695bb3261f072d82ba9fe88366f1c1 Mon Sep 17 00:00:00 2001 From: Thales Lima Oliveira Date: Mon, 29 May 2017 20:51:26 -0300 Subject: Unit data and control import bugs fixed --- Project/Electromechanical.cpp | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) (limited to 'Project/Electromechanical.cpp') diff --git a/Project/Electromechanical.cpp b/Project/Electromechanical.cpp index a81912f..cdfac9c 100644 --- a/Project/Electromechanical.cpp +++ b/Project/Electromechanical.cpp @@ -151,7 +151,6 @@ void Electromechanical::SetEvent(double currentTime) // Remove machine (only connected machines) if(swData.swType[i] == SW_REMOVE && generator->IsOnline()) { generator->SetOnline(false); - auto data = generator->GetPUElectricalData(m_powerSystemBase); int n = static_cast(generator->GetParentList()[0])->GetElectricalData().number; m_yBus[n][n] -= GetSyncMachineAdmittance(generator); } @@ -159,7 +158,6 @@ void Electromechanical::SetEvent(double currentTime) // Insert machine (only disconnected machines) if(swData.swType[i] == SW_INSERT && !generator->IsOnline() && generator->GetParentList().size() == 1) { if(generator->SetOnline(true)) { - auto data = generator->GetPUElectricalData(m_powerSystemBase); int n = static_cast(generator->GetParentList()[0])->GetElectricalData().number; m_yBus[n][n] += GetSyncMachineAdmittance(generator); } @@ -385,7 +383,7 @@ bool Electromechanical::EventTrigger(double eventTime, double currentTime) std::complex Electromechanical::GetSyncMachineAdmittance(SyncGenerator* generator) { - auto data = generator->GetPUElectricalData(m_powerSystemBase); + auto data = generator->GetElectricalData(); double k = 1.0; // Power base change factor. if(data.useMachineBase) { double oldBase = GetPowerValue(data.nominalPower, data.nominalPowerUnit); @@ -425,7 +423,8 @@ bool Electromechanical::InitializeDynamicElements() // Synchronous generators for(auto it = m_syncGeneratorList.begin(), itEnd = m_syncGeneratorList.end(); it != itEnd; ++it) { SyncGenerator* syncGenerator = *it; - auto data = syncGenerator->GetPUElectricalData(m_powerSystemBase); + auto dataPU = syncGenerator->GetPUElectricalData(m_powerSystemBase); + auto data = syncGenerator->GetElectricalData(); if(syncGenerator->IsOnline()) { double k = 1.0; // Power base change factor. if(data.useMachineBase) { @@ -434,7 +433,7 @@ bool Electromechanical::InitializeDynamicElements() } data.terminalVoltage = static_cast(syncGenerator->GetParentList()[0])->GetElectricalData().voltage; - std::complex conjS(data.activePower, -data.reactivePower); + std::complex conjS(dataPU.activePower, -dataPU.reactivePower); std::complex conjV = std::conj(data.terminalVoltage); std::complex ia = conjS / conjV; @@ -458,7 +457,7 @@ bool Electromechanical::InitializeDynamicElements() data.speed = 2.0 * M_PI * m_systemFreq; data.pe = data.pm; - data.electricalPower = std::complex(data.activePower, data.reactivePower); + data.electricalPower = std::complex(dataPU.activePower, dataPU.reactivePower); switch(GetMachineModel(syncGenerator)) { case SM_MODEL_1: { @@ -554,7 +553,7 @@ void Electromechanical::CalculateMachinesCurrents() for(auto it = m_syncGeneratorList.begin(), itEnd = m_syncGeneratorList.end(); it != itEnd; ++it) { SyncGenerator* syncGenerator = *it; - auto data = syncGenerator->GetPUElectricalData(m_powerSystemBase); + auto data = syncGenerator->GetElectricalData(); if(syncGenerator->IsOnline()) { double k = 1.0; // Power base change factor. if(data.useMachineBase) { @@ -615,7 +614,7 @@ void Electromechanical::CalculateMachinesCurrents() void Electromechanical::CalculateIntegrationConstants(SyncGenerator* syncGenerator, double id, double iq) { - auto data = syncGenerator->GetPUElectricalData(m_powerSystemBase); + auto data = syncGenerator->GetElectricalData(); double k = 1.0; // Power base change factor. if(data.useMachineBase) { -- cgit