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