Teko Version of the Day
Loading...
Searching...
No Matches
Teko_DiagonalPreconditionerFactory.hpp
1// @HEADER
2// *****************************************************************************
3// Teko: A package for block and physics based preconditioning
4//
5// Copyright 2010 NTESS and the Teko contributors.
6// SPDX-License-Identifier: BSD-3-Clause
7// *****************************************************************************
8// @HEADER
9
10#ifndef __Teko_DiagonalPreconditionerFactory_hpp__
11#define __Teko_DiagonalPreconditionerFactory_hpp__
12
13// Teko includes
14#include "Teko_PreconditionerState.hpp"
15#include "Teko_PreconditionerFactory.hpp"
16#include "Teko_ConfigDefs.hpp"
17
18namespace Tpetra {
19namespace Ext {
20template <class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node>
21class PointToBlockDiagPermute;
22}
23} // namespace Tpetra
24
25namespace Teko {
26
27using Thyra::DefaultPreconditioner;
28using Thyra::LinearOpBase;
29
35 public:
37
38 Teuchos::RCP<Tpetra::Ext::PointToBlockDiagPermute<ST, LO, GO, NT> > BDP_;
39};
40
70 public:
72
73
75
77
79 Teuchos::RCP<PreconditionerState> buildPreconditionerState() const;
80
83 LinearOp buildPreconditionerOperator(LinearOp& lo, PreconditionerState& state) const;
84
86 virtual void initializeFromParameterList(const Teuchos::ParameterList& pl);
87
88 protected:
90 mutable Teuchos::ParameterList List_;
91
92 DiagonalType diagonalType_;
93};
94
95} // end namespace Teko
96
97#endif
DiagonalType
Type describing the type of diagonal to construct.
Preconditioner factory for building explcit inverse of diagonal operators. This includes block operat...
virtual void initializeFromParameterList(const Teuchos::ParameterList &pl)
Initialize from a parameter list.
Teuchos::RCP< PreconditionerState > buildPreconditionerState() const
Builds a preconditioner state object.
LinearOp buildPreconditionerOperator(LinearOp &lo, PreconditionerState &state) const
Abstract class which block preconditioner factories in Teko should be based on.
An implementation of a state object preconditioners.