From c7ef9a883031c68506357f9ef1b1a0b79c79f4da Mon Sep 17 00:00:00 2001 From: Thales Lima Oliveira Date: Thu, 25 Jul 2019 01:11:17 -0300 Subject: Motor integration with PF Newton bug fixed Newton inertia implemented Gauss-Newton implemented --- Project/Workspace.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'Project/Workspace.cpp') 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(); -- cgit