# NonlinearVariationalProblem¶

class dolfin.cpp.fem.NonlinearVariationalProblem(*args)

This class represents a nonlinear variational problem:

Find u in V such that

F(u; v) = 0 for all v in V^,

where V is the trial space and V^ is the test space.

• NonlinearVariationalProblem(F, u)

Create nonlinear variational problem without boundary conditions. The Jacobian form is not specified which requires the use of a nonlinear solver that does not rely on the Jacobian.

• NonlinearVariationalProblem(F, u, J)

Create nonlinear variational problem without boundary conditions. The Jacobian form is specified which allows the use of a nonlinear solver that relies on the Jacobian (using Newton’s method).

• NonlinearVariationalProblem(F, u, bc)

Create nonlinear variational problem with a single boundary condition. The Jacobian form is not specified which requires the use of a nonlinear solver that does not rely on the Jacobian.

• NonlinearVariationalProblem(F, u, bc, J)

Create nonlinear variational problem with a single boundary condition. The Jacobian form is specified which allows the use of a nonlinear solver that relies on the Jacobian (using Newton’s method).

• NonlinearVariationalProblem(F, u, bcs)

Create nonlinear variational problem with a list of boundary conditions. The Jacobian form is not specified which requires the use of a nonlinear solver that does not rely on the Jacobian.

• NonlinearVariationalProblem(F, u, bcs, J)

Create nonlinear variational problem with a list of boundary conditions. The Jacobian form is specified which allows the use of a nonlinear solver that relies on the Jacobian (using Newton’s method).

• NonlinearVariationalProblem(F, u, bcs)

Create nonlinear variational problem, shared pointer version. The Jacobian form is not specified which requires the use of a nonlinear solver that does not rely on the Jacobian.

• NonlinearVariationalProblem(F, u, bcs, J)

Create nonlinear variational problem, shared pointer version. The Jacobian form is specified which allows the use of a nonlinear solver that relies on the Jacobian (using Newton’s method).

bcs()

Return boundary conditions

has_jacobian()

Check whether Jacobian has been defined

has_lower_bound()

Check whether lower bound has been defined

has_upper_bound()

Check whether upper bound have has defined

jacobian_form()

Return Jacobian form

lower_bound()

Return lower bound

residual_form()

Return residual form

set_bounds()

• set_bounds(lb, ub)

Set the bounds for bound constrained solver

• set_bounds(lb, ub)

Set the bounds for bound constrained solver

• set_bounds(lb_func, ub_func)

Set the bounds for bound constrained solver

• set_bounds(lb_func, ub_func)

Set the bounds for bound constrained solver

solution()

Return the solution

test_space()

Return the test space

thisown

The membership flag

trial_space()

Return the trial space

upper_bound()

Return upper bound