NonlinearVariationalProblem.h

Note

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

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

NonlinearVariationalProblem(std::shared_ptr<const Form> F, std::shared_ptr<Function> u, std::vector<std::shared_ptr<const DirichletBC>> bcs, std::shared_ptr<const Form> J = nullptr)

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

void set_bounds(const Function &lb_func, const Function &ub_func)

Set the bounds for bound constrained solver

void set_bounds(std::shared_ptr<const GenericVector> lb, std::shared_ptr<const GenericVector> ub)

Set the bounds for bound constrained solver

std::shared_ptr<const Form> residual_form() const

Return residual form

std::shared_ptr<const Form> jacobian_form() const

Return Jacobian form

std::shared_ptr<Function> solution()

Return solution variable

std::shared_ptr<const Function> solution() const

Return solution variable (const version)

std::vector<std::shared_ptr<const DirichletBC>> bcs() const

Return boundary conditions

std::shared_ptr<const FunctionSpace> trial_space() const

Return trial space

std::shared_ptr<const FunctionSpace> test_space() const

Return test space

std::shared_ptr<const GenericVector> lower_bound() const

Return lower bound

std::shared_ptr<const GenericVector> upper_bound() const

Return upper bound

bool has_jacobian() const

Check whether Jacobian has been defined

bool has_lower_bound() const

Check whether lower bound has been defined

bool has_upper_bound() const

Check whether upper bound have has defined