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. | |
void | reset () |
Resets the solver for another solve. This resets the counters and status only. Uses the final solution from the last solve as the initial guess for the next solve. More... | |
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. | |
NOX::StatusTest::StatusType | getStatus () const |
Returns the current status of the solver. | |
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. | |
Teuchos::RCP< const NOX::SolverStats > | getSolverStatistics () const |
Return a RCP to the solver statistics. | |
Public Member Functions inherited from NOX::Solver::Generic | |
Generic () | |
Constructor (does nothing) | |
virtual | ~Generic () |
Destructor (does nothing) | |
Public Member Functions inherited from Teuchos::ParameterListAcceptorDefaultBase | |
RCP< ParameterList > | getNonconstParameterList () |
RCP< ParameterList > | unsetParameterList () |
RCP< const ParameterList > | getParameterList () const |
Protected Member Functions | |
virtual void | init () |
virtual void | printUpdate () |
Protected Member Functions inherited from Teuchos::ParameterListAcceptorDefaultBase | |
void | setMyParamList (const RCP< ParameterList > ¶mList) |
RCP< ParameterList > | getMyNonconstParamList () |
RCP< const ParameterList > | getMyParamList () const |
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. | |
Teuchos::RCP< NOX::Observer > | observer |
Pointer to a user defined NOX::Observer 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 |
Resets the solver for another solve. This resets the counters and status only. Uses the final solution from the last solve as the initial guess for the next solve.
NOTE: All NOX solvers will call reset() automatically at teh beginning of the solve() method. We add the reset() method to the solver interface for the application to call in case the application needs to reset counters and status manually before the next call to solve() is made.
Implements NOX::Solver::Generic.
References NOX::StatusTest::Unconverged.
|
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.
|
protected |
Input parameters.
Linesearch.