NonlinearProblem.h

Note

The documentation on this page was automatically extracted from the DOLFIN C++ code and may need to be edited or expanded.

class NonlinearProblem

This is a base class for nonlinear problems which can return the nonlinear function F(u) and its Jacobian J = dF(u)/du.

NonlinearProblem()

Constructor

void form(GenericMatrix &A, GenericVector &b, const GenericVector &x)

Function called by Newton solver before requesting F or J. This can be used to compute F and J together. NOTE: This function is deprecated. Use variant with preconditioner

void form(GenericMatrix &A, GenericMatrix &P, GenericVector &b, const GenericVector &x)

Function called by Newton solver before requesting F, J or J_pc. This can be used to compute F, J and J_pc together. Preconditioner matrix P can be left empty so that A is used instead

void F(GenericVector &b, const GenericVector &x) = 0

Compute F at current point x

void J(GenericMatrix &A, const GenericVector &x) = 0

Compute J = F’ at current point x

void J_pc(GenericMatrix &P, const GenericVector &x)

Compute J_pc used to precondition J. Not implementing this or leaving P empty results in system matrix A being used to construct preconditioner.

Note that if nonempty P is not assembled on first call then a solver implementation may throw away P and not call this routine ever again.