47#ifndef __Teko_DiagnosticPreconditionerFactory_hpp__
48#define __Teko_DiagnosticPreconditionerFactory_hpp__
50#include "Teuchos_Time.hpp"
53#include "Teko_PreconditionerFactory.hpp"
85 const Teuchos::RCP<std::ostream> & os=Teuchos::null,
bool printResidual=
false);
149 int numInitialBuilds()
const {
return buildTimer_->numCalls(); }
150 double totalInitialBuildTime()
const {
return buildTimer_->totalElapsedTime(); }
152 int numRebuilds()
const {
return rebuildTimer_->numCalls(); }
153 double totalRebuildTime()
const {
return rebuildTimer_->totalElapsedTime(); }
156 void initTimers(
const std::string & label);
158 Teuchos::RCP<std::ostream> outputStream_;
159 Teuchos::RCP<Teko::InverseFactory> invFactory_;
160 std::string diagString_;
163 mutable Teuchos::RCP<Teuchos::Time> buildTimer_;
164 mutable Teuchos::RCP<Teuchos::Time> rebuildTimer_;
A class which builds a diagnostic operator to wrap the application of the inverse operator....
virtual ~DiagnosticPreconditionerFactory()
default destructor: prints out diagnostic string
virtual bool updateRequestedParameters(const Teuchos::ParameterList &pl)
Update this object with the fields from a parameter list.
virtual void initializeFromParameterList(const Teuchos::ParameterList &settings)
This function builds the internals of the preconditioner factory from a parameter list.
DiagnosticPreconditionerFactory()
Default constructor, for use with the AutoClone class.
virtual Teuchos::RCP< Teuchos::ParameterList > getRequestedParameters() const
Request the additional parameters this preconditioner factory needs.
virtual LinearOp buildPreconditionerOperator(LinearOp &lo, PreconditionerState &state) const
Function that is called to build the preconditioner for the linear operator that is passed in.
Abstract class which block preconditioner factories in Teko should be based on.
An implementation of a state object preconditioners.