DUNE PDELab (2.8)
The fast DG local assembler engine for DUNE grids which creates the matrix pattern. More...
#include <dune/pdelab/gridoperator/fastdg/patternengine.hh>
Public Member Functions | |
FastDGLocalPatternAssemblerEngine (const LocalAssembler &local_assembler_, std::shared_ptr< typename LA::Traits::BorderDOFExchanger > border_dof_exchanger) | |
Constructor. More... | |
const LocalAssembler & | localAssembler () const |
Public access to the wrapping local assembler. | |
const LocalAssembler::Traits::TrialGridFunctionSpaceConstraints & | trialConstraints () const |
Trial space constraints. | |
const LocalAssembler::Traits::TestGridFunctionSpaceConstraints & | testConstraints () const |
Test space constraints. | |
void | setPattern (Pattern &pattern_) |
template<typename EG > | |
bool | skipEntity (const EG &eg) |
template<typename IG > | |
bool | skipIntersection (const IG &ig) |
bool | requireSkeleton () const |
template<typename EG , typename LFSUC , typename LFSVC > | |
void | onUnbindLFSUV (const EG &eg, const LFSUC &lfsu_cache, const LFSVC &lfsv_cache) |
Query methods - return false by default | |
bool | requireSkeletonTwoSided () const |
bool | requireVVolume () const |
bool | requireVSkeleton () const |
bool | requireVBoundary () const |
bool | requireUVProcessor () const |
bool | requireVProcessor () const |
bool | requireUVEnrichedCoupling () const |
bool | requireVEnrichedCoupling () const |
bool | requireVVolumePostSkeleton () const |
Callbacks for LocalFunctionSpace binding and unbinding events | |
template<typename EG , typename LFSU , typename LFSV > | |
void | onBindLFSUV (const EG &eg, const LFSU &lfsu, const LFSV &lfsv) |
template<typename EG , typename LFSV > | |
void | onBindLFSV (const EG &eg, const LFSV &lfsv) |
template<typename EG , typename LFSU , typename LFSV > | |
void | onUnbindLFSUV (const EG &eg, const LFSU &lfsu, const LFSV &lfsv) |
template<typename EG , typename LFSV_S > | |
void | onUnbindLFSV (const EG &eg, const LFSV_S &lfsv_s) |
template<typename IG , typename LFSU , typename LFSV > | |
void | onBindLFSUVInside (const IG &ig, const LFSU &lfsu, const LFSV &lfsv) |
template<typename IG , typename LFSV > | |
void | onBindLFSVInside (const IG &ig, const LFSV &lfsv) |
template<typename IG , typename LFSU , typename LFSV > | |
void | onUnbindLFSUVInside (const IG &ig, const LFSU &lfsu, const LFSV &lfsv) |
template<typename IG , typename LFSV_S > | |
void | onUnbindLFSVInside (const IG &ig, const LFSV_S &lfsv_s) |
template<typename IG , typename LFSU_S , typename LFSV_S , typename LFSU_N , typename LFSV_N > | |
void | onBindLFSUVOutside (const IG &ig, const LFSU_S &lfsu_s, const LFSV_S &lfsv_s, const LFSU_N &lfsu_n, const LFSV_N &lfsv_n) |
template<typename IG , typename LFSV_S , typename LFSV_N > | |
void | onBindLFSVOutside (const IG &ig, const LFSV_S &lfsv_s, const LFSV_N &lfsv_n) |
template<typename IG , typename LFSU_S , typename LFSV_S , typename LFSU_N , typename LFSV_N > | |
void | onUnbindLFSUVOutside (const IG &ig, const LFSU_S &lfsu_s, const LFSV_S &lfsv_s, const LFSU_N &lfsu_n, const LFSV_N &lfsv_n) |
template<typename IG , typename LFSV_S , typename LFSV_N > | |
void | onUnbindLFSVOutside (const IG &ig, const LFSV_S &lfsv_s, const LFSV_N &lfsv_n) |
template<typename IG , typename LFSU_S , typename LFSV_S , typename LFSU_N , typename LFSV_N , typename LFSU_C , typename LFSV_C > | |
void | onBindLFSUVCoupling (const IG &ig, const LFSU_S &lfsu_s, const LFSV_S &lfsv_s, const LFSU_N &lfsu_n, const LFSV_N &lfsv_n, const LFSU_C &lfsu_c, const LFSV_C &lfsv_c) |
template<typename IG , typename LFSV_S , typename LFSV_N , typename LFSV_C > | |
void | onBindLFSVCoupling (const IG &ig, const LFSV_S &lfsv_s, const LFSV_N &lfsv_n, const LFSV_C &lfsv_c) |
template<typename IG , typename LFSU_S , typename LFSV_S , typename LFSU_N , typename LFSV_N , typename LFSU_C , typename LFSV_C > | |
void | onUnbindLFSUVCoupling (const IG &ig, const LFSU_S &lfsu_s, const LFSV_S &lfsv_s, const LFSU_N &lfsu_n, const LFSV_N &lfsv_n, const LFSU_C &lfsu_c, const LFSV_C &lfsv_c) |
template<typename IG , typename LFSV_S , typename LFSV_N , typename LFSV_C > | |
void | onUnbindLFSVCoupling (const IG &ig, const LFSV_S &lfsv_s, const LFSV_N &lfsv_n, const LFSV_C &lfsv_c) |
template<typename LFSU > | |
void | loadCoefficientsLFSUInside (const LFSU &lfsu_s) |
template<typename LFSU_N > | |
void | loadCoefficientsLFSUOutside (const LFSU_N &lfsu_n) |
template<typename LFSU_C > | |
void | loadCoefficientsLFSUCoupling (const LFSU_C &lfsu_c) |
Assembly methods | |
template<typename EG > | |
bool | assembleCell (const EG &eg) |
Deprecated. Use skipEntity insted. | |
template<typename EG , typename LFSU , typename LFSV > | |
void | assembleUVVolume (const EG &eg, const LFSU &lfsu, const LFSV &lfsv) |
template<typename EG , typename LFSV > | |
void | assembleVVolume (const EG &eg, const LFSV &lfsv) |
template<typename IG , typename LFSU_S , typename LFSV_S , typename LFSU_N , typename LFSV_N > | |
void | assembleUVSkeleton (const IG &ig, const LFSU_S &lfsu_s, const LFSV_S &lfsv_s, const LFSU_N &lfsu_n, const LFSV_N &lfsv_n) |
template<typename IG , typename LFSV_S , typename LFSV_N > | |
void | assembleVSkeleton (const IG &ig, const LFSV_S &lfsv_s, const LFSV_N &lfsv_n) |
template<typename IG , typename LFSU , typename LFSV > | |
void | assembleUVBoundary (const IG &ig, const LFSU &lfsu, const LFSV &lfsv) |
template<typename IG , typename LFSV > | |
void | assembleVBoundary (const IG &ig, const LFSV &lfsv) |
template<typename IG , typename LFSU , typename LFSV > | |
void | assembleUVProcessor (const IG &ig, const LFSU &lfsu, const LFSV &lfsv) |
template<typename IG , typename LFSV > | |
void | assembleVProcessor (const IG &ig, const LFSV &lfsv) |
template<typename IG , typename LFSU_S , typename LFSV_S , typename LFSU_N , typename LFSV_N , typename LFSU_C , typename LFSV_C > | |
void | assembleUVEnrichedCoupling (const IG &ig, const LFSU_S &lfsu_s, const LFSV_S &lfsv_s, const LFSU_N &lfsu_n, const LFSV_N &lfsv_n, const LFSU_C &lfsu_c, const LFSV_C &lfsv_c) |
template<typename IG , typename LFSV_S , typename LFSV_N , typename LFSV_C > | |
void | assembleVEnrichedCoupling (const IG &ig, const LFSV_S &lfsv_s, const LFSV_N &lfsv_n, const LFSV_C &lfsv_c) |
template<typename EG , typename LFSU , typename LFSV > | |
void | assembleUVVolumePostSkeleton (const EG &eg, const LFSU &lfsu, const LFSV &lfsv) |
template<typename EG , typename LFSV > | |
void | assembleVVolumePostSkeleton (const EG &eg, const LFSV &lfsv) |
Global assembly preparation and finalization methods | |
void | preAssembly () |
template<typename GFSU , typename GFSV > | |
void | postAssembly (const GFSU &gfsu, const GFSV &gfsv) |
template<typename EG , typename LFSUC , typename LFSVC > | |
void | assembleUVVolume (const EG &eg, const LFSUC &lfsu_cache, const LFSVC &lfsv_cache) |
Detailed Description
class Dune::PDELab::FastDGLocalPatternAssemblerEngine< LA >
The fast DG local assembler engine for DUNE grids which creates the matrix pattern.
- Template Parameters
-
LA The local assembler
Constructor & Destructor Documentation
◆ FastDGLocalPatternAssemblerEngine()
|
inline |
Constructor.
- Parameters
-
[in] local_assembler_ The local assembler object which creates this engine
Member Function Documentation
◆ assembleUVVolume()
|
inline |
Assembling methods
◆ onUnbindLFSUV()
|
inline |
Called when the local function space is about to be rebound or discarded
◆ requireSkeleton()
|
inline |
Query methods for the global grid assembler
◆ setPattern()
|
inline |
Set current residual vector. Should be called prior to assembling.
Referenced by Dune::PDELab::FastDGLocalAssembler< GO, LOP, nonoverlapping_mode >::localPatternAssemblerEngine().
◆ skipEntity()
|
inline |
Assemble on a given cell without function spaces.
- Returns
- If true, the assembling for this cell is assumed to be complete and the assembler continues with the next grid cell.
References Dune::PDELab::FastDGLocalPatternAssemblerEngine< LA >::localAssembler().
◆ skipIntersection()
|
inline |
Assemble on a given intersection without function spaces.
- Returns
- If true, the assembling for this intersection is assumed to be complete and the assembler continues with the next grid intersection.
References Dune::PDELab::FastDGLocalPatternAssemblerEngine< LA >::localAssembler().
The documentation for this class was generated from the following file:
- dune/pdelab/gridoperator/fastdg/patternengine.hh