Skip to content
This repository was archived by the owner on May 18, 2019. It is now read-only.

Commit 6079a86

Browse files
qichenghuaOpenModelica-Hudson
authored andcommitted
Trying less methods in nonlinear solver
1 parent 2a98b08 commit 6079a86

File tree

1 file changed

+22
-19
lines changed
  • SimulationRuntime/cpp/Solver/Nox

1 file changed

+22
-19
lines changed

SimulationRuntime/cpp/Solver/Nox/Nox.cpp

Lines changed: 22 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -454,43 +454,43 @@ void Nox::solve()
454454
//_solverParametersPtr->sublist("Line Search").sublist("Polynomial").set("Alpha Factor", 1.0e-2);
455455
break;
456456

457-
case 4:
458-
_solverParametersPtr->sublist("Line Search").sublist("Polynomial").set("Interpolation Type", "Quadratic");
459-
break;
457+
// case 4:
458+
// _solverParametersPtr->sublist("Line Search").sublist("Polynomial").set("Interpolation Type", "Quadratic");
459+
// break;
460460

461-
case 5:
462-
_solverParametersPtr->sublist("Line Search").sublist("Polynomial").set("Interpolation Type", "Quadratic3");
463-
break;
461+
// case 5:
462+
// _solverParametersPtr->sublist("Line Search").sublist("Polynomial").set("Interpolation Type", "Quadratic3");
463+
// break;
464464

465-
case 6:
466-
_solverParametersPtr->sublist("Line Search").sublist("Polynomial").set("Sufficient Decrease Condition", "Ared/Pred");
467-
_solverParametersPtr->sublist("Line Search").sublist("Polynomial").set("Interpolation Type", "Cubic");
468-
break;
465+
// case 6:
466+
// _solverParametersPtr->sublist("Line Search").sublist("Polynomial").set("Sufficient Decrease Condition", "Ared/Pred");
467+
// _solverParametersPtr->sublist("Line Search").sublist("Polynomial").set("Interpolation Type", "Cubic");
468+
// break;
469469

470-
case 7:
471-
_solverParametersPtr->sublist("Line Search").sublist("Polynomial").set("Interpolation Type", "Quadratic");
472-
break;
470+
// case 7:
471+
// _solverParametersPtr->sublist("Line Search").sublist("Polynomial").set("Interpolation Type", "Quadratic");
472+
// break;
473473

474-
case 8:
475-
_solverParametersPtr->sublist("Line Search").sublist("Polynomial").set("Interpolation Type", "Quadratic3");
476-
break;
474+
// case 8:
475+
// _solverParametersPtr->sublist("Line Search").sublist("Polynomial").set("Interpolation Type", "Quadratic3");
476+
// break;
477477

478478
//Polynomial failed -> Try More'-Thuente instead
479-
case 9:
479+
case 4:
480480
_solverParametersPtr->sublist("Line Search").set("Method", "More'-Thuente");
481481
//_solverParametersPtr->sublist("Line Search").sublist("More'-Thuente").set("Sufficient Decrease", 1.0e-2);
482482
break;
483483

484484
//More'-Thuente failed -> Try Trust Region instead
485-
case 10:
485+
case 5:
486486
//_solverParametersPtr->sublist("Line Search").remove("Method", true);
487487
_solverParametersPtr->set("Nonlinear Solver", "Trust Region Based");
488488
_solverParametersPtr->sublist("Trust Region").set("Minimum Improvement Ratio", 1.0e-4);
489489
_solverParametersPtr->sublist("Trust Region").set("Minimum Trust Region Radius", 1.0e-6);
490490
break;
491491

492492
//Trust Region failed -> Try Inexact Trust Region instead
493-
case 11:
493+
case 6:
494494
//_solverParametersPtr->sublist("Trust Region").set("Use Dogleg Segment Minimization", true);
495495
_solverParametersPtr->set("Nonlinear Solver", "Inexact Trust Region Based");
496496
break;
@@ -504,6 +504,9 @@ void Nox::solve()
504504
default:
505505
// if(_currentIterateNorm<_locTol){
506506
// memcpy(_y,_currentIterate,_dimSys*sizeof(double));
507+
// _algLoop->setReal(_y);
508+
// _algLoop->evaluate();
509+
// _algLoop->getRHS(rhs);
507510
// _iterationStatus=DONE;
508511
// break;
509512
// }

0 commit comments

Comments
 (0)