|
NOX
Development
|
Nonlinear solver based on a line search (i.e., damping) More...
#include <NOX_Multiphysics_Solver_FixedPointBased.H>


Public Types | |
| enum | SOLVE_TYPE { JACOBI, SEIDEL } |
Public Member Functions | |
| FixedPointBased (const Teuchos::RCP< std::vector< Teuchos::RCP< NOX::Solver::Generic > > > &solvers, const Teuchos::RCP< NOX::Multiphysics::DataExchange::Interface > &interface, const Teuchos::RCP< NOX::StatusTest::Generic > &tests, const Teuchos::RCP< Teuchos::ParameterList > ¶ms) | |
| Constructor. More... | |
| virtual | ~FixedPointBased () |
| Destructor. | |
| virtual bool | reset (const Teuchos::RCP< std::vector< Teuchos::RCP< NOX::Solver::Generic > > > &solvers, const Teuchos::RCP< NOX::Multiphysics::DataExchange::Interface > &interface, const Teuchos::RCP< NOX::StatusTest::Generic > &tests, const Teuchos::RCP< Teuchos::ParameterList > ¶ms) |
| Reset the nonlinear solver for a new solve. More... | |
| virtual 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. | |
| virtual void | reset (const NOX::Abstract::Vector &initialGuess) |
| Resets the solver and sets a new initial guess. | |
| virtual void | reset () |
| reset methods inherited from NOX::Solver::Generic are needed here to avoid hiding this overloaded virtual method | |
| virtual NOX::StatusTest::StatusType | getStatus () const |
| Returns the current status of the solver. | |
| virtual NOX::StatusTest::StatusType | step () |
| Do one nonlinear step in the iteration sequence and return status. | |
| virtual NOX::StatusTest::StatusType | solve () |
| Solve the nonlinear problem and return final status. More... | |
|
virtual const NOX::Abstract::Group & | getSolutionGroup () const |
| Return a reference to the current solution group. | |
|
virtual const NOX::Abstract::Group & | getPreviousSolutionGroup () const |
| Return a reference to the previous solution group. | |
| virtual int | getNumIterations () const |
| Get number of iterations. | |
|
virtual const Teuchos::ParameterList & | getList () const |
| Return a reference to the solver parameters. | |
|
virtual Teuchos::RCP< const NOX::Abstract::Group > | getSolutionGroupPtr () const |
| Return a RCP to the solution group. | |
|
virtual Teuchos::RCP< const NOX::Abstract::Group > | getPreviousSolutionGroupPtr () const |
| Return a RCP to the previous solution group. | |
|
virtual Teuchos::RCP< const Teuchos::ParameterList > | getListPtr () const |
| Return a RCP to the solver parameters. | |
|
virtual Teuchos::RCP< const NOX::SolverStats > | getSolverStatistics () const |
| Return a RCP to the solver statistics. | |
Public Member Functions inherited from NOX::Multiphysics::Solver::Generic | |
| Generic () | |
| Constructor (does nothing) | |
| virtual | ~Generic () |
| Destructor (does nothing) | |
Public Member Functions inherited from NOX::Solver::Generic | |
| Generic () | |
| Constructor (does nothing) | |
Protected Member Functions | |
| virtual void | init () |
| Print out initialization information and calcuate the RHS. | |
| virtual void | printUpdate () |
| Prints the current iteration information. | |
Protected Attributes | |
| SOLVE_TYPE | solveType |
| Type of fixed-point solve to perform. | |
|
Teuchos::RCP< std::vector < Teuchos::RCP < NOX::Solver::Generic > > > | solversVecPtr |
| Pointer to the container of solvers for each problem to be coupled. | |
|
Teuchos::RCP < NOX::Multiphysics::DataExchange::Interface > | dataExInterface |
| Pointer to the callback interface needed to echange data among solvers. | |
| Teuchos::RCP< NOX::GlobalData > | globalDataPtr |
| Pointer to the global data object. | |
| Teuchos::RCP< NOX::Utils > | utilsPtr |
| Utils. | |
|
Teuchos::RCP < NOX::Multiphysics::Group > | solnPtr |
| Current solution. | |
|
Teuchos::RCP < NOX::StatusTest::Generic > | testPtr |
| Stopping test. | |
|
Teuchos::RCP < Teuchos::ParameterList > | paramsPtr |
| Input parameters. | |
| 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. | |
Nonlinear solver based on a line search (i.e., damping)
Solves
using an iterative line-search-based method.
Each iteration, the solver does the following.
Compute a search direction
via a NOX::Direction method
Compute a step length
and update
as
via a NOX::LineSearch method.
The iterations progress until the status tests (see NOX::StatusTest) determine either failure or convergence.
.Input Parameters
The following parameter list entries are valid for this solver:
Output Parameters
Every time solve() is called, a sublist for output parameters called "Output" will be created and contain the following parameters.
"Output":
| NOX::Multiphysics::Solver::FixedPointBased::FixedPointBased | ( | const Teuchos::RCP< std::vector< Teuchos::RCP< NOX::Solver::Generic > > > & | solvers, |
| const Teuchos::RCP< NOX::Multiphysics::DataExchange::Interface > & | interface, | ||
| const Teuchos::RCP< NOX::StatusTest::Generic > & | tests, | ||
| const Teuchos::RCP< Teuchos::ParameterList > & | params | ||
| ) |
Constructor.
See reset(NOX::Abstract::Group&, NOX::StatusTest::Generic&, Teuchos::ParameterList&) for description
References init(), observer, paramsPtr, NOX::Solver::parseObserver(), rcp(), Teuchos::ParameterList::sublist(), and NOX::Solver::validateSolverOptionsSublist().
|
virtual |
Reset the nonlinear solver for a new solve.
| tests | Status tests to check for convergence or failure. These tests will be modified by the solver. |
| params | List of parameters. These parameters will be modified by the solver. |
Implements NOX::Multiphysics::Solver::Generic.
References NOX::Solver::parseObserver(), Teuchos::rcp(), Teuchos::ParameterList::sublist(), and NOX::Solver::validateSolverOptionsSublist().
|
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.
1.8.5