Dune-Fufem 2.11-git
Loading...
Searching...
No Matches
Dune::Fufem::Forms::IntegratedBoundaryBilinearForm< BilinearOperator, Domain, QuadratureHint > Class Template Reference

Local assembler corresponding to a boundary bilinear form. More...

#include <dune/fufem/forms/integratedboundarybilinearform.hh>

Public Types

using Element = typename LocalOperator::Element
 
using Intersection = typename LocalOperator::Intersection
 

Public Member Functions

 IntegratedBoundaryBilinearForm (const BilinearOperator &sumOperator, const Domain &domain, QuadratureHint quadratureHint)
 
 IntegratedBoundaryBilinearForm (const BilinearOperator &sumOperator, const Domain &domain)
 
const BilinearOperator & integrandOperator () const
 
void bindLocalViews (const TestRootLocalView &testLocalView, const AnsatzRootLocalView &ansatzLocalView)
 
void bindElement (const Element &element)
 
template<class LocalPattern >
void assembleBoundaryIntersectionMatrixPattern (const Intersection &intersection, LocalPattern &localPattern)
 
template<class LocalMatrix >
void assembleBoundaryIntersectionMatrix (const Intersection &intersection, LocalMatrix &localMatrix)
 
template<class TestLocalView , class AnsatzLocalView >
void preprocess (const TestLocalView &testLocalView, const AnsatzLocalView &ansatzLocalView)
 Register local views.
 
template<class LocalMatrix , class TestLocalView , class AnsatzLocalView >
void operator() (const Element &element, LocalMatrix &localMatrix, const TestLocalView &testSubspaceLocalView, const AnsatzLocalView &ansatzSubspaceLocalView)
 

Detailed Description

template<class BilinearOperator, class Domain, class QuadratureHint = Dune::Fufem::Forms::QuadratureHints::KeepOrder>
class Dune::Fufem::Forms::IntegratedBoundaryBilinearForm< BilinearOperator, Domain, QuadratureHint >

Local assembler corresponding to a boundary bilinear form.

Template Parameters
BilinearOperatorA bilinear SumOperator to integrate
DomainThe boundary integration domain
QuadratureHintA quadrature hint type to guide integration (default: KeepOrder)

This assembler computes boundary integrals over all intersections contained in the boundary integration domain.

Local assemblers of the same arity can be chained using operator+.

Member Typedef Documentation

◆ Element

template<class BilinearOperator , class Domain , class QuadratureHint = Dune::Fufem::Forms::QuadratureHints::KeepOrder>
using Dune::Fufem::Forms::IntegratedBoundaryBilinearForm< BilinearOperator, Domain, QuadratureHint >::Element = typename LocalOperator::Element

◆ Intersection

template<class BilinearOperator , class Domain , class QuadratureHint = Dune::Fufem::Forms::QuadratureHints::KeepOrder>
using Dune::Fufem::Forms::IntegratedBoundaryBilinearForm< BilinearOperator, Domain, QuadratureHint >::Intersection = typename LocalOperator::Intersection

Constructor & Destructor Documentation

◆ IntegratedBoundaryBilinearForm() [1/2]

template<class BilinearOperator , class Domain , class QuadratureHint = Dune::Fufem::Forms::QuadratureHints::KeepOrder>
Dune::Fufem::Forms::IntegratedBoundaryBilinearForm< BilinearOperator, Domain, QuadratureHint >::IntegratedBoundaryBilinearForm ( const BilinearOperator &  sumOperator,
const Domain &  domain,
QuadratureHint  quadratureHint 
)
inline

◆ IntegratedBoundaryBilinearForm() [2/2]

template<class BilinearOperator , class Domain , class QuadratureHint = Dune::Fufem::Forms::QuadratureHints::KeepOrder>
Dune::Fufem::Forms::IntegratedBoundaryBilinearForm< BilinearOperator, Domain, QuadratureHint >::IntegratedBoundaryBilinearForm ( const BilinearOperator &  sumOperator,
const Domain &  domain 
)
inline

Member Function Documentation

◆ assembleBoundaryIntersectionMatrix()

template<class BilinearOperator , class Domain , class QuadratureHint = Dune::Fufem::Forms::QuadratureHints::KeepOrder>
template<class LocalMatrix >
void Dune::Fufem::Forms::IntegratedBoundaryBilinearForm< BilinearOperator, Domain, QuadratureHint >::assembleBoundaryIntersectionMatrix ( const Intersection &  intersection,
LocalMatrix &  localMatrix 
)
inline

◆ assembleBoundaryIntersectionMatrixPattern()

template<class BilinearOperator , class Domain , class QuadratureHint = Dune::Fufem::Forms::QuadratureHints::KeepOrder>
template<class LocalPattern >
void Dune::Fufem::Forms::IntegratedBoundaryBilinearForm< BilinearOperator, Domain, QuadratureHint >::assembleBoundaryIntersectionMatrixPattern ( const Intersection &  intersection,
LocalPattern &  localPattern 
)
inline

◆ bindElement()

template<class BilinearOperator , class Domain , class QuadratureHint = Dune::Fufem::Forms::QuadratureHints::KeepOrder>
void Dune::Fufem::Forms::IntegratedBoundaryBilinearForm< BilinearOperator, Domain, QuadratureHint >::bindElement ( const Element &  element)
inline

◆ bindLocalViews()

template<class BilinearOperator , class Domain , class QuadratureHint = Dune::Fufem::Forms::QuadratureHints::KeepOrder>
void Dune::Fufem::Forms::IntegratedBoundaryBilinearForm< BilinearOperator, Domain, QuadratureHint >::bindLocalViews ( const TestRootLocalView &  testLocalView,
const AnsatzRootLocalView &  ansatzLocalView 
)
inline

◆ integrandOperator()

template<class BilinearOperator , class Domain , class QuadratureHint = Dune::Fufem::Forms::QuadratureHints::KeepOrder>
const BilinearOperator & Dune::Fufem::Forms::IntegratedBoundaryBilinearForm< BilinearOperator, Domain, QuadratureHint >::integrandOperator ( ) const
inline

◆ operator()()

template<class BilinearOperator , class Domain , class QuadratureHint = Dune::Fufem::Forms::QuadratureHints::KeepOrder>
template<class LocalMatrix , class TestLocalView , class AnsatzLocalView >
void Dune::Fufem::Forms::IntegratedBoundaryBilinearForm< BilinearOperator, Domain, QuadratureHint >::operator() ( const Element &  element,
LocalMatrix &  localMatrix,
const TestLocalView &  testSubspaceLocalView,
const AnsatzLocalView &  ansatzSubspaceLocalView 
)
inline

◆ preprocess()

template<class BilinearOperator , class Domain , class QuadratureHint = Dune::Fufem::Forms::QuadratureHints::KeepOrder>
template<class TestLocalView , class AnsatzLocalView >
void Dune::Fufem::Forms::IntegratedBoundaryBilinearForm< BilinearOperator, Domain, QuadratureHint >::preprocess ( const TestLocalView &  testLocalView,
const AnsatzLocalView &  ansatzLocalView 
)
inline

Register local views.

This has to be called once, before using the assembler. The passed local views must be the same that are used when calling the assembler for on an element afterwards.


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