Teko Version of the Day
Loading...
Searching...
No Matches
Teko_IterativePreconditionerFactory.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_IterativePreconditionerFactory_hpp__
11#define __Teko_IterativePreconditionerFactory_hpp__
12
13// Teko includes
14#include "Teko_PreconditionerFactory.hpp"
15
16namespace Teko {
17
61 public:
64
75 IterativePreconditionerFactory(unsigned int correctionNum,
76 const Teuchos::RCP<Teko::InverseFactory>& precFactory);
77
88 IterativePreconditionerFactory(unsigned int correctionNum,
89 const Teuchos::RCP<Teko::PreconditionerFactory>& precFactory);
90
104 virtual LinearOp buildPreconditionerOperator(LinearOp& lo, PreconditionerState& state) const;
105
107
108
119 virtual void initializeFromParameterList(const Teuchos::ParameterList& settings);
120
133 virtual Teuchos::RCP<Teuchos::ParameterList> getRequestedParameters() const;
134
146 virtual bool updateRequestedParameters(const Teuchos::ParameterList& pl);
147
149
150 protected:
151 unsigned int correctionNum_;
152 Teuchos::RCP<Teko::InverseFactory> precFactory_;
153};
154
155} // end namespace Teko
156
157#endif
virtual bool updateRequestedParameters(const Teuchos::ParameterList &pl)
Update this object with the fields from a parameter list.
virtual LinearOp buildPreconditionerOperator(LinearOp &lo, PreconditionerState &state) const
Function that is called to build the preconditioner for the linear operator that is passed in.
virtual void initializeFromParameterList(const Teuchos::ParameterList &settings)
This function builds the internals of the preconditioner factory from a parameter list.
virtual Teuchos::RCP< Teuchos::ParameterList > getRequestedParameters() const
Request the additional parameters this preconditioner factory needs.
IterativePreconditionerFactory()
Default constructor, for use with the AutoClone class.
Abstract class which block preconditioner factories in Teko should be based on.
An implementation of a state object preconditioners.