dolfinx.cpp.nls.petsc#

PETSc-specific nonlinear solvers

Classes

NewtonSolver(self, comm)

class dolfinx.cpp.nls.petsc.NewtonSolver(self, comm: mpi4py.MPI.Comm)#

Bases: object

property atol#

Absolute tolerance

property convergence_criterion#

Convergence criterion, either ‘residual’ (default) or ‘incremental’

property error_on_nonconvergence#

(self) -> bool

property krylov_solver#

(self) -> petsc4py.PETSc.KSP

property max_it#

Maximum number of iterations

property relaxation_parameter#

Relaxation parameter

property report#

(self) -> bool

property rtol#

Relative tolerance

setF(self, F: collections.abc.Callable[[petsc4py.PETSc.Vec, petsc4py.PETSc.Vec], None], b: petsc4py.PETSc.Vec) None#
setJ(self, J: collections.abc.Callable[[petsc4py.PETSc.Vec, petsc4py.PETSc.Mat], None], Jmat: petsc4py.PETSc.Mat) None#
setP(self, P: collections.abc.Callable[[petsc4py.PETSc.Vec, petsc4py.PETSc.Mat], None], Pmat: petsc4py.PETSc.Mat) None#
set_convergence_check(self, convergence_check: collections.abc.Callable[[dolfinx.cpp.nls.petsc.NewtonSolver, petsc4py.PETSc.Vec], tuple[float, bool]]) None#
set_form(self, form: collections.abc.Callable[[petsc4py.PETSc.Vec], None]) None#
set_update(self, update: collections.abc.Callable[[dolfinx.cpp.nls.petsc.NewtonSolver, petsc4py.PETSc.Vec, petsc4py.PETSc.Vec], None]) None#
solve(self, x: petsc4py.PETSc.Vec) tuple[int, bool]#