DUNE-ACFEM (2.5.1)

Dune::ACFem::ProblemInterface< FunctionSpace > Class Template Reference

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 &center) 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 &center) 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 &center) 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

template<class FunctionSpace>
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:
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.80.0 (Apr 27, 22:29, 2024)