diff --git a/python/dolfinx/wrappers/petsc.cpp b/python/dolfinx/wrappers/petsc.cpp index 59f2cfaf95..ff6c3b024e 100644 --- a/python/dolfinx/wrappers/petsc.cpp +++ b/python/dolfinx/wrappers/petsc.cpp @@ -374,6 +374,19 @@ void petsc_nls_module(nb::module_& m) const Vec dx, Vec x) { update(&solver, dx, x); }); }, nb::arg("update")) + .def( + "set_convergence_check", + [](dolfinx::nls::petsc::NewtonSolver& self, + std::function( + const dolfinx::nls::petsc::NewtonSolver* solver, const Vec)> + convergence_check) + { + self.set_convergence_check( + [convergence_check]( + const dolfinx::nls::petsc::NewtonSolver& solver, + const Vec r) { return convergence_check(&solver, r); }); + }, + nb::arg("convergence_check")) .def("set_form", &dolfinx::nls::petsc::NewtonSolver::set_form, nb::arg("form")) .def("solve", &dolfinx::nls::petsc::NewtonSolver::solve, nb::arg("x"))