DUNE PDELab (git)

Dune::PDELab::BlockDiagonalLocalOperatorWrapper< LocalOperator > Class Template Reference

A local operator that accumulates the block diagonal. More...

#include <dune/pdelab/localoperator/blockdiagonalwrapper.hh>

Public Types

Flags selective assembly
enum  
 Whether to do selective assembly on the elements, i.e. whether or not skip_entity() should be called.
 
enum  
 Whether to do selective assembly on the intersections, i.e. whether or not skip_intersection() should be called.
 
Flags for the sparsity pattern
enum  
 Whether to assemble the pattern on the elements, i.e. whether or not pattern_volume() should be called.
 
enum  
 Whether to assemble the pattern on the elements after the skeleton has been handled, i.e. whether or not pattern_volume_post_skeleton() should be called.
 
enum  
 Whether to assemble the pattern on the interior intersections, i.e. whether or not pattern_skeleton() should be called.
 
enum  
 Whether to assemble the pattern on the boundary intersections, i.e. whether or not pattern_boundary() should be called.
 
Flags for the non-constant part of the residual and the jacobian
enum  
 Whether to call the local operator's alpha_volume(), jacobian_apply_volume() and jacobian_volume().
 
enum  
 Whether to call the local operator's alpha_volume_post_skeleton(), jacobian_apply_volume_post_skeleton() and jacobian_volume_post_skeleton().
 
enum  
 Whether to call the local operator's alpha_skeleton(), jacobian_apply_skeleton() and jacobian_skeleton().
 
enum  
 Whether to call the local operator's alpha_boundary(), jacobian_apply_boundary() and jacobian_boundary().
 
Flags for the constant part of the residual
enum  
 Whether to call the local operator's lambda_volume().
 
enum  
 Whether to call the local operator's lambda_volume_post_skeleton().
 
enum  
 Whether to call the local operator's lambda_skeleton().
 
enum  
 Whether to call the local operator's lambda_boundary().
 
Special flags
enum  
 Whether to visit the skeleton methods from both sides.
 
enum  
 Wheter the local operator describes a linear problem.
 

Public Member Functions

 BlockDiagonalLocalOperatorWrapper (const LocalOperator &localOperator)
 Construct new instance of class. More...
 
 BlockDiagonalLocalOperatorWrapper (const BlockDiagonalLocalOperatorWrapper &other)
 Copy constructor.
 

Detailed Description

template<class LocalOperator>
class Dune::PDELab::BlockDiagonalLocalOperatorWrapper< LocalOperator >

A local operator that accumulates the block diagonal.

This makes only sense for methods that have a block structure like Discontinuous Galerking methods or Finite Vvolume methods. For those the resulting operator assembles only the diagonal blocks when the jacobian methods are called.

Note: This operator does skeletons in a one sided fashion. This means that every skeleton-intersection is visited twice for assembling the whole block diagonal. Once from one side and once from the other. This behavior is needed for the implementation of matrix-free block preconditioners.

Template Parameters

in] LocalOperator Type of the local operator that gets wrapped

Constructor & Destructor Documentation

◆ BlockDiagonalLocalOperatorWrapper()

template<class LocalOperator >
Dune::PDELab::BlockDiagonalLocalOperatorWrapper< LocalOperator >::BlockDiagonalLocalOperatorWrapper ( const LocalOperator &  localOperator)
inline

Construct new instance of class.

Parameters
[in]_localOperatorWrapped local operator instance

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 24, 23:30, 2024)