|
|
enum | { doSkipEntity
} |
| Whether to do selective assembly on the elements, i.e. whether or not skip_entity() should be called. More...
|
|
enum | { doSkipIntersection
} |
| Whether to do selective assembly on the intersections, i.e. whether or not skip_intersection() should be called. More...
|
|
|
enum | { doPatternVolume
} |
| Whether to assemble the pattern on the elements, i.e. whether or not pattern_volume() should be called. More...
|
|
enum | { doPatternVolumePostSkeleton
} |
| 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. More...
|
|
enum | { doPatternSkeleton
} |
| Whether to assemble the pattern on the interior intersections, i.e. whether or not pattern_skeleton() should be called. More...
|
|
enum | { doPatternBoundary
} |
| Whether to assemble the pattern on the boundary intersections, i.e. whether or not pattern_boundary() should be called. More...
|
|
|
enum | { doAlphaVolume
} |
| Whether to call the local operator's alpha_volume(), jacobian_apply_volume() and jacobian_volume(). More...
|
|
enum | { doAlphaVolumePostSkeleton
} |
| Whether to call the local operator's alpha_volume_post_skeleton(), jacobian_apply_volume_post_skeleton() and jacobian_volume_post_skeleton(). More...
|
|
enum | { doAlphaSkeleton
} |
| Whether to call the local operator's alpha_skeleton(), jacobian_apply_skeleton() and jacobian_skeleton(). More...
|
|
enum | { doAlphaBoundary
} |
| Whether to call the local operator's alpha_boundary(), jacobian_apply_boundary() and jacobian_boundary(). More...
|
|
|
enum | { doLambdaVolume
} |
| Whether to call the local operator's lambda_volume(). More...
|
|
enum | { doLambdaVolumePostSkeleton
} |
| Whether to call the local operator's lambda_volume_post_skeleton(). More...
|
|
enum | { doLambdaSkeleton
} |
| Whether to call the local operator's lambda_skeleton(). More...
|
|
enum | { doLambdaBoundary
} |
| Whether to call the local operator's lambda_boundary(). More...
|
|
|
enum | { doSkeletonTwoSided
} |
| Whether to visit the skeleton methods from both sides. More...
|
|
enum | { isLinear
} |
| Wheter the local operator describes a linear problem. More...
|
|
|
| BlockDiagonalLocalOperatorWrapper (const LocalOperator &localOperator) |
| Construct new instance of class. More...
|
|
| BlockDiagonalLocalOperatorWrapper (const BlockDiagonalLocalOperatorWrapper &other) |
| Copy constructor. More...
|
|
template<typename LFSU , typename LFSV , typename LocalPattern > |
void | pattern_volume (const LFSU &lfsu, const LFSV &lfsv, LocalPattern &pattern) const |
|
template<typename EG , typename LFSU , typename X , typename LFSV , typename MAT > |
void | jacobian_volume (const EG &eg, const LFSU &lfsu, const X &x, const LFSV &lfsv, MAT &mat) const |
|
template<typename IG , typename LFSU , typename X , typename LFSV , typename MAT > |
void | jacobian_skeleton (const IG &ig, const LFSU &lfsu_s, const X &x_s, const LFSV &lfsv_s, const LFSU &lfsu_n, const X &x_n, const LFSV &lfsv_n, MAT &mat_ss, MAT &mat_sn, MAT &mat_ns, MAT &mat_nn) const |
|
template<typename IG , typename LFSU , typename X , typename LFSV , typename MAT > |
void | jacobian_boundary (const IG &ig, const LFSU &lfsu_s, const X &x_s, const LFSV &lfsv_s, MAT &mat_ss) const |
|
template<typename EG , typename LFSU , typename X , typename LFSV , typename Y > |
void | jacobian_apply_volume (const EG &eg, const LFSU &lfsu, const X &z, const LFSV &lfsv, Y &y) const |
|
template<typename EG , typename LFSU , typename X , typename Z , typename LFSV , typename Y > |
void | jacobian_apply_volume (const EG &eg, const LFSU &lfsu, const X &x, const Z &z, const LFSV &lfsv, Y &y) const |
|
template<typename IG , typename LFSU , typename Z , typename LFSV , typename Y > |
void | jacobian_apply_skeleton (const IG &ig, const LFSU &lfsu_s, const Z &z_s, const LFSV &lfsv_s, const LFSU &lfsu_n, const Z &z_n, const LFSV &lfsv_n, Y &y_s, Y &y_n) const |
|
template<typename IG , typename LFSU , typename X , typename Z , typename LFSV , typename Y > |
void | jacobian_apply_skeleton (const IG &ig, const LFSU &lfsu_s, const X &x_s, const Z &z_s, const LFSV &lfsv_s, const LFSU &lfsu_n, const X &x_n, const Z &z_n, const LFSV &lfsv_n, Y &y_s, Y &y_n) const |
|
template<typename IG , typename LFSU , typename X , typename LFSV , typename Y > |
void | jacobian_apply_boundary (const IG &ig, const LFSU &lfsu_s, const X &z_s, const LFSV &lfsv_s, Y &y_s) const |
|
template<typename IG , typename LFSU , typename X , typename Z , typename LFSV , typename Y > |
void | jacobian_apply_boundary (const IG &ig, const LFSU &lfsu_s, const X &x_s, const Z &z_s, const LFSV &lfsv_s, Y &y_s) const |
|
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