DUNE PDELab (git)

Dune::PDELab::BlockDiagonalLocalOperatorFullCoupling< ScalarLOP > Class Template Reference

Block diagonal extension of scalar local operator. More...

#include <dune/pdelab/localoperator/blockdiagonal.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

 BlockDiagonalLocalOperatorFullCoupling (const std::shared_ptr< ScalarLOP > &scalar_lop)
 Constructs the adapter by wrapping an existing shared_ptr to the scalar operator.
 
 BlockDiagonalLocalOperatorFullCoupling (std::shared_ptr< ScalarLOP > &scalar_lop)
 Constructs the adapter by wrapping an existing shared_ptr to the scalar operator.
 
template<typename... ScalarOperatorArgs>
 BlockDiagonalLocalOperatorFullCoupling (ScalarOperatorArgs &&... scalarOperatorArgs)
 Constructs the adapter and creates a scalar operator with the given arguments.
 

Detailed Description

template<typename ScalarLOP>
class Dune::PDELab::BlockDiagonalLocalOperatorFullCoupling< ScalarLOP >

Block diagonal extension of scalar local operator.

This adapter class takes an existing local operator that only has volume methods and extends it in a block diagonal fashion to trees of function spaces.

The scalar operator is stored internally as a shared_ptr, so you can either construct the adapter from a shared_ptr to a scalar space, or you can pass it constructor arguments for the scalar space and let the adapter construct the scalar space from them.

The wrapper also implements the instationary local operator interface by forwarding all calls to the scalar operator.

If the operator is used to create a matrix, the sparsity pattern will contain all off-diagonal entries for each grid cell.


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.80.0 (May 16, 22:29, 2024)