|
dune-pdelab 2.10-git
|
Loading...
Searching...
No Matches
Dune::PDELab::impl::BlockDiagonalOperator< BlockDiagonalLocalOperator, W, XView, EG, LFSU, LFSV > Struct Template Referenceabstract
Create ISTL operator that applies a local block diagonal. More...
#include <dune/pdelab/backend/istl/matrixfree/iterativeblockjacobipreconditioner.hh>
Inheritance diagram for Dune::PDELab::impl::BlockDiagonalOperator< BlockDiagonalLocalOperator, W, XView, EG, LFSU, LFSV >:

Public Types | |
| using | Base = Dune::LinearOperator< W, W > |
| using | field_type = typename Base::field_type |
| using | weight_type = typename W::WeightedAccumulationView::weight_type |
| typedef X | domain_type |
| typedef Y | range_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) |
| virtual void | apply (const X &x, Y &y) const =0 |
| virtual void | applyscaleadd (field_type alpha, const X &x, Y &y) const =0 |
Static Public Attributes | |
| static constexpr bool | isLinear = BlockDiagonalLocalOperator::isLinear |
Detailed Description
template<typename BlockDiagonalLocalOperator, typename W, typename XView, typename EG, typename LFSU, typename LFSV>
struct Dune::PDELab::impl::BlockDiagonalOperator< BlockDiagonalLocalOperator, W, XView, EG, LFSU, LFSV >
struct Dune::PDELab::impl::BlockDiagonalOperator< BlockDiagonalLocalOperator, W, XView, EG, LFSU, LFSV >
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.
Member Typedef Documentation
◆ Base
template<typename BlockDiagonalLocalOperator , typename W , typename XView , typename EG , typename LFSU , typename LFSV >
| using Dune::PDELab::impl::BlockDiagonalOperator< BlockDiagonalLocalOperator, W, XView, EG, LFSU, LFSV >::Base = Dune::LinearOperator<W,W> |
◆ field_type
template<typename BlockDiagonalLocalOperator , typename W , typename XView , typename EG , typename LFSU , typename LFSV >
| using Dune::PDELab::impl::BlockDiagonalOperator< BlockDiagonalLocalOperator, W, XView, EG, LFSU, LFSV >::field_type = typename Base::field_type |
◆ weight_type
template<typename BlockDiagonalLocalOperator , typename W , typename XView , typename EG , typename LFSU , typename LFSV >
| using Dune::PDELab::impl::BlockDiagonalOperator< BlockDiagonalLocalOperator, W, XView, EG, LFSU, LFSV >::weight_type = typename W::WeightedAccumulationView::weight_type |
Constructor & Destructor Documentation
◆ BlockDiagonalOperator()
template<typename BlockDiagonalLocalOperator , typename W , typename XView , typename EG , typename LFSU , typename LFSV >
|
inline |
Member Function Documentation
◆ apply()
template<typename BlockDiagonalLocalOperator , typename W , typename XView , typename EG , typename LFSU , typename LFSV >
|
inlineoverride |
◆ applyscaleadd()
template<typename BlockDiagonalLocalOperator , typename W , typename XView , typename EG , typename LFSU , typename LFSV >
|
inlineoverride |
◆ category()
template<typename BlockDiagonalLocalOperator , typename W , typename XView , typename EG , typename LFSU , typename LFSV >
|
inlineoverridevirtual |
Implements Dune::LinearOperator< W, W >.
◆ setLinearizationPoint()
template<typename BlockDiagonalLocalOperator , typename W , typename XView , typename EG , typename LFSU , typename LFSV >
|
inline |
◆ setWeight()
template<typename BlockDiagonalLocalOperator , typename W , typename XView , typename EG , typename LFSU , typename LFSV >
|
inline |
Member Data Documentation
◆ isLinear
template<typename BlockDiagonalLocalOperator , typename W , typename XView , typename EG , typename LFSU , typename LFSV >
|
staticconstexpr |
The documentation for this struct was generated from the following file:
Legal Statements / Impressum | Hosted by TU Dresden & Uni Heidelberg | Generated by
1.9.8