@@ -55,7 +55,7 @@ void lspg_pick_solver_and_run(const ParserType & parser,
5555 RomStateType & reducedState)
5656{
5757 namespace pode = pressio::ode;
58- namespace pnlins = pressio::nonlinearsolvers ;
58+ namespace pnlins = pressio::nlsol ;
5959
6060 using scalar_type = typename pressio::Traits<RomStateType>::scalar_type;
6161 const auto startTime = static_cast <typename LspgStepperType::independent_variable_type>(0 );
@@ -65,48 +65,45 @@ void lspg_pick_solver_and_run(const ParserType & parser,
6565 if (parser.nonlinearSolver () == " GaussNewton" )
6666 {
6767 using hessian_t = Eigen::Matrix<scalar_type, -1 , -1 >;
68- using solver_tag = pressio::linearsolvers ::direct::HouseholderQR;
69- using linear_solver_t = pressio::linearsolvers ::Solver<solver_tag, hessian_t >;
68+ using solver_tag = pressio::linsol ::direct::HouseholderQR;
69+ using linear_solver_t = pressio::linsol ::Solver<solver_tag, hessian_t >;
7070 linear_solver_t linearSolver;
7171
72- auto solver = pressio::create_gauss_newton_solver (lspgStepper, linearSolver);
72+ auto solver = pressio::nlsol:: create_gauss_newton_solver (lspgStepper, linearSolver);
7373 solver.setStopCriterion (pnlins::Stop::WhenAbsolutel2NormOfGradientBelowTolerance);
7474 solver.setStopTolerance (parser.nonlinearSolverTolerance ());
7575
76- pode::advance_n_steps (lspgStepper, reducedState, startTime,
77- parser.timeStepSize (), numSteps,
78- observer, solver);
76+ auto policy = pode::steps_fixed_dt (startTime, numSteps, parser.timeStepSize ());
77+ pode::advance (lspgStepper, reducedState, policy, solver, observer);
7978 }
8079
8180 else if (parser.nonlinearSolver () == " GaussNewtonQR" )
8281 {
8382 using mat_t = typename LspgStepperType::jacobian_type;
8483 using qr_solver_t = pressio::qr::QRSolver<mat_t , pressio::qr::Householder>;
8584 qr_solver_t qrSolver;
86- auto solver = pressio::experimental::create_gauss_newton_qr_solver (lspgStepper, qrSolver);
85+ auto solver = pressio::nlsol:: experimental::create_gauss_newton_qr_solver (lspgStepper, qrSolver);
8786 solver.setStopCriterion (pnlins::Stop::WhenAbsolutel2NormOfGradientBelowTolerance);
8887 solver.setStopTolerance (parser.nonlinearSolverTolerance ());
8988
90- pode::advance_n_steps (lspgStepper, reducedState, startTime,
91- parser.timeStepSize (), numSteps,
92- observer, solver);
89+ auto policy = pode::steps_fixed_dt (startTime, numSteps, parser.timeStepSize ());
90+ pode::advance (lspgStepper, reducedState, policy, solver, observer);
9391 }
9492
9593 else if (parser.nonlinearSolver () == " LevenbergMarquardt" )
9694 {
9795 using hessian_t = Eigen::Matrix<scalar_type, -1 , -1 >;
98- using solver_tag = pressio::linearsolvers ::direct::HouseholderQR;
99- using linear_solver_t = pressio::linearsolvers ::Solver<solver_tag, hessian_t >;
96+ using solver_tag = pressio::linsol ::direct::HouseholderQR;
97+ using linear_solver_t = pressio::linsol ::Solver<solver_tag, hessian_t >;
10098 linear_solver_t linearSolver;
10199
102- auto solver = pressio::create_levenberg_marquardt_solver (lspgStepper, linearSolver);
100+ auto solver = pressio::nlsol:: create_levenberg_marquardt_solver (lspgStepper, linearSolver);
103101 solver.setUpdateCriterion (pnlins::Update::LMSchedule2);
104102 solver.setStopCriterion (pnlins::Stop::WhenAbsolutel2NormOfGradientBelowTolerance);
105103 solver.setStopTolerance (parser.nonlinearSolverTolerance ());
106104
107- pode::advance_n_steps (lspgStepper, reducedState, startTime,
108- parser.timeStepSize (), numSteps,
109- observer, solver);
105+ auto policy = pode::steps_fixed_dt (startTime, numSteps, parser.timeStepSize ());
106+ pode::advance (lspgStepper, reducedState, policy, solver, observer);
110107 }
111108}
112109#endif
0 commit comments