Teko  Version of the Day
 All Classes Files Functions Variables Pages
Teko_IdentityPreconditionerFactory.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_IdentityPreconditionerFactory_hpp__
11 #define __Teko_IdentityPreconditionerFactory_hpp__
12 
13 #include "Teuchos_RCP.hpp"
14 
15 #include "Teko_BlockPreconditionerFactory.hpp"
16 #include "Teko_BlockInvDiagonalStrategy.hpp"
17 
18 namespace Teko {
19 
29  public:
31 
32 
36 
38 
45  LinearOp buildPreconditionerOperator(LinearOp& lo, PreconditionerState& state) const;
46 
47  protected:
49  double scaling_;
50 
52  virtual void initializeFromParameterList(const Teuchos::ParameterList& pl);
53 };
54 
55 } // end namespace Teko
56 
57 #endif
Abstract class which block preconditioner factories in Teko should be based on.
LinearOp buildPreconditionerOperator(LinearOp &lo, PreconditionerState &state) const
Create the Identity preconditioner operator.
An implementation of a state object preconditioners.
virtual void initializeFromParameterList(const Teuchos::ParameterList &pl)
Initialize from a parameter list.