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(const Form& F, Function& 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(const Form& F, Function& u, const Form& 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(const Form& F, Function& u, const DirichletBC& 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(const Form& F, Function& u, const DirichletBC& bc, const Form& 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(const Form& F, Function& u, std::vector<const DirichletBC*> 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(const Form& F, Function& u, std::vector<const DirichletBC*> bcs, const Form& 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(std::shared_ptr<const Form> F, std::shared_ptr<Function> u, std::vector<std::shared_ptr<const DirichletBC>> 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(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)

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(std::shared_ptr<const GenericVector> lb, std::shared_ptr<const GenericVector> ub)

Set the bounds for bound constrained solver

void set_bounds(const GenericVector& lb, const GenericVector& ub)

Set the bounds for bound constrained solver

void set_bounds(std::shared_ptr<const Function> lb_func, std::shared_ptr<const Function> ub_func)

Set the bounds for bound constrained solver

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

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

Previous topic

MultiMeshForm.h

Next topic

NonlinearVariationalSolver.h

This Page