diff --git a/ProcessLib/CreateProcessData.cpp b/ProcessLib/CreateProcessData.cpp index 7c8fe0a67f1cfbf45a12ee36a5f260d3bf6a5f54..1f6c00e25239532a27260801abc2f85c6678f908 100644 --- a/ProcessLib/CreateProcessData.cpp +++ b/ProcessLib/CreateProcessData.cpp @@ -35,7 +35,7 @@ static std::unique_ptr<ProcessData> makeProcessData( nonlinear_solver_picard->compensateNonEquilibriumInitialResiduum( compensate_non_equilibrium_initial_residuum); return std::make_unique<ProcessData>( - std::move(timestepper), *nonlinear_solver_picard, + std::move(timestepper), Tag::Picard, *nonlinear_solver_picard, std::move(conv_crit), std::move(time_disc), process_id, process); } if (auto* nonlinear_solver_newton = @@ -45,7 +45,7 @@ static std::unique_ptr<ProcessData> makeProcessData( nonlinear_solver_newton->compensateNonEquilibriumInitialResiduum( compensate_non_equilibrium_initial_residuum); return std::make_unique<ProcessData>( - std::move(timestepper), *nonlinear_solver_newton, + std::move(timestepper), Tag::Newton, *nonlinear_solver_newton, std::move(conv_crit), std::move(time_disc), process_id, process); } diff --git a/ProcessLib/ProcessData.h b/ProcessLib/ProcessData.h index 1da814d8e99d86b0120e3842f32eec0d49933703..096ca1d5a5f6568a56c0a8e00eba4b26057d7dd1 100644 --- a/ProcessLib/ProcessData.h +++ b/ProcessLib/ProcessData.h @@ -22,16 +22,16 @@ namespace ProcessLib { struct ProcessData { - template <NumLib::NonlinearSolverTag NLTag> ProcessData(std::unique_ptr<NumLib::TimeStepAlgorithm>&& timestepper_, - NumLib::NonlinearSolver<NLTag>& nonlinear_solver, + NumLib::NonlinearSolverTag const nonlinear_solver_tag_, + NumLib::NonlinearSolverBase& nonlinear_solver_, std::unique_ptr<NumLib::ConvergenceCriterion>&& conv_crit_, std::unique_ptr<NumLib::TimeDiscretization>&& time_disc_, int const process_id_, Process& process_) : timestepper(std::move(timestepper_)), - nonlinear_solver_tag(NLTag), - nonlinear_solver(nonlinear_solver), + nonlinear_solver_tag(nonlinear_solver_tag_), + nonlinear_solver(nonlinear_solver_), nonlinear_solver_status{true, 0}, conv_crit(std::move(conv_crit_)), time_disc(std::move(time_disc_)),