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_;
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...