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

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

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

Public Types

using Element = typename BilinearOperator::Element
 

Public Member Functions

 IntegratedBilinearForm (const BilinearOperator &sumOperator, const Domain &domain)
 
 IntegratedBilinearForm (const BilinearOperator &sumOperator)
 
const BilinearOperator & integrandOperator () const
 
void bindLocalViews (const TestRootLocalView &testLocalView, const AnsatzRootLocalView &ansatzLocalView)
 
void bindElement (const Element &element)
 
template<class LocalPattern >
void assembleElementMatrixPattern (const Element &element, LocalPattern &localPattern)
 
template<class LocalMatrix >
void assembleElementMatrix (const Element &element, 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 = Dune::Fufem::Forms::Bulk>
class Dune::Fufem::Forms::IntegratedBilinearForm< BilinearOperator, Domain >

Local assembler corresponding to a bulk bilinear form.

Template Parameters
BilinearOperatorA bilinear SumOperator to integrate
DomainThe bulk integration domain (default: Bulk)

This assembler computes bulk integrals over all elements in the underlying GridView.

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

Member Typedef Documentation

◆ Element

template<class BilinearOperator , class Domain = Dune::Fufem::Forms::Bulk>
using Dune::Fufem::Forms::IntegratedBilinearForm< BilinearOperator, Domain >::Element = typename BilinearOperator::Element

Constructor & Destructor Documentation

◆ IntegratedBilinearForm() [1/2]

template<class BilinearOperator , class Domain = Dune::Fufem::Forms::Bulk>
Dune::Fufem::Forms::IntegratedBilinearForm< BilinearOperator, Domain >::IntegratedBilinearForm ( const BilinearOperator &  sumOperator,
const Domain &  domain 
)
inline

◆ IntegratedBilinearForm() [2/2]

template<class BilinearOperator , class Domain = Dune::Fufem::Forms::Bulk>
Dune::Fufem::Forms::IntegratedBilinearForm< BilinearOperator, Domain >::IntegratedBilinearForm ( const BilinearOperator &  sumOperator)
inline

Member Function Documentation

◆ assembleElementMatrix()

template<class BilinearOperator , class Domain = Dune::Fufem::Forms::Bulk>
template<class LocalMatrix >
void Dune::Fufem::Forms::IntegratedBilinearForm< BilinearOperator, Domain >::assembleElementMatrix ( const Element element,
LocalMatrix &  localMatrix 
)
inline

◆ assembleElementMatrixPattern()

template<class BilinearOperator , class Domain = Dune::Fufem::Forms::Bulk>
template<class LocalPattern >
void Dune::Fufem::Forms::IntegratedBilinearForm< BilinearOperator, Domain >::assembleElementMatrixPattern ( const Element element,
LocalPattern &  localPattern 
)
inline

◆ bindElement()

template<class BilinearOperator , class Domain = Dune::Fufem::Forms::Bulk>
void Dune::Fufem::Forms::IntegratedBilinearForm< BilinearOperator, Domain >::bindElement ( const Element element)
inline

◆ bindLocalViews()

template<class BilinearOperator , class Domain = Dune::Fufem::Forms::Bulk>
void Dune::Fufem::Forms::IntegratedBilinearForm< BilinearOperator, Domain >::bindLocalViews ( const TestRootLocalView &  testLocalView,
const AnsatzRootLocalView &  ansatzLocalView 
)
inline

◆ integrandOperator()

template<class BilinearOperator , class Domain = Dune::Fufem::Forms::Bulk>
const BilinearOperator & Dune::Fufem::Forms::IntegratedBilinearForm< BilinearOperator, Domain >::integrandOperator ( ) const
inline

◆ operator()()

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

◆ preprocess()

template<class BilinearOperator , class Domain = Dune::Fufem::Forms::Bulk>
template<class TestLocalView , class AnsatzLocalView >
void Dune::Fufem::Forms::IntegratedBilinearForm< BilinearOperator, Domain >::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: