NOX Development
Public Member Functions
NOX::Abstract::PrePostOperator Class Reference

NOX's pure virtual class to allow users to insert pre and post operations into nox's solvers (before and after the NOX::Solver::Generic::iterate() and NOX::Solver::Generic::solve() methods). More...

#include <NOX_Abstract_PrePostOperator.H>

Inheritance diagram for NOX::Abstract::PrePostOperator:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 PrePostOperator ()
 Abstract Vector constructor (does nothing)
 PrePostOperator (const NOX::Abstract::PrePostOperator &source)
 Copy constructor (doesnothing)
virtual ~PrePostOperator ()
 Abstract Vector destructor (does nothing)
virtual void runPreIterate (const NOX::Solver::Generic &solver)
 User defined method that will be executed at the start of a call to NOX::Solver::Generic::iterate().
virtual void runPostIterate (const NOX::Solver::Generic &solver)
 User defined method that will be executed at the end of a call to NOX::Solver::Generic::iterate().
virtual void runPreSolve (const NOX::Solver::Generic &solver)
 User defined method that will be executed at the start of a call to NOX::Solver::Generic::solve().
virtual void runPostSolve (const NOX::Solver::Generic &solver)
 User defined method that will be executed at the end of a call to NOX::Solver::Generic::solve().

Detailed Description

NOX's pure virtual class to allow users to insert pre and post operations into nox's solvers (before and after the NOX::Solver::Generic::iterate() and NOX::Solver::Generic::solve() methods).

The user should implement their own concrete implementation of this class and register it as a Teuchos::RCP<NOX::Abstract::PrePostoperator> in the "Solver Options" sublist.

To create and use a user defined pre/post operators:

  1. Create a pre/post operator that derives from NOX::Abstract::PrePostOperator. For example, the pre/post operator Foo might be defined as shown below.

      class Foo : public NOX::Abstract::PrePostOperator {
      // Insert class definition here
      }
    

  2. Create the appropriate entries in the parameter list, as follows.

      Teuchos::RCP<Foo> foo = Teuchos::rcp(new Foo);
      params.sublist("Sovler Options").set<NOX::Abstract::PrePostOperator>("User Defined Pre/Post Operator", foo);
    

Author:
Roger Pawlowski (SNL 9233)

The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends