NOX
Development
|
Pseudo-transient solver. More...
#include <NOX_Solver_PseudoTransient.hpp>
Public Member Functions | |
PseudoTransient (const Teuchos::RCP< NOX::Abstract::Group > &xGrp, const Teuchos::RCP< NOX::StatusTest::Generic > &tests, const Teuchos::RCP< Teuchos::ParameterList > ¶ms) | |
void | setParameterList (const Teuchos::RCP< Teuchos::ParameterList > ¶mList) |
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::Group & | getSolutionGroup () const |
Return a reference to the current solution group. | |
const NOX::Abstract::Group & | getPreviousSolutionGroup () 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::Group > | getSolutionGroupPtr () const |
Return a RCP to the solution group. | |
Teuchos::RCP< const NOX::Abstract::Group > | getPreviousSolutionGroupPtr () const |
Return a RCP to the previous solution group. | |
Teuchos::RCP< const Teuchos::ParameterList > | getListPtr () const |
Return a RCP to the solver parameters. | |
![]() | |
Generic () | |
Constructor (does nothing) | |
virtual | ~Generic () |
Destructor (does nothing) | |
Protected Member Functions | |
virtual void | init () |
virtual void | printUpdate () |
Protected Attributes | |
Teuchos::RCP< NOX::GlobalData > | globalDataPtr |
Pointer to the global data object. | |
Teuchos::RCP< NOX::Utils > | utilsPtr |
Utils. | |
Teuchos::RCP< NOX::Abstract::Group > | solnPtr |
Current solution. | |
Teuchos::RCP< NOX::Abstract::Group > | oldSolnPtr |
Previous solution pointer. | |
Teuchos::RCP< NOX::Abstract::Group > | transientResidualGroup |
Group used to evaluate a transient residual. | |
Teuchos::RCP< NOX::Abstract::Vector > | dirPtr |
Current search direction pointer. | |
Teuchos::RCP< NOX::StatusTest::Generic > | testPtr |
Stopping test. | |
Teuchos::RCP< NOX::LineSearch::Generic > | lineSearchPtr |
Input parameters. More... | |
Teuchos::RCP< NOX::Direction::Generic > | directionPtr |
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::Group > | thyraSolnGroup |
Pointer to solnPtr casted back to a thyra group. | |
Teuchos::RCP< NOX::Thyra::Group > | thyraOldSolnGroup |
Pointer to oldSolnPtr casted back to a thyra group. | |
Teuchos::RCP< NOX::Thyra::Group > | thyraTransientResidualGroup |
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. | |
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.
|
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.
|
protected |
Input parameters.
Linesearch.