|
dune-assembler 2.12
|
#include <dune/assembler/archetypes/localboundaryintersectionmatrixassembler.hh>
Public Types | |
| using | GridView = typename RowLocalView::GridView |
| using | Element = typename GridView::template Codim< 0 >::Entity |
| using | Intersection = typename GridView::Intersection |
Public Member Functions | |
| void | bindLocalViews (const RowLocalView &rlv, const ColLocalView &clv) noexcept |
| void | bindElement (const Element &e) noexcept |
| template<Concepts::Matrix LocalMatrix> | |
| void | assembleBoundaryIntersectionMatrix (const Intersection &is, LocalMatrix &m) noexcept |
| template<Concepts::LocalMatrixPattern LocalPattern> | |
| void | assembleBoundaryIntersectionMatrixPattern (const Intersection &is, LocalPattern &p) noexcept |
Detailed Description
class Dune::Assembler::Concepts::Archetypes::LocalBoundaryIntersectionMatrixAssembler< RowLocalView, ColLocalView >
Local assembler of a linear Matrix on a boundary intersection.
- Template Parameters
-
RowLocalView Type of the local view associated to the test space. ColLocalView Type of the local view associated to the trial space.
Requirements:
RowLocalViewis a model of Concepts::LocalView,ColLocalViewis a model of Concepts::LocalView.
Member Typedef Documentation
◆ Element
| using Dune::Assembler::Concepts::Archetypes::LocalBoundaryIntersectionMatrixAssembler< RowLocalView, ColLocalView >::Element = typename GridView::template Codim<0>::Entity |
◆ GridView
| using Dune::Assembler::Concepts::Archetypes::LocalBoundaryIntersectionMatrixAssembler< RowLocalView, ColLocalView >::GridView = typename RowLocalView::GridView |
◆ Intersection
| using Dune::Assembler::Concepts::Archetypes::LocalBoundaryIntersectionMatrixAssembler< RowLocalView, ColLocalView >::Intersection = typename GridView::Intersection |
Member Function Documentation
◆ assembleBoundaryIntersectionMatrix()
|
noexcept |
The matrix m is assumed to be large enough to be indexable by all local view indices. It is not guaranteed that the matrix has the exact size as the local views. It is not allowed to resize the matrix. The matrix is initialized and the assembler must only add its contributions to the matrix and not replace values.
- Parameters
-
is An intersection to assembler the local matrix on. m A matrix to be filled with the local element contributions.
- Note
- The local assembler implementation should allow flexible matrix types as argument.
- This function is called for all domain boundary intersections. It is not called for other inner or processor boundary intersections unless this assembler is also an intersection assembler.
-
The user might check
is.boundary()
[[pre: m.rows() == rowLocalView.size() && m.cols() == colLocalView.size()]] [[pre: bindElement was called before with current element]]
◆ assembleBoundaryIntersectionMatrixPattern()
|
noexcept |
Similar as assembleElementMatrix but for a local pattern instead of a matrix. The local pattern can be accessed by p.add(row,col). Additionally, it is possible to set a local pattern to be full, by p.addAll().
◆ bindElement()
|
noexcept |
When this function is called, the test and trial local views are already bound to this element. The lifetime of the passed element is longer than the lifetime of the local assembler.
- Parameters
-
e Grid element the local assembler can be bound to.
- Note
- This function is called for all boundary elements. It is not called for inner elements unless this assembler is also an element or intersection assembler.
-
The user might check
e.hasBoundaryIntersections()
[[pre: rowLocalView.bound() && colLocalView.bound()]]
◆ bindLocalViews()
|
noexcept |
This function is called typically before the elements of the grid are traversed. Thus, the local views are not necessarily bound to any element. The lifetime of the passed local view is longer than the lifetime of the local assembler.
- Parameters
-
rlv A local view of the test space clv A local view of the trial space
The documentation for this class was generated from the following file:
Legal Statements / Impressum | Hosted by TU Dresden & Uni Heidelberg | Generated by
1.9.8