Dune-Fufem 2.11-git
Loading...
Searching...
No Matches
Dune::Fufem::Forms::IntegratedBilinearForm< BilinearOperator, Domain, QuadratureHint > 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, QuadratureHint quadratureHint)
 
 IntegratedBilinearForm (const BilinearOperator &sumOperator, const Domain &domain)
 
 IntegratedBilinearForm (const BilinearOperator &sumOperator, QuadratureHint quadratureHint)
 
 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 QuadratureHint = Dune::Fufem::Forms::QuadratureHints::KeepOrder>
class Dune::Fufem::Forms::IntegratedBilinearForm< BilinearOperator, Domain, QuadratureHint >

Local assembler corresponding to a bulk bilinear form.

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

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, class QuadratureHint = Dune::Fufem::Forms::QuadratureHints::KeepOrder>
using Dune::Fufem::Forms::IntegratedBilinearForm< BilinearOperator, Domain, QuadratureHint >::Element = typename BilinearOperator::Element

Constructor & Destructor Documentation

◆ IntegratedBilinearForm() [1/4]

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

◆ IntegratedBilinearForm() [2/4]

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

◆ IntegratedBilinearForm() [3/4]

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

◆ IntegratedBilinearForm() [4/4]

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

Member Function Documentation

◆ assembleElementMatrix()

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

◆ assembleElementMatrixPattern()

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

◆ bindElement()

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

◆ bindLocalViews()

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

◆ integrandOperator()

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

◆ operator()()

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

◆ preprocess()

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