AMDiS  0.1
The Adaptive Multi-Dimensional Simulation Toolbox
Assembler< Traits, Operator, Nodes > Class Template Reference

Implementation of interface AssemblerBase. More...

#include <Assembler.hpp>

Inherits AssemblerInterface< Traits, Nodes... >.

Public Member Functions

 Assembler (Operator const &op)
 Constructor. Stores a copy of operator op.
 Assembler (Operator &&op)
 Constructor. Stores a copy of operator op.
 Assembler (std::reference_wrapper< Operator > op)
 Constructor. Stores the reference to the operator.
void bind (Element const &element, Geometry const &geometry) final
 Implementation of AssemblerInterface::bind. More...
void unbind () final
 Implementation of AssemblerBase::unbind. More...
void assemble (LocalContext const &localContext, Nodes const &... nodes, ElementContainer &ElementContainer) final
 Implementation of AssemblerBase::assemble. More...
Element const & element () const
 return the bound entity (of codim 0)
Geometry const & geometry () const
 return the geometry of the bound element
- Public Member Functions inherited from AssemblerInterface< Traits, Nodes... >
virtual ~AssemblerInterface ()=default
 Virtual destructor.
virtual void bind (Element const &element, Geometry const &geometry)=0
 Bind the local-assembler to the grid-element with its corresponding geometry.
virtual void assemble (typename Traits::LocalContext const &localContext, Nodes const &... nodes, typename Traits::ElementContainer &elementMatrixVector)=0
 Assemble an element matrix or element vector on the test- (and trial-) function node(s)

Protected Member Functions

template<class CG , class RN , class CN , class Mat >
void assembleImpl (CG const &contextGeo, RN const &rowNode, CN const &colNode, Mat &elementMatrix)
template<class CG , class Node , class Vec >
void assembleImpl (CG const &contextGeo, Node const &node, Vec &elementVector)

Additional Inherited Members

- Public Types inherited from AssemblerInterface< Traits, Nodes... >
using Element = typename ContextType::Entity
 The codim=0 grid entity.
using Geometry = typename Element::Geometry
 The geometry of the Element.
- Static Public Attributes inherited from AssemblerInterface< Traits, Nodes... >
static constexpr int numNodes

Detailed Description

template<class Traits, class Operator, class... Nodes>
class AMDiS::Assembler< Traits, Operator, Nodes >

Implementation of interface AssemblerBase.

Template Parameters
TraitsSee DefaultAssemblerTraits

Member Function Documentation

◆ assemble()

void assemble ( LocalContext const &  localContext,
Nodes const &...  nodes,
ElementContainer &  ElementContainer 

Implementation of AssemblerBase::assemble.

Stores geometry and localGeometry and calls calculateElementVector or calculateElementMatrix on the vector or matrix operator, respectively.

References Assembler< Traits, Operator, Nodes >::element(), and Assembler< Traits, Operator, Nodes >::geometry().

◆ bind()

void bind ( Element const &  element,
Geometry const &  geometry 

Implementation of AssemblerInterface::bind.

Binds the operator op_ to the element and geometry and stores point to the element and geometry.

References Assembler< Traits, Operator, Nodes >::element(), and Assembler< Traits, Operator, Nodes >::geometry().

◆ unbind()

void unbind ( )

Implementation of AssemblerBase::unbind.

Unbinds the operator op_ and sets element_ and geometry_ to nullptr.

Implements AssemblerInterface< Traits, Nodes... >.

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