Dune-Fufem 2.11-git
Loading...
Searching...
No Matches
Dune::Fufem::Forms::LocalSumAssembler< LocalAssemblers > Class Template Reference

Sum of local assemblers obtained using Dune::Fufem::Forms::integrate(...) More...

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

Public Member Functions

 LocalSumAssembler (const LocalAssemblers &... localAssemblers)
 
template<class Element >
void bindElement (const Element &element)
 
template<class TestRootLocalView , class AnsatzRootLocalView >
requires (Dune::Assembler::Concepts::BindableToLocalViews<LocalAssemblers, TestRootLocalView, AnsatzRootLocalView> || ...)
void bindLocalViews (const TestRootLocalView &testLocalView, const AnsatzRootLocalView &ansatzLocalView)
 
template<class TestRootLocalView , class AnsatzRootLocalView >
requires (Dune::Assembler::Concepts::BindableToOutsideLocalViews<LocalAssemblers, TestRootLocalView, AnsatzRootLocalView> || ...)
void bindOutsideLocalViews (const TestRootLocalView &testLocalView, const AnsatzRootLocalView &ansatzLocalView)
 
template<class Element , class LocalMatrix >
requires (Impl::HasAssembleElementMatrix<LocalAssemblers, Element> || ...)
void assembleElementMatrix (const Element &element, LocalMatrix &localMatrix)
 
template<class Element , class LocalPattern >
requires (Impl::HasAssembleElementMatrix<LocalAssemblers, Element> || ...)
void assembleElementMatrixPattern (const Element &element, LocalPattern &localPattern)
 
template<class Intersection , class LocalMatrix >
requires (Impl::HasAssembleBoundaryIntersectionMatrix<LocalAssemblers, Intersection> || ...)
void assembleBoundaryIntersectionMatrix (const Intersection &intersection, LocalMatrix &localMatrix)
 
template<class Intersection , class LocalPattern >
requires (Impl::HasAssembleBoundaryIntersectionMatrix<LocalAssemblers, Intersection> || ...)
void assembleBoundaryIntersectionMatrixPattern (const Intersection &intersection, LocalPattern &localPattern)
 
template<class Intersection , class LocalMatrix >
requires (Impl::HasAssembleInteriorIntersectionMatrix<LocalAssemblers, Intersection> || ...)
void assembleInteriorIntersectionMatrix (const Intersection &intersection, LocalMatrix &localMatrix)
 
template<class Intersection , class LocalPattern >
requires (Impl::HasAssembleInteriorIntersectionMatrix<LocalAssemblers, Intersection> || ...)
void assembleInteriorIntersectionMatrixPattern (const Intersection &intersection, LocalPattern &localPattern)
 
template<class TestRootLocalView >
requires (Dune::Assembler::Concepts::BindableToLocalView<LocalAssemblers, TestRootLocalView> || ...)
void bindLocalView (const TestRootLocalView &testLocalView)
 
template<class AnsatzRootLocalView >
requires (Dune::Assembler::Concepts::BindableToOutsideLocalView<LocalAssemblers, AnsatzRootLocalView> || ...)
void bindOutsideLocalView (const AnsatzRootLocalView &ansatzLocalView)
 
template<class Element , class LocalVector >
requires (Impl::HasAssembleElementVector<LocalAssemblers, Element> || ...)
void assembleElementVector (const Element &element, LocalVector &localVector)
 
template<class Intersection , class LocalVector >
requires (Impl::HasAssembleBoundaryIntersectionVector<LocalAssemblers, Intersection> || ...)
void assembleBoundaryIntersectionVector (const Intersection &intersection, LocalVector &localVector)
 
template<class Intersection , class LocalVector >
requires (Impl::HasAssembleInteriorIntersectionVector<LocalAssemblers, Intersection> || ...)
void assembleInteriorIntersectionVector (const Intersection &intersection, LocalVector &localVector)
 
template<class TestLocalView , class AnsatzLocalView >
void preprocess (const TestLocalView &testLocalView, const AnsatzLocalView &ansatzLocalView)
 
template<class LocalContext , class LocalMatrix , class TestLocalView , class AnsatzLocalView >
void operator() (const LocalContext &localContext, LocalMatrix &localMatrix, const TestLocalView &testSubspaceLocalView, const AnsatzLocalView &ansatzSubspaceLocalView)
 
template<class TestLocalView >
void preprocess (const TestLocalView &testLocalView)
 
template<class LocalContext , class LocalVector , class TestLocalView >
void operator() (const LocalContext &localContext, LocalVector &localVector, const TestLocalView &testSubspaceLocalView)
 
const auto & assemblers () const
 

Detailed Description

template<class... LocalAssemblers>
class Dune::Fufem::Forms::LocalSumAssembler< LocalAssemblers >

Sum of local assemblers obtained using Dune::Fufem::Forms::integrate(...)

Template Parameters
LocalAssemblersThe summand assemblers

This assembler chains multiple local assemblers for a form of the same arity. While the assemblers must either be all linear or all bilinear, it is fine to mix bulk and boundary assemblers.

LocalSumAssembler's are obtained when chaining local assembles using operator+. It is also possible to chain LocalSumAssembler's.

Constructor & Destructor Documentation

◆ LocalSumAssembler()

template<class... LocalAssemblers>
Dune::Fufem::Forms::LocalSumAssembler< LocalAssemblers >::LocalSumAssembler ( const LocalAssemblers &...  localAssemblers)
inline

Member Function Documentation

◆ assembleBoundaryIntersectionMatrix()

template<class... LocalAssemblers>
template<class Intersection , class LocalMatrix >
requires (Impl::HasAssembleBoundaryIntersectionMatrix<LocalAssemblers, Intersection> || ...)
void Dune::Fufem::Forms::LocalSumAssembler< LocalAssemblers >::assembleBoundaryIntersectionMatrix ( const Intersection intersection,
LocalMatrix &  localMatrix 
)
inline

◆ assembleBoundaryIntersectionMatrixPattern()

template<class... LocalAssemblers>
template<class Intersection , class LocalPattern >
requires (Impl::HasAssembleBoundaryIntersectionMatrix<LocalAssemblers, Intersection> || ...)
void Dune::Fufem::Forms::LocalSumAssembler< LocalAssemblers >::assembleBoundaryIntersectionMatrixPattern ( const Intersection intersection,
LocalPattern &  localPattern 
)
inline

◆ assembleBoundaryIntersectionVector()

template<class... LocalAssemblers>
template<class Intersection , class LocalVector >
requires (Impl::HasAssembleBoundaryIntersectionVector<LocalAssemblers, Intersection> || ...)
void Dune::Fufem::Forms::LocalSumAssembler< LocalAssemblers >::assembleBoundaryIntersectionVector ( const Intersection intersection,
LocalVector &  localVector 
)
inline

◆ assembleElementMatrix()

template<class... LocalAssemblers>
template<class Element , class LocalMatrix >
requires (Impl::HasAssembleElementMatrix<LocalAssemblers, Element> || ...)
void Dune::Fufem::Forms::LocalSumAssembler< LocalAssemblers >::assembleElementMatrix ( const Element &  element,
LocalMatrix &  localMatrix 
)
inline

◆ assembleElementMatrixPattern()

template<class... LocalAssemblers>
template<class Element , class LocalPattern >
requires (Impl::HasAssembleElementMatrix<LocalAssemblers, Element> || ...)
void Dune::Fufem::Forms::LocalSumAssembler< LocalAssemblers >::assembleElementMatrixPattern ( const Element &  element,
LocalPattern &  localPattern 
)
inline

◆ assembleElementVector()

template<class... LocalAssemblers>
template<class Element , class LocalVector >
requires (Impl::HasAssembleElementVector<LocalAssemblers, Element> || ...)
void Dune::Fufem::Forms::LocalSumAssembler< LocalAssemblers >::assembleElementVector ( const Element &  element,
LocalVector &  localVector 
)
inline

◆ assembleInteriorIntersectionMatrix()

template<class... LocalAssemblers>
template<class Intersection , class LocalMatrix >
requires (Impl::HasAssembleInteriorIntersectionMatrix<LocalAssemblers, Intersection> || ...)
void Dune::Fufem::Forms::LocalSumAssembler< LocalAssemblers >::assembleInteriorIntersectionMatrix ( const Intersection intersection,
LocalMatrix &  localMatrix 
)
inline

◆ assembleInteriorIntersectionMatrixPattern()

template<class... LocalAssemblers>
template<class Intersection , class LocalPattern >
requires (Impl::HasAssembleInteriorIntersectionMatrix<LocalAssemblers, Intersection> || ...)
void Dune::Fufem::Forms::LocalSumAssembler< LocalAssemblers >::assembleInteriorIntersectionMatrixPattern ( const Intersection intersection,
LocalPattern &  localPattern 
)
inline

◆ assembleInteriorIntersectionVector()

template<class... LocalAssemblers>
template<class Intersection , class LocalVector >
requires (Impl::HasAssembleInteriorIntersectionVector<LocalAssemblers, Intersection> || ...)
void Dune::Fufem::Forms::LocalSumAssembler< LocalAssemblers >::assembleInteriorIntersectionVector ( const Intersection intersection,
LocalVector &  localVector 
)
inline

◆ assemblers()

template<class... LocalAssemblers>
const auto & Dune::Fufem::Forms::LocalSumAssembler< LocalAssemblers >::assemblers ( ) const
inline

◆ bindElement()

template<class... LocalAssemblers>
template<class Element >
void Dune::Fufem::Forms::LocalSumAssembler< LocalAssemblers >::bindElement ( const Element &  element)
inline

◆ bindLocalView()

template<class... LocalAssemblers>
template<class TestRootLocalView >
requires (Dune::Assembler::Concepts::BindableToLocalView<LocalAssemblers, TestRootLocalView> || ...)
void Dune::Fufem::Forms::LocalSumAssembler< LocalAssemblers >::bindLocalView ( const TestRootLocalView &  testLocalView)
inline

◆ bindLocalViews()

template<class... LocalAssemblers>
template<class TestRootLocalView , class AnsatzRootLocalView >
requires (Dune::Assembler::Concepts::BindableToLocalViews<LocalAssemblers, TestRootLocalView, AnsatzRootLocalView> || ...)
void Dune::Fufem::Forms::LocalSumAssembler< LocalAssemblers >::bindLocalViews ( const TestRootLocalView &  testLocalView,
const AnsatzRootLocalView &  ansatzLocalView 
)
inline

◆ bindOutsideLocalView()

template<class... LocalAssemblers>
template<class AnsatzRootLocalView >
requires (Dune::Assembler::Concepts::BindableToOutsideLocalView<LocalAssemblers, AnsatzRootLocalView> || ...)
void Dune::Fufem::Forms::LocalSumAssembler< LocalAssemblers >::bindOutsideLocalView ( const AnsatzRootLocalView &  ansatzLocalView)
inline

◆ bindOutsideLocalViews()

template<class... LocalAssemblers>
template<class TestRootLocalView , class AnsatzRootLocalView >
requires (Dune::Assembler::Concepts::BindableToOutsideLocalViews<LocalAssemblers, TestRootLocalView, AnsatzRootLocalView> || ...)
void Dune::Fufem::Forms::LocalSumAssembler< LocalAssemblers >::bindOutsideLocalViews ( const TestRootLocalView &  testLocalView,
const AnsatzRootLocalView &  ansatzLocalView 
)
inline

◆ operator()() [1/2]

template<class... LocalAssemblers>
template<class LocalContext , class LocalMatrix , class TestLocalView , class AnsatzLocalView >
void Dune::Fufem::Forms::LocalSumAssembler< LocalAssemblers >::operator() ( const LocalContext &  localContext,
LocalMatrix &  localMatrix,
const TestLocalView &  testSubspaceLocalView,
const AnsatzLocalView &  ansatzSubspaceLocalView 
)
inline

◆ operator()() [2/2]

template<class... LocalAssemblers>
template<class LocalContext , class LocalVector , class TestLocalView >
void Dune::Fufem::Forms::LocalSumAssembler< LocalAssemblers >::operator() ( const LocalContext &  localContext,
LocalVector &  localVector,
const TestLocalView &  testSubspaceLocalView 
)
inline

◆ preprocess() [1/2]

template<class... LocalAssemblers>
template<class TestLocalView >
void Dune::Fufem::Forms::LocalSumAssembler< LocalAssemblers >::preprocess ( const TestLocalView &  testLocalView)
inline

◆ preprocess() [2/2]

template<class... LocalAssemblers>
template<class TestLocalView , class AnsatzLocalView >
void Dune::Fufem::Forms::LocalSumAssembler< LocalAssemblers >::preprocess ( const TestLocalView &  testLocalView,
const AnsatzLocalView &  ansatzLocalView 
)
inline

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