DOLFIN
DOLFIN C++ interface
Loading...
Searching...
No Matches
dolfin::NonlinearVariationalProblem Class Reference

#include <NonlinearVariationalProblem.h>

Inheritance diagram for dolfin::NonlinearVariationalProblem:
Collaboration diagram for dolfin::NonlinearVariationalProblem:

Public Member Functions

 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)
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 Formresidual_form () const
 Return residual form.
std::shared_ptr< const Formjacobian_form () const
 Return Jacobian form.
std::shared_ptr< Functionsolution ()
 Return solution variable.
std::shared_ptr< const Functionsolution () const
 Return solution variable (const version).
std::vector< std::shared_ptr< const DirichletBC > > bcs () const
 Return boundary conditions.
std::shared_ptr< const FunctionSpacetrial_space () const
 Return trial space.
std::shared_ptr< const FunctionSpacetest_space () const
 Return test space.
std::shared_ptr< const GenericVectorlower_bound () const
 Return lower bound.
std::shared_ptr< const GenericVectorupper_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.
Public Member Functions inherited from dolfin::Hierarchical< NonlinearVariationalProblem >
 Hierarchical (NonlinearVariationalProblem &self)
 Constructor.
virtual ~Hierarchical ()
 Destructor.
std::size_t depth () const
bool has_parent () const
bool has_child () const
NonlinearVariationalProblemparent ()
std::shared_ptr< NonlinearVariationalProblemparent_shared_ptr ()
NonlinearVariationalProblemchild ()
std::shared_ptr< NonlinearVariationalProblemchild_shared_ptr ()
NonlinearVariationalProblemroot_node ()
std::shared_ptr< NonlinearVariationalProblemroot_node_shared_ptr ()
NonlinearVariationalProblemleaf_node ()
std::shared_ptr< NonlinearVariationalProblemleaf_node_shared_ptr ()
void set_parent (std::shared_ptr< NonlinearVariationalProblem > parent)
 Set parent.
void clear_child ()
 Clear child.
void set_child (std::shared_ptr< NonlinearVariationalProblem > child)
 Set child.
const Hierarchicaloperator= (const Hierarchical &hierarchical)
 Assignment operator.
void _debug () const
 Function useful for debugging the hierarchy.

Detailed Description

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.

Constructor & Destructor Documentation

◆ NonlinearVariationalProblem()

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


The documentation for this class was generated from the following files: