dune-pdelab 2.7-git
|
Create ISTL operator that applies a local block diagonal. More...
#include <dune/pdelab/backend/istl/matrixfree/iterativeblockjacobipreconditioner.hh>
Public Types | |
using | Base = Dune::LinearOperator< W, W > |
using | field_type = typename Base::field_type |
using | weight_type = typename W::WeightedAccumulationView::weight_type |
Public Member Functions | |
Dune::SolverCategory::Category | category () const override |
BlockDiagonalOperator (const BlockDiagonalLocalOperator &blockDiagonalLocalOperator, const EG &eg, const LFSU &lfsu, const LFSV &lfsv) | |
void | apply (const W &z, W &y) const override |
void | applyscaleadd (field_type alpha, const W &z, W &y) const override |
void | setLinearizationPoint (const XView &u) |
void | setWeight (const weight_type &weight) |
Static Public Attributes | |
static constexpr bool | isLinear = BlockDiagonalLocalOperator::isLinear |
Create ISTL operator that applies a local block diagonal.
This class is similar to the OnTheFlyOperator in the sense that a local operator is used to create an ISTL operator can be used to solve a linear system of equations in a matrix free way.
Where the OnTheFlyOperator takes a grid operator and solves a global system, this class only solves the local block diagonal system.
using Dune::PDELab::impl::BlockDiagonalOperator< BlockDiagonalLocalOperator, W, XView, EG, LFSU, LFSV >::Base = Dune::LinearOperator<W,W> |
using Dune::PDELab::impl::BlockDiagonalOperator< BlockDiagonalLocalOperator, W, XView, EG, LFSU, LFSV >::field_type = typename Base::field_type |
using Dune::PDELab::impl::BlockDiagonalOperator< BlockDiagonalLocalOperator, W, XView, EG, LFSU, LFSV >::weight_type = typename W::WeightedAccumulationView::weight_type |
|
inline |
|
inlineoverride |
|
inlineoverride |
|
inlineoverride |
|
inline |
|
inline |
|
staticconstexpr |