summaryrefslogtreecommitdiffstats
path: root/Project/Workspace.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Project/Workspace.cpp')
-rw-r--r--Project/Workspace.cpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/Project/Workspace.cpp b/Project/Workspace.cpp
index b057bdc..82989b5 100644
--- a/Project/Workspace.cpp
+++ b/Project/Workspace.cpp
@@ -1135,6 +1135,7 @@ bool Workspace::RunPowerFlow()
basePower *= 1e3;
PowerFlow pf(GetElementList());
bool result = false;
+ wxStopWatch sw;
switch(simProp.powerFlowMethod) {
case GAUSS_SEIDEL: {
result = pf.RunGaussSeidel(basePower, simProp.powerFlowMaxIterations, simProp.powerFlowTolerance,
@@ -1142,16 +1143,21 @@ bool Workspace::RunPowerFlow()
} break;
case NEWTON_RAPHSON: {
result = pf.RunNewtonRaphson(basePower, simProp.powerFlowMaxIterations, simProp.powerFlowTolerance,
- simProp.initAngle);
+ simProp.initAngle, simProp.newtonInertia);
} break;
case GAUSS_NEWTON: {
- result = pf.RunGaussNewton(basePower, simProp.powerFlowMaxIterations, simProp.powerFlowTolerance,
- simProp.initAngle, simProp.accFator, simProp.gaussTolerance);
+ result =
+ pf.RunGaussNewton(basePower, simProp.powerFlowMaxIterations, simProp.powerFlowTolerance,
+ simProp.initAngle, simProp.accFator, simProp.gaussTolerance, simProp.newtonInertia);
} break;
}
+ sw.Pause();
if(!result) {
wxMessageDialog msgDialog(this, pf.GetErrorMessage(), _("Error"), wxOK | wxCENTRE | wxICON_ERROR);
msgDialog.ShowModal();
+ } else {
+ m_statusBar->SetStatusText(
+ wxString::Format(_("Power flow converge with %d iterations (%ld ms)"), pf.GetIterations(), sw.Time()));
}
UpdateTextElements();