DUNE PDELab (git)

Dune::PDELab::LocalAssemblerBase< B, CU, CV > Class Template Reference

Base class for local assembler. More...

#include <dune/pdelab/gridoperator/common/assemblerutilities.hh>

Public Member Functions

 LocalAssemblerBase ()
 construct AssemblerSpace
 
 LocalAssemblerBase (const CU &cu, const CV &cv)
 construct AssemblerSpace, with constraints
 
const CU & trialConstraints () const
 get the constraints on the trial grid function space
 
const CV & testConstraints () const
 get the constraints on the test grid function space
 
template<typename X >
std::enable_if< AlwaysTrue< X >::value &&!std::is_same< CV, EmptyTransformation >::value >::type forwardtransform (X &x, const bool postrestrict=false) const
 Transforms a vector \( \boldsymbol{x} \) from \( V\) to \( V'\). If postrestrict == true then \(\boldsymbol{R}^T_{\boldsymbol{\tilde U}', \boldsymbol{U}'} \boldsymbol{S}_{\boldsymbol{\tilde V}}\) is applied instead of the full transformation.

 
template<typename X >
std::enable_if< AlwaysTrue< X >::value &&!std::is_same< CV, EmptyTransformation >::value >::type backtransform (X &x, const bool prerestrict=false) const
 Transforms a vector \( \boldsymbol{x} \) from \( V'\) to \( V\). If prerestrict == true then \(\boldsymbol{S}^T_{\boldsymbol{\tilde U}}\) is applied instead of the full transformation.

 

Protected Member Functions

template<typename GCView , typename T >
void eread (const GCView &globalcontainer_view, LocalMatrix< T > &localcontainer) const
 read local stiffness matrix for entity
 
template<typename T , typename GCView >
void ewrite (const LocalMatrix< T > &localcontainer, GCView &globalcontainer_view) const
 write local stiffness matrix for entity
 
template<typename T , typename GCView >
void eadd (const LocalMatrix< T > &localcontainer, GCView &globalcontainer_view) const
 write local stiffness matrix for entity
 
template<typename M , typename GCView >
std::enable_if< AlwaysTrue< M >::value &&!std::is_same< CV, EmptyTransformation >::value >::type scatter_jacobian (M &local_container, GCView &global_container_view, bool symmetric_mode) const
 Scatter local jacobian to global container.
 
template<typename M , typename GCView >
void etadd_symmetric (M &localcontainer, GCView &globalcontainer_view) const
 Add local matrix to global matrix, and apply Dirichlet constraints in a symmetric fashion. Apart from that, identical to etadd().
 
template<typename P , typename LFSVIndices , typename LFSUIndices , typename Index >
void add_entry (P &globalpattern, const LFSVIndices &lfsv_indices, Index i, const LFSUIndices &lfsu_indices, Index j) const
 Adding matrix entry to pattern with respect to the constraints contributions. This assembles the entries addressed by etadd(..). See the documentation there for more information about the matrix pattern.
 
template<typename GFSV , typename GC , typename C >
void set_trivial_rows (const GFSV &gfsv, GC &globalcontainer, const C &c) const
 insert dirichlet constraints for row and assemble T^T_U in constrained rows
 

Detailed Description

template<typename B, typename CU = EmptyTransformation, typename CV = EmptyTransformation>
class Dune::PDELab::LocalAssemblerBase< B, CU, CV >

Base class for local assembler.

This class provides some generic behavior required for local assembler implementations. This includes the access of the global vectors and matrices via local indices and local function spaces with regard to the constraint mappings.

Template Parameters
BThe matrix backend
CUConstraints maps for the individual dofs (trial space)
CVConstraints maps for the individual dofs (test space)

The documentation for this class was generated from the following file:
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.111.3 (Nov 23, 23:29, 2024)