summaryrefslogtreecommitdiffstats
path: root/Project/Workspace.cpp
diff options
context:
space:
mode:
authorThales1330 <thaleslima.ufu@gmail.com>2016-10-01 17:33:43 -0300
committerThales1330 <thaleslima.ufu@gmail.com>2016-10-01 17:33:43 -0300
commit0ad4701a05a1fb267ee58c3da89d897eba1d91ee (patch)
tree3f741c478ca8860db22c3c1c2e00093c9d9c7dc9 /Project/Workspace.cpp
parentf6718ac24553ac99bf90f99a33543d6d6b96999b (diff)
downloadPSP.git-0ad4701a05a1fb267ee58c3da89d897eba1d91ee.tar.gz
PSP.git-0ad4701a05a1fb267ee58c3da89d897eba1d91ee.tar.xz
PSP.git-0ad4701a05a1fb267ee58c3da89d897eba1d91ee.zip
Nominal voltage bug fixed
Diffstat (limited to 'Project/Workspace.cpp')
-rw-r--r--Project/Workspace.cpp41
1 files changed, 27 insertions, 14 deletions
diff --git a/Project/Workspace.cpp b/Project/Workspace.cpp
index 698ae81..bfcfb89 100644
--- a/Project/Workspace.cpp
+++ b/Project/Workspace.cpp
@@ -949,27 +949,40 @@ void Workspace::ValidateBusesVoltages(Element* initialBus)
Element* child = *it;
if(typeid(*child) == typeid(Line)) {
- BusElectricalData data1 = ((Bus*)child->GetParentList()[0])->GetEletricalData();
- BusElectricalData data2 = ((Bus*)child->GetParentList()[1])->GetEletricalData();
+ if(child->GetParentList()[0] && child->GetParentList()[1]) {
+ BusElectricalData data1 = ((Bus*)child->GetParentList()[0])->GetEletricalData();
+ BusElectricalData data2 = ((Bus*)child->GetParentList()[1])->GetEletricalData();
- if(data1.nominalVoltage != data2.nominalVoltage ||
- data1.nominalVoltageUnit != data2.nominalVoltageUnit)
- {
- data1.nominalVoltage = nominalVoltage;
- data2.nominalVoltage = nominalVoltage;
- data1.nominalVoltageUnit = nominalVoltageUnit;
- data2.nominalVoltageUnit = nominalVoltageUnit;
+ if(data1.nominalVoltage != data2.nominalVoltage ||
+ data1.nominalVoltageUnit != data2.nominalVoltageUnit)
+ {
+ data1.nominalVoltage = nominalVoltage;
+ data2.nominalVoltage = nominalVoltage;
+ data1.nominalVoltageUnit = nominalVoltageUnit;
+ data2.nominalVoltageUnit = nominalVoltageUnit;
+
+ ((Bus*)child->GetParentList()[0])->SetElectricalData(data1);
+ ((Bus*)child->GetParentList()[1])->SetElectricalData(data2);
- ((Bus*)child->GetParentList()[0])->SetElectricalData(data1);
- ((Bus*)child->GetParentList()[1])->SetElectricalData(data2);
-
- it = m_elementList.begin();// Restart search.
+ it = m_elementList.begin(); // Restart search.
+ }
}
}
}
+
+ ValidateElementsVoltages();
}
void Workspace::ValidateElementsVoltages()
{
- //continua...
+ for(auto it = m_elementList.begin(); it != m_elementList.end(); it++) {
+ Element* child = *it;
+ for(int i = 0; i < (int)child->GetParentList().size(); i++) {
+ Bus* parent = (Bus*)child->GetParentList()[i];
+ if(parent) {
+ child->SetNominalVoltage(parent->GetEletricalData().nominalVoltage,
+ parent->GetEletricalData().nominalVoltageUnit);
+ }
+ }
+ }
}