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

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

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

Public Types

using Element = typename LinearOperator::Element
 

Public Member Functions

 IntegratedLinearForm (const LinearOperator &sumOperator, const Domain &domain, QuadratureHint quadratureHint)
 
 IntegratedLinearForm (const LinearOperator &sumOperator, const Domain &domain)
 
 IntegratedLinearForm (const LinearOperator &sumOperator, QuadratureHint quadratureHint)
 
 IntegratedLinearForm (const LinearOperator &sumOperator)
 
const LinearOperator & integrandOperator () const
 
void bindLocalView (const TestRootLocalView &testLocalView)
 
void bindElement (const Element &element)
 
template<class LocalVector >
void assembleElementVector (const Element &element, LocalVector &localVector)
 
template<class TestLocalView >
void preprocess (const TestLocalView &testLocalView)
 Register local view.
 
template<class LocalVector , class TestLocalView >
void operator() (const Element &element, LocalVector &localVector, const TestLocalView &testSubspaceLocalView)
 

Detailed Description

template<class LinearOperator, class Domain = Dune::Fufem::Forms::Bulk, class QuadratureHint = Dune::Fufem::Forms::QuadratureHints::KeepOrder>
class Dune::Fufem::Forms::IntegratedLinearForm< LinearOperator, Domain, QuadratureHint >

Local assembler corresponding to a bulk linear form.

Template Parameters
LinearOperatorA linear 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 LinearOperator , class Domain = Dune::Fufem::Forms::Bulk, class QuadratureHint = Dune::Fufem::Forms::QuadratureHints::KeepOrder>
using Dune::Fufem::Forms::IntegratedLinearForm< LinearOperator, Domain, QuadratureHint >::Element = typename LinearOperator::Element

Constructor & Destructor Documentation

◆ IntegratedLinearForm() [1/4]

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

◆ IntegratedLinearForm() [2/4]

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

◆ IntegratedLinearForm() [3/4]

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

◆ IntegratedLinearForm() [4/4]

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

Member Function Documentation

◆ assembleElementVector()

template<class LinearOperator , class Domain = Dune::Fufem::Forms::Bulk, class QuadratureHint = Dune::Fufem::Forms::QuadratureHints::KeepOrder>
template<class LocalVector >
void Dune::Fufem::Forms::IntegratedLinearForm< LinearOperator, Domain, QuadratureHint >::assembleElementVector ( const Element &  element,
LocalVector &  localVector 
)
inline

◆ bindElement()

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

◆ bindLocalView()

template<class LinearOperator , class Domain = Dune::Fufem::Forms::Bulk, class QuadratureHint = Dune::Fufem::Forms::QuadratureHints::KeepOrder>
void Dune::Fufem::Forms::IntegratedLinearForm< LinearOperator, Domain, QuadratureHint >::bindLocalView ( const TestRootLocalView &  testLocalView)
inline

◆ integrandOperator()

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

◆ operator()()

template<class LinearOperator , class Domain = Dune::Fufem::Forms::Bulk, class QuadratureHint = Dune::Fufem::Forms::QuadratureHints::KeepOrder>
template<class LocalVector , class TestLocalView >
void Dune::Fufem::Forms::IntegratedLinearForm< LinearOperator, Domain, QuadratureHint >::operator() ( const Element &  element,
LocalVector &  localVector,
const TestLocalView &  testSubspaceLocalView 
)
inline

◆ preprocess()

template<class LinearOperator , class Domain = Dune::Fufem::Forms::Bulk, class QuadratureHint = Dune::Fufem::Forms::QuadratureHints::KeepOrder>
template<class TestLocalView >
void Dune::Fufem::Forms::IntegratedLinearForm< LinearOperator, Domain, QuadratureHint >::preprocess ( const TestLocalView &  testLocalView)
inline

Register local view.

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


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