NOX  Development
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
NOX::Solver::PseudoTransient Class Reference

Pseudo-transient solver. More...

#include <NOX_Solver_PseudoTransient.hpp>

Inheritance diagram for NOX::Solver::PseudoTransient:
Inheritance graph
[legend]
Collaboration diagram for NOX::Solver::PseudoTransient:
Collaboration graph
[legend]

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 Teuchos::ParameterList > 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. More...
 
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::ParameterList & getList () const
 Return a reference to the solver parameters.
 
double getStepSize () const
 
Teuchos::RCP< const NOX::Abstract::GroupgetSolutionGroupPtr () const
 Return a RCP to the solution group.
 
Teuchos::RCP< const NOX::Abstract::GroupgetPreviousSolutionGroupPtr () const
 Return a RCP to the previous solution group.
 
Teuchos::RCP< const Teuchos::ParameterList > getListPtr () const
 Return a RCP to the solver parameters.
 
- Public Member Functions inherited from NOX::Solver::Generic
 Generic ()
 Constructor (does nothing)
 
virtual ~Generic ()
 Destructor (does nothing)
 

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
 Utils.
 
Teuchos::RCP< NOX::Abstract::GroupsolnPtr
 Current solution.
 
Teuchos::RCP< NOX::Abstract::GroupoldSolnPtr
 Previous solution pointer.
 
Teuchos::RCP< NOX::Abstract::GrouptransientResidualGroup
 Group used to evaluate a transient residual.
 
Teuchos::RCP< NOX::Abstract::VectordirPtr
 Current search direction pointer.
 
Teuchos::RCP< NOX::StatusTest::GenerictestPtr
 Stopping test.
 
Teuchos::RCP< NOX::LineSearch::GenericlineSearchPtr
 Input parameters. More...
 
Teuchos::RCP< NOX::Direction::GenericdirectionPtr
 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.
 
Teuchos::RCP< ::Thyra::VectorBase< double > > x_dot
 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::RCP< Teuchos::ParameterList > validParameters
 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

◆ solve()

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 NOX::StatusTest::Unconverged.

Member Data Documentation

◆ lineSearchPtr

Teuchos::RCP<NOX::LineSearch::Generic> NOX::Solver::PseudoTransient::lineSearchPtr
protected

Input parameters.

Linesearch.


The documentation for this class was generated from the following files: