public void Solve() { try { var Preconditioner = GeneratePreconditioner(PreconditionerType, Matrix); if (Initial == null) { Initial = new Vector_.Vector(Right.Size); } Result = Solver.Solve(Preconditioner, Right, Initial, src.Logging.Logger.Instance, src.Logging.Logger.Instance, GenerateParameters(Solver.Type, MaxIter, MinResidual, Relaxation, MGMRES)); } catch (ThreadAbortException e) { Logging.Logger.Instance.Info("Solving: Процесс решения прерван"); } catch (Exception e) { Logging.Logger.Instance.Error("Solving error: " + e.Message); } iGui.FinishSolve(); }