DUNE-ACFEM (2.5.1)
Problem interface which describes a second order elliptic boundary problem: More...
#include <dune/acfem/models/probleminterface.hh>
Public Member Functions | |
virtual bool | has (OperatorPartsType what) const |
May be used for optimizations during assembly. More... | |
virtual void | f (const DomainType &x, RangeType &value) const |
the right hand side data (default = 0) | |
virtual void | u (const DomainType &x, RangeType &value) const |
the exact solution (default = 0) | |
virtual void | uJacobian (const DomainType &x, JacobianRangeType &value) const |
the jacobian of the exact solution (default = 0) | |
virtual bool | isDirichletSegment (const int bndId, const DomainType ¢er) const |
Classification of the kind of boundary conditions which applies to a boundary segment with the given Id. More... | |
virtual bool | isNeumannSegment (const int bndId, const DomainType ¢er) const |
Classification of the kind of boundary conditions which applies to a boundary segment with the given Id. More... | |
virtual bool | isRobinSegment (const int bndId, const DomainType ¢er) const |
Classification of the kind of boundary conditions which applies to a boundary segment with the given Id. More... | |
virtual void | dirichletData (const DomainType &x, RangeType &value) const |
The Dirichlet boundary data. More... | |
virtual void | neumannData (const DomainType &x, RangeType &value) const |
The Neumann boundary data. More... | |
virtual void | robinData (const DomainType &x, const RangeType &u, RangeType &value) const |
The Robin boundary data. More... | |
virtual void | secondOrderCoefficient (const DomainType &x, const JacobianRangeType &gradient, JacobianRangeType &result) const |
This method has to implement the second order term for the weak formulation, it needs to compute. More... | |
virtual void | secondOrderCoefficient (const DomainType &x, const JacobianRangeType &Du, const HessianRangeType &D2u, RangeType &result) const |
This method has to implement the second order term for the point-wise operator. More... | |
virtual void | firstOrderCoefficient (const DomainType &x, const RangeType &u, const JacobianRangeType &Du, RangeType &result) const |
First order term with derivative on u. More... | |
virtual void | zeroOrderCoefficient (const DomainType &x, const RangeType &u, RangeType &result) const |
Zero order coefficient. More... | |
Detailed Description
class Dune::ACFem::ProblemInterface< FunctionSpace >
Problem interface which describes a second order elliptic boundary problem:
\[ \begin{split} -\nabla\cdot (A,\nabla u) + \nabla\cdot(b\,u) + c\,u &= f\quad \text{ in }\Omega,\\ u &= g_D \text{ on }\Gamma_D,\\ (a\nabla u)\cdot\nu + \alpha\,u &= g_N \text{ on }\Gamma_N.\\ \end{split} \]
The interface class also defines a default implementation for the Laplace equation with zero boundary conditions. After partial integration we may have boundary intergrals which contribute to the system matrix depending on the values of u and the test-functions (if alpha is non-zero) and boundary contributions to the right hand side (if g_N is non-zero). Further, doing partial integration it is possible to shift the derivative of the first order term to the test-function. In that case we get an additional boundary integral over the Dirichlet boundary, depending on the Dirichlet boundary values.
The documentation for this class was generated from the following file:
- dune/acfem/models/probleminterface.hh