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(*args)

Default parameter values

static methods(*args)

Return a list of available solver methods

parameters
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

The membership flag