NOX Development
Public Member Functions | Protected Member Functions | Protected Attributes
NOX::Solver::PseudoTransient Class Reference

Pseudo-transient solver. More...

#include <NOX_Solver_PseudoTransient.hpp>

Inheritance diagram for NOX::Solver::PseudoTransient:
Inheritance graph
Collaboration diagram for NOX::Solver::PseudoTransient:
Collaboration graph

List of all members.

Public Member Functions

 PseudoTransient (const Teuchos::RCP< NOX::Abstract::Group > &xGrp, const Teuchos::RCP< NOX::StatusTest::Generic > &tests, const Teuchos::RCP< Teuchos::ParameterList > &params)
void setParameterList (const Teuchos::RCP< Teuchos::ParameterList > &paramList)
Teuchos::RCP< const
getValidParameters () const
void reset (const NOX::Abstract::Vector &initialGuess, const Teuchos::RCP< NOX::StatusTest::Generic > &tests)
 Resets the solver, sets a new status test, and sets a new initial guess.
void reset (const NOX::Abstract::Vector &initialGuess)
 Resets the solver and sets a new initial guess.
NOX::StatusTest::StatusType getStatus ()
 Check current convergence and failure status.
NOX::StatusTest::StatusType step ()
 Do one nonlinear step in the iteration sequence and return status.
NOX::StatusTest::StatusType solve ()
 Solve the nonlinear problem and return final status.
const NOX::Abstract::GroupgetSolutionGroup () const
 Return a reference to the current solution group.
const NOX::Abstract::GroupgetPreviousSolutionGroup () const
 Return a reference to the previous solution group.
int getNumIterations () const
 Get number of iterations.
const Teuchos::ParameterListgetList () const
 Return a reference to the solver parameters.
double getStepSize () const
Teuchos::RCP< const
getSolutionGroupPtr () const
 Return a RCP to the solution group.
Teuchos::RCP< const
getPreviousSolutionGroupPtr () const
 Return a RCP to the previous solution group.
Teuchos::RCP< const
getListPtr () const
 Return a RCP to the solver parameters.

Protected Member Functions

virtual void init ()
virtual void printUpdate ()

Protected Attributes

Teuchos::RCP< NOX::GlobalDataglobalDataPtr
 Pointer to the global data object.
Teuchos::RCP< NOX::UtilsutilsPtr
< NOX::Abstract::Group
 Current solution.
< NOX::Abstract::Group
 Previous solution pointer.
< NOX::Abstract::Group
 Group used to evaluate a transient residual.
< NOX::Abstract::Vector
 Current search direction pointer.
< NOX::StatusTest::Generic
 Stopping test.
< NOX::LineSearch::Generic
 Input parameters.
< NOX::Direction::Generic
 Search Direction.
double stepSize
 Current step.
int nIter
 Number of nonlinear iterations.
NOX::StatusTest::StatusType status
 Status of nonlinear solver.
NOX::StatusTest::CheckType checkType
 Type of check to use for status tests. See NOX::StatusTest for more details.
NOX::Solver::PrePostOperator prePostOperator
 Pointer to a user defined NOX::Abstract::PrePostOperator object.
Teuchos::RCP< NOX::Thyra::GroupthyraSolnGroup
 Pointer to solnPtr casted back to a thyra group.
Teuchos::RCP< NOX::Thyra::GroupthyraOldSolnGroup
 Pointer to oldSolnPtr casted back to a thyra group.
Teuchos::RCP< NOX::Thyra::GroupthyraTransientResidualGroup
 Group used to evaluate a transient residual.
double delta
 Step size for pseudo-transient stepping.
double inv_delta
 Inverse step size for pseudo-transient stepping.
double deltaInit
 Initial step size.
double deltaMax
 Maximum step size.
double deltaMin
 Minimum step size.
double deltaOld
 Step size from previous iteration.
double time
 Pseudo-transient time.
< ::Thyra::VectorBase< double > > 
 solution time derivative used for scaling operator V in pseudo-transient paper
bool use_transient_residual
 If set to true, the candidate direction will use the transient residual instead of the steady-state residual. This is a modification of the Kelley-Keyes paper.
int max_pseudo_transient_iterations
 Maximum number of iterations before pseudo-transient is disabled and the algorithm switches to a line search-based direct to steady state solve.
< Teuchos::ParameterList
 Parameters that are valid for this solver.

Detailed Description

Pseudo-transient solver.

Requires that the Thyra::ModelEvaluator implement transient support (uses alpha, beta, Jacobian evaluation and optionally x_dot in residual).

Based on the 1998 Kelley Keyes paper, with minor modifications.

Member Function Documentation

NOX::StatusTest::StatusType NOX::Solver::PseudoTransient::solve ( ) [virtual]

Solve the nonlinear problem and return final status.

By "solve", we call iterate() until the NOX::StatusTest value is either NOX::StatusTest::Converged or NOX::StatusTest::Failed.

Implements NOX::Solver::Generic.

References Teuchos::ParameterList::set(), Teuchos::ParameterList::sublist(), and NOX::StatusTest::Unconverged.

Member Data Documentation

Input parameters.


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