# NonlinearVariationalProblem¶

class dolfin.cpp.fem.NonlinearVariationalProblem

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.

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).

Parameters: const Form > F (std::shared_ptr<) – Function > u (std::shared_ptr<) – std::shared_ptr< const DirichletBC >> bcs (std::vector<) – const Form > J (std::shared_ptr<) –
bcs()

Return boundary conditions.

Return type: std::vector< std::shared_ptr< const DirichletBC > >
has_jacobian()

Check whether Jacobian has been defined.

Return type: bool
has_lower_bound()

Check whether lower bound has been defined.

Return type: bool
has_upper_bound()

Check whether upper bound have has defined.

Return type: bool
jacobian_form()

Return Jacobian form.

Return type: std::shared_ptr< const Form >
lower_bound()

Return lower bound.

Return type: std::shared_ptr< const GenericVector >
residual_form()

Return residual form.

Return type: std::shared_ptr< const Form >
set_bounds()

Set the bounds for bound constrained solver.

Parameters: Function & lb_func (const) – Function & ub_func (const) – void
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.

Return type: std::shared_ptr< const GenericVector >