Skip to content

Commit

Permalink
used normal Newton again
Browse files Browse the repository at this point in the history
  • Loading branch information
qichenghua authored and OpenModelica-Hudson committed Jul 18, 2017
1 parent ea35f34 commit 267a1c7
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 10 deletions.
Expand Up @@ -100,7 +100,7 @@ OMCFactory::OMCFactory(PATH library_path, PATH modelicasystem_path)
#else
, _defaultLinSolver("linearSolver")
#endif
, _defaultNonLinSolver("kinsol")
, _defaultNonLinSolver("nox")
{
fillArgumentsToIgnore();
fillArgumentsToReplace();
Expand All @@ -114,7 +114,7 @@ OMCFactory::OMCFactory()
#else
, _defaultLinSolver("linearSolver")
#endif
, _defaultNonLinSolver("kinsol")
, _defaultNonLinSolver("nox")
{
fillArgumentsToIgnore();
fillArgumentsToReplace();
Expand Down
18 changes: 10 additions & 8 deletions SimulationRuntime/cpp/Solver/Nox/Nox.cpp
Expand Up @@ -128,10 +128,10 @@ void Nox::solve()
//_solverParametersPtr->sublist("Direction").set("Method", "Steepest Descent");

//resetting Line search method to default (Full Step, ie. Standard Newton with lambda=1)
// _solverParametersPtr->sublist("Line Search").set("Method", "Full Step");
_solverParametersPtr->sublist("Line Search").set("Method", "Backtrack");
_solverParametersPtr->sublist("Line Search").sublist("Backtrack").set("Recovery Step", 0.0);
_solverParametersPtr->sublist("Line Search").sublist("Backtrack").set("Minimum Step", 1.0e-30);
_solverParametersPtr->sublist("Line Search").set("Method", "Full Step");
// _solverParametersPtr->sublist("Line Search").set("Method", "Backtrack");
// _solverParametersPtr->sublist("Line Search").sublist("Backtrack").set("Recovery Step", 0.0);
// _solverParametersPtr->sublist("Line Search").sublist("Backtrack").set("Minimum Step", 1.0e-30);

if (_generateoutput) std::cout << "creating noxLapackInterface" << std::endl;

Expand Down Expand Up @@ -277,7 +277,7 @@ void Nox::solve()
// _currentIterateNorm=_statusTestNormF->getNormF();
// }

if ((iter==0) || (iter==1) || (iter==2)) iter = 3;
if ((iter==0) || (iter==1) || (iter==1)) iter = 2;//do not skip iter =2


modifySolverParameters(_solverParametersPtr,iter);
Expand Down Expand Up @@ -536,7 +536,7 @@ void Nox::modifySolverParameters(const Teuchos::RCP<Teuchos::ParameterList> solv
//default Nox Line Search failed -> Try Backtracking instead
case 2:
solverParametersPtr->sublist("Line Search").set("Method", "Backtrack");
solverParametersPtr->sublist("Line Search").sublist("Backtrack").set("Default Step", 1024.0*1024.0);
//solverParametersPtr->sublist("Line Search").sublist("Backtrack").set("Default Step", 1024.0*1024.0);
solverParametersPtr->sublist("Line Search").sublist("Backtrack").set("Minimum Step", 1.0e-30);
solverParametersPtr->sublist("Line Search").sublist("Backtrack").set("Recovery Step", 0.0);
//std::cout << "we just set the solver parameters to use backtrack. the currently used options are:" << std::endl;
Expand Down Expand Up @@ -771,8 +771,10 @@ void Nox::printLogger(){
void Nox::addPrintingList(const Teuchos::RCP<Teuchos::ParameterList> solverParametersPtr){
solverParametersPtr->sublist("Printing").set("Output Precision", 15);
solverParametersPtr->sublist("Printing").set("Output Information", NOX::Utils::Error);
solverParametersPtr->sublist("Printing").set("Output Stream", _output);
solverParametersPtr->sublist("Printing").set("Error Stream", _output);
if(!_generateoutput){
solverParametersPtr->sublist("Printing").set("Output Stream", _output);
solverParametersPtr->sublist("Printing").set("Error Stream", _output);
}
}

void Nox::copySolution(const Teuchos::RCP<const NOX::Solver::Generic> solver,double* const algLoopSolution){
Expand Down

0 comments on commit 267a1c7

Please sign in to comment.