dune-assembler 2.12
Loading...
Searching...
No Matches
Dune::Assembler::Assembler< RowBasis, ColBasis, Executor > Struct Template Reference

A global assembler for assembling matrices and vectors. More...

#include <dune/assembler/defaultglobalassembler.hh>

Public Types

using RowLocalView = typename RowBasis::LocalView
 
using ColLocalView = typename ColBasis::LocalView
 

Public Member Functions

 Assembler (const RowBasis &rowBasis, const ColBasis &colBasis, Executor executor)
 Construct global assembler.
 
 Assembler (const RowBasis &rowBasis, const ColBasis &colBasis)
 Construct global assembler.
 
 Assembler (const RowBasis &rowBasis)
 Construct global assembler.
 
template<Concepts::LocalMatrixAssembler< RowLocalView, ColLocalView > LocalAssembler, class Matrix >
void assembleMatrixEntries (LocalAssembler &la, Matrix &matrix)
 
template<Concepts::LocalMatrixAssembler< RowLocalView, ColLocalView > LocalAssembler, class MatrixPattern >
void assembleMatrixPattern (LocalAssembler &la, MatrixPattern &matrixPattern)
 
template<Concepts::LocalVectorAssembler< typename RowBasis::LocalView > LocalAssembler, class Vector >
void assembleVectorEntries (LocalAssembler &la, Vector &vector)
 

Static Public Attributes

template<class LA >
static constexpr bool isLocalElementMatrixAssembler
 
template<class LA >
static constexpr bool isLocalElementVectorAssembler
 
template<class LA >
static constexpr bool isLocalInteriorIntersectionMatrixAssembler
 
template<class LA >
static constexpr bool isLocalInteriorIntersectionVectorAssembler
 
template<class LA >
static constexpr bool isLocalBoundaryIntersectionMatrixAssembler
 
template<class LA >
static constexpr bool isLocalBoundaryIntersectionVectorAssembler
 

Detailed Description

template<Concepts::GlobalBasis RowBasis, Concepts::GlobalBasis ColBasis = RowBasis, class Executor = SequentialExecutor>
struct Dune::Assembler::Assembler< RowBasis, ColBasis, Executor >

A global assembler for assembling matrices and vectors.

Template Parameters
RowBasisType of global basis the rows are associated to
ColBasisType of global basis the columns are associated to (defaults to RowBasis)
ExecutorType of the executor to be used for element loops (defaults to SequentialExecutor)

Using std::reference_wrapper<E> as Executor, where E is the actual exeucutor implementation, is supported.

Note
Using anything else than SequentialExecutor as Executor is experimental and the interface for an Executor may change without a warning or deprecation.

Member Typedef Documentation

◆ ColLocalView

template<Concepts::GlobalBasis RowBasis, Concepts::GlobalBasis ColBasis = RowBasis, class Executor = SequentialExecutor>
using Dune::Assembler::Assembler< RowBasis, ColBasis, Executor >::ColLocalView = typename ColBasis::LocalView

◆ RowLocalView

template<Concepts::GlobalBasis RowBasis, Concepts::GlobalBasis ColBasis = RowBasis, class Executor = SequentialExecutor>
using Dune::Assembler::Assembler< RowBasis, ColBasis, Executor >::RowLocalView = typename RowBasis::LocalView

Constructor & Destructor Documentation

◆ Assembler() [1/3]

template<Concepts::GlobalBasis RowBasis, Concepts::GlobalBasis ColBasis = RowBasis, class Executor = SequentialExecutor>
Dune::Assembler::Assembler< RowBasis, ColBasis, Executor >::Assembler ( const RowBasis &  rowBasis,
const ColBasis &  colBasis,
Executor  executor 
)
inline

Construct global assembler.

Parameters
rowBasisGlobal basis the rows are associated to
ColBasisGlobal basis the columns are associated to
executorThe executor to be used for element loops (will be stored by value)

Passing std::cref(e) as executor, where e is the actual exeucutor implementation, is supported.

Note
Using anything else than SequentialExecutor as Executor is experimental and the interface for an Executor may change without a warning or deprecation.

◆ Assembler() [2/3]

template<Concepts::GlobalBasis RowBasis, Concepts::GlobalBasis ColBasis = RowBasis, class Executor = SequentialExecutor>
Dune::Assembler::Assembler< RowBasis, ColBasis, Executor >::Assembler ( const RowBasis &  rowBasis,
const ColBasis &  colBasis 
)
inline

Construct global assembler.

Parameters
rowBasisGlobal basis the rows are associated to
ColBasisGlobal basis the columns are associated to
Note
This uses a default constructed Executor which is fine for the default Executor type SequentialExecutor.

◆ Assembler() [3/3]

template<Concepts::GlobalBasis RowBasis, Concepts::GlobalBasis ColBasis = RowBasis, class Executor = SequentialExecutor>
Dune::Assembler::Assembler< RowBasis, ColBasis, Executor >::Assembler ( const RowBasis &  rowBasis)
inline

Construct global assembler.

Parameters
rowBasisGlobal basis the rows and columns are associated to
Note
This uses the same basis for rows and columns and a default constructed Executor which is fine for the default Executor type SequentialExecutor.

Member Function Documentation

◆ assembleMatrixEntries()

template<Concepts::GlobalBasis RowBasis, Concepts::GlobalBasis ColBasis = RowBasis, class Executor = SequentialExecutor>
template<Concepts::LocalMatrixAssembler< RowLocalView, ColLocalView > LocalAssembler, class Matrix >
void Dune::Assembler::Assembler< RowBasis, ColBasis, Executor >::assembleMatrixEntries ( LocalAssembler< RowBasis, ColBasis, Executor > &  la,
Matrix &  matrix 
)
inline

◆ assembleMatrixPattern()

template<Concepts::GlobalBasis RowBasis, Concepts::GlobalBasis ColBasis = RowBasis, class Executor = SequentialExecutor>
template<Concepts::LocalMatrixAssembler< RowLocalView, ColLocalView > LocalAssembler, class MatrixPattern >
void Dune::Assembler::Assembler< RowBasis, ColBasis, Executor >::assembleMatrixPattern ( LocalAssembler< RowBasis, ColBasis, Executor > &  la,
MatrixPattern &  matrixPattern 
)
inline

◆ assembleVectorEntries()

template<Concepts::GlobalBasis RowBasis, Concepts::GlobalBasis ColBasis = RowBasis, class Executor = SequentialExecutor>
template<Concepts::LocalVectorAssembler< typename RowBasis::LocalView > LocalAssembler, class Vector >
void Dune::Assembler::Assembler< RowBasis, ColBasis, Executor >::assembleVectorEntries ( LocalAssembler< RowBasis, ColBasis, Executor > &  la,
Vector &  vector 
)
inline

Member Data Documentation

◆ isLocalBoundaryIntersectionMatrixAssembler

template<Concepts::GlobalBasis RowBasis, Concepts::GlobalBasis ColBasis = RowBasis, class Executor = SequentialExecutor>
template<class LA >
constexpr bool Dune::Assembler::Assembler< RowBasis, ColBasis, Executor >::isLocalBoundaryIntersectionMatrixAssembler
staticconstexpr

◆ isLocalBoundaryIntersectionVectorAssembler

template<Concepts::GlobalBasis RowBasis, Concepts::GlobalBasis ColBasis = RowBasis, class Executor = SequentialExecutor>
template<class LA >
constexpr bool Dune::Assembler::Assembler< RowBasis, ColBasis, Executor >::isLocalBoundaryIntersectionVectorAssembler
staticconstexpr

◆ isLocalElementMatrixAssembler

template<Concepts::GlobalBasis RowBasis, Concepts::GlobalBasis ColBasis = RowBasis, class Executor = SequentialExecutor>
template<class LA >
constexpr bool Dune::Assembler::Assembler< RowBasis, ColBasis, Executor >::isLocalElementMatrixAssembler
staticconstexpr

◆ isLocalElementVectorAssembler

template<Concepts::GlobalBasis RowBasis, Concepts::GlobalBasis ColBasis = RowBasis, class Executor = SequentialExecutor>
template<class LA >
constexpr bool Dune::Assembler::Assembler< RowBasis, ColBasis, Executor >::isLocalElementVectorAssembler
staticconstexpr

◆ isLocalInteriorIntersectionMatrixAssembler

template<Concepts::GlobalBasis RowBasis, Concepts::GlobalBasis ColBasis = RowBasis, class Executor = SequentialExecutor>
template<class LA >
constexpr bool Dune::Assembler::Assembler< RowBasis, ColBasis, Executor >::isLocalInteriorIntersectionMatrixAssembler
staticconstexpr

◆ isLocalInteriorIntersectionVectorAssembler

template<Concepts::GlobalBasis RowBasis, Concepts::GlobalBasis ColBasis = RowBasis, class Executor = SequentialExecutor>
template<class LA >
constexpr bool Dune::Assembler::Assembler< RowBasis, ColBasis, Executor >::isLocalInteriorIntersectionVectorAssembler
staticconstexpr

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