PETScSNESSolver

class dolfin.cpp.la.PETScSNESSolver(*args)

Bases: dolfin.cpp.la.PETScObject

This class implements methods for solving nonlinear systems via PETSc’s SNES interface. It includes line search and trust region techniques for globalising the convergence of the nonlinear iteration.

Create SNES solver for a particular method

static default_parameters()

Default parameter values

init()

Set up the SNES object, but don’t do anything yet, in case the user wants to access the SNES object directly

static methods()

Return a list of available solver methods

parameters None
snes()
solve()

Overloaded versions

  • solve(nonlinear_problem, x, lb, ub)

    Solve a nonlinear variational inequality with bound constraints

    Arguments
    nonlinear_function (NonlinearProblem)

    The nonlinear problem.

    x (GenericVector)

    The vector.

    lb (GenericVector)

    The lower bound.

    ub (GenericVector)

    The upper bound.

    Returns
    (int, bool)

    Pair of number of Newton iterations, and whether iteration converged)

  • solve(nonlinear_function, x)

    Solve abstract nonlinear problem \(F(x) = 0\) for given \(F\) and Jacobian \(\dfrac{\partial F}{\partial x}\).

    Arguments
    nonlinear_function (NonlinearProblem)

    The nonlinear problem.

    x (GenericVector)

    The vector.

    Returns
    (int, bool)

    Pair of number of Newton iterations, and whether iteration converged)

thisown None

The membership flag

Previous topic

PETScPreconditioner

Next topic

PETScUserPreconditioner

This Page