BEM++  2.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Classes | Functions
Local operators

Classes

class  Bempp::GeneralElementaryLocalOperator< BasisFunctionType_, ResultType_ >
 Standard implementation of an elementary local operator. More...
 
class  Bempp::IdentityOperator< BasisFunctionType_, ResultType_ >
 Identity operator. More...
 
class  Bempp::Maxwell3dIdentityOperator< BasisFunctionType_, ResultType_ >
 "Identity operator" for Maxwell equations in 3D. More...
 

Functions

template<typename BasisFunctionType , typename ResultType >
BoundaryOperator
< BasisFunctionType,
ResultType > 
Bempp::laplaceBeltrami3dOperator (const shared_ptr< const Context< BasisFunctionType, ResultType > > &context, const shared_ptr< const Space< BasisFunctionType > > &domain, const shared_ptr< const Space< BasisFunctionType > > &range, const shared_ptr< const Space< BasisFunctionType > > &dualToRange, const std::string &label="", int symmetry=NO_SYMMETRY)
 Construct a BoundaryOperator object representing a Laplace-Beltrami operator in 3D. More...
 

Detailed Description

This submodule contains classes representing local operators (e.g. the identity operator) and functions used to create such operators.

Function Documentation

template<typename BasisFunctionType , typename ResultType >
BoundaryOperator< BasisFunctionType, ResultType > Bempp::laplaceBeltrami3dOperator ( const shared_ptr< const Context< BasisFunctionType, ResultType > > &  context,
const shared_ptr< const Space< BasisFunctionType > > &  domain,
const shared_ptr< const Space< BasisFunctionType > > &  range,
const shared_ptr< const Space< BasisFunctionType > > &  dualToRange,
const std::string &  label = "",
int  symmetry = NO_SYMMETRY 
)

Construct a BoundaryOperator object representing a Laplace-Beltrami operator in 3D.

The weak form of the Laplace-Beltrami operator $L$ in 3D is

\[ \langle \boldsymbol u, L \boldsymbol v \rangle = \int_\Gamma \boldsymbol \nabla_\Gamma u^*(\boldsymbol x) \cdot \boldsymbol \nabla_\Gamma v(\boldsymbol x) \, \mathrm{d}\Gamma(\boldsymbol x), \]

where $\boldsymbol \nabla_\Gamma$ is the surface gradient operator.

Parameters
[in]contextA Context object that will be used to build the weak form of the identity operator when necessary.
[in]domainFunction space being the domain of the identity operator.
[in]rangeFunction space being the range of the identity operator.
[in]dualToRangeFunction space dual to the the range of the identity operator.
[in]labelTextual label of the identity operator (optional, used for debugging).
[in]symmetrySymmetry of the weak form of the operator. Can be any combination of the flags defined in the enumeration type Symmetry.

All the three spaces must be defined on the same grid. See AbstractBoundaryOperator for the documentation of the template parameters.