|
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 |