|
using | RealType = typename ScalarLOP::RealType |
|
|
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...
|
|
|
| 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.
|
|
template<typename EG , typename LFSU , typename X , typename LFSV , typename R > |
void | alpha_volume (const EG &eg, const LFSU &lfsu, const X &x, const LFSV &lfsv, R &r) const |
|
template<typename EG , typename LFSU , typename X , typename LFSV , typename Y > |
void | jacobian_apply_volume (const EG &eg, const LFSU &lfsu, const X &x, const LFSV &lfsv, Y &y) const |
|
template<typename EG , typename LFSU , typename X , typename LFSV , typename M > |
void | jacobian_volume (const EG &eg, const LFSU &lfsu, const X &x, const LFSV &lfsv, M &mat) const |
|
void | setTime (RealType t) |
|
RealType | getTime () const |
|
void | preStep (RealType time, RealType dt, int stages) |
|
void | postStep () |
|
void | preStage (RealType time, int r) |
|
int | getStage () const |
|
void | postStage () |
|
RealType | suggestTimestep (RealType dt) const |
|
template<typename LFSU , typename LFSV , typename LocalPattern > |
void | pattern_volume (const LFSU &lfsu, const LFSV &lfsv, LocalPattern &pattern) const |
|
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.