DOLFIN
DOLFIN C++ interface
Public Member Functions | List of all members
dolfin::NonlinearVariationalProblem Class Reference

#include <NonlinearVariationalProblem.h>

Inheritance diagram for dolfin::NonlinearVariationalProblem:
Inheritance graph
[legend]
Collaboration diagram for dolfin::NonlinearVariationalProblem:
Collaboration graph
[legend]

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 ()
 
const NonlinearVariationalProblemparent () const
 Return parent in hierarchy (const version).
 
std::shared_ptr< NonlinearVariationalProblemparent_shared_ptr ()
 
std::shared_ptr< const NonlinearVariationalProblemparent_shared_ptr () const
 Return shared pointer to parent (const version).
 
NonlinearVariationalProblemchild ()
 
const NonlinearVariationalProblemchild () const
 Return child in hierarchy (const version).
 
std::shared_ptr< NonlinearVariationalProblemchild_shared_ptr ()
 
std::shared_ptr< const NonlinearVariationalProblemchild_shared_ptr () const
 Return shared pointer to child (const version).
 
NonlinearVariationalProblemroot_node ()
 
const NonlinearVariationalProblemroot_node () const
 Return root node object in hierarchy (const version).
 
std::shared_ptr< NonlinearVariationalProblemroot_node_shared_ptr ()
 
std::shared_ptr< const NonlinearVariationalProblemroot_node_shared_ptr () const
 Return shared pointer to root node object in hierarchy (const version).
 
NonlinearVariationalProblemleaf_node ()
 
const NonlinearVariationalProblemleaf_node () const
 Return leaf node object in hierarchy (const version).
 
std::shared_ptr< NonlinearVariationalProblemleaf_node_shared_ptr ()
 
std::shared_ptr< const NonlinearVariationalProblemleaf_node_shared_ptr () const
 Return shared pointer to leaf node object in hierarchy (const version).
 
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: