summaryrefslogtreecommitdiffstats
path: root/Project/Workspace.cpp
diff options
context:
space:
mode:
authorThales Lima Oliveira <thaleslima.ufu@gmail.com>2017-05-22 20:17:41 -0300
committerThales Lima Oliveira <thaleslima.ufu@gmail.com>2017-05-22 20:17:41 -0300
commitf995850b38916b38718b84f4b82948479a81855a (patch)
treedb1f4f79f2d47383451869ce214dc416b0174dac /Project/Workspace.cpp
parent30181ca0ae73f5f7f1856ac289db8fcf849c9a84 (diff)
downloadPSP.git-f995850b38916b38718b84f4b82948479a81855a.tar.gz
PSP.git-f995850b38916b38718b84f4b82948479a81855a.tar.xz
PSP.git-f995850b38916b38718b84f4b82948479a81855a.zip
Events implemented
Effects on adimittance matrix and elements: ->Fault on bus; ->Generation/Load switching; ->Branch switching.
Diffstat (limited to 'Project/Workspace.cpp')
-rw-r--r--Project/Workspace.cpp31
1 files changed, 19 insertions, 12 deletions
diff --git a/Project/Workspace.cpp b/Project/Workspace.cpp
index 4b2cf29..a45518f 100644
--- a/Project/Workspace.cpp
+++ b/Project/Workspace.cpp
@@ -256,8 +256,9 @@ void Workspace::OnLeftDoubleClick(wxMouseEvent& event)
// propagated through the lines
if(elementIsBus) {
// The voltage was changed
- if(oldBus.GetEletricalData().nominalVoltage != currentBus->GetEletricalData().nominalVoltage ||
- oldBus.GetEletricalData().nominalVoltageUnit != currentBus->GetEletricalData().nominalVoltageUnit) {
+ if(oldBus.GetElectricalData().nominalVoltage != currentBus->GetElectricalData().nominalVoltage ||
+ oldBus.GetElectricalData().nominalVoltageUnit !=
+ currentBus->GetElectricalData().nominalVoltageUnit) {
// Check if the bus has line as child.
std::vector<Element*> childList = element->GetChildList();
for(auto itc = childList.begin(), itcEnd = childList.end(); itc != itcEnd; ++itc) {
@@ -268,9 +269,9 @@ void Workspace::OnLeftDoubleClick(wxMouseEvent& event)
if(msgDialog.ShowModal() == wxID_YES)
ValidateBusesVoltages(element);
else {
- auto data = currentBus->GetEletricalData();
- data.nominalVoltage = oldBus.GetEletricalData().nominalVoltage;
- data.nominalVoltageUnit = oldBus.GetEletricalData().nominalVoltageUnit;
+ auto data = currentBus->GetElectricalData();
+ data.nominalVoltage = oldBus.GetElectricalData().nominalVoltage;
+ data.nominalVoltageUnit = oldBus.GetElectricalData().nominalVoltageUnit;
currentBus->SetElectricalData(data);
}
break;
@@ -1039,16 +1040,16 @@ void Workspace::Fit()
void Workspace::ValidateBusesVoltages(Element* initialBus)
{
- double nominalVoltage = static_cast<Bus*>(initialBus)->GetEletricalData().nominalVoltage;
- ElectricalUnit nominalVoltageUnit = static_cast<Bus*>(initialBus)->GetEletricalData().nominalVoltageUnit;
+ double nominalVoltage = static_cast<Bus*>(initialBus)->GetElectricalData().nominalVoltage;
+ ElectricalUnit nominalVoltageUnit = static_cast<Bus*>(initialBus)->GetElectricalData().nominalVoltageUnit;
for(auto it = m_elementList.begin(); it != m_elementList.end(); it++) {
Element* child = *it;
if(typeid(*child) == typeid(Line)) {
if(child->GetParentList()[0] && child->GetParentList()[1]) {
- BusElectricalData data1 = static_cast<Bus*>(child->GetParentList()[0])->GetEletricalData();
- BusElectricalData data2 = static_cast<Bus*>(child->GetParentList()[1])->GetEletricalData();
+ BusElectricalData data1 = static_cast<Bus*>(child->GetParentList()[0])->GetElectricalData();
+ BusElectricalData data2 = static_cast<Bus*>(child->GetParentList()[1])->GetElectricalData();
if(data1.nominalVoltage != data2.nominalVoltage ||
data1.nominalVoltageUnit != data2.nominalVoltageUnit) {
@@ -1079,8 +1080,8 @@ void Workspace::ValidateElementsVoltages()
for(int i = 0; i < (int)child->GetParentList().size(); i++) {
Bus* parent = static_cast<Bus*>(child->GetParentList()[i]);
if(parent) {
- nominalVoltage.push_back(parent->GetEletricalData().nominalVoltage);
- nominalVoltageUnit.push_back(parent->GetEletricalData().nominalVoltageUnit);
+ nominalVoltage.push_back(parent->GetElectricalData().nominalVoltage);
+ nominalVoltageUnit.push_back(parent->GetElectricalData().nominalVoltageUnit);
}
}
child->SetNominalVoltage(nominalVoltage, nominalVoltageUnit);
@@ -1120,7 +1121,7 @@ void Workspace::CopySelection()
Element* element = *it;
if(typeid(*element) == typeid(Bus)) {
Bus* bus = static_cast<Bus*>(element);
- auto data = bus->GetEletricalData();
+ auto data = bus->GetElectricalData();
data.number = busNumber;
bus->SetElectricalData(data);
busNumber++;
@@ -1393,6 +1394,9 @@ bool Workspace::RunSCPower()
bool Workspace::RunStability()
{
+ // Run power flow before stability.
+ RunPowerFlow();
+
Electromechanical stability(GetElementList());
bool result = stability.RunStabilityCalculation();
if(!result) {
@@ -1400,5 +1404,8 @@ bool Workspace::RunStability()
msgDialog.ShowModal();
}
+ // Run power flow after stability.
+ RunPowerFlow();
+
return result;
}