#include <NOX_Multiphysics_Solver_FixedPointBased.H>
Public Types | |
enum | SOLVE_TYPE { JACOBI, SEIDEL } |
Public Member Functions | |
FixedPointBased (const Teuchos::RCP< 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. | |
virtual | ~FixedPointBased () |
Destructor. | |
virtual bool | reset (const Teuchos::RCP< 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. | |
virtual void | reset (const NOX::Abstract::Vector &initialGuess, const Teuchos::RCP< NOX::StatusTest::Generic > &tests) |
virtual void | reset (const NOX::Abstract::Vector &initialGuess) |
reset methods inherited from NOX::Solver::Generic and needed here to avoid hiding this overloaded virtual method | |
virtual NOX::StatusTest::StatusType | getStatus () |
Check current convergence and failure status. | |
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. | |
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 refernece to the solver parameters. | |
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< 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. | |
NOX::Solver::PrePostOperator | prePostOperator |
Pointer to a user defined NOX::Abstract::PrePostOperator object. |
Solves using an iterative line-search-based method.
Each iteration, the solver does the following.
The iterations progress until the status tests (see NOX::StatusTest) determine either failure or convergence.
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":
Definition at line 112 of file NOX_Multiphysics_Solver_FixedPointBased.H.
NOX::Multiphysics::Solver::FixedPointBased::FixedPointBased | ( | const Teuchos::RCP< 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
Definition at line 51 of file NOX_Multiphysics_Solver_FixedPointBased.C.
References init().
NOX::Multiphysics::Solver::FixedPointBased::~FixedPointBased | ( | ) | [virtual] |
bool NOX::Multiphysics::Solver::FixedPointBased::reset | ( | const Teuchos::RCP< 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 | |||
) | [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. |
The group object will be cloned via NOX::Abstract::Group::clone(), and the vectors within will also be individually cloned via NOX::Abstract::Vector::clone().
Implements NOX::Multiphysics::Solver::Generic.
Definition at line 116 of file NOX_Multiphysics_Solver_FixedPointBased.C.
References globalDataPtr, init(), paramsPtr, prePostOperator, NOX::Solver::PrePostOperator::reset(), solnPtr, solversVecPtr, testPtr, and utilsPtr.
void NOX::Multiphysics::Solver::FixedPointBased::reset | ( | const NOX::Abstract::Vector & | initialGuess | ) | [virtual] |
reset methods inherited from NOX::Solver::Generic and needed here to avoid hiding this overloaded virtual method
Implements NOX::Multiphysics::Solver::Generic.
Definition at line 145 of file NOX_Multiphysics_Solver_FixedPointBased.C.
NOX::StatusTest::StatusType NOX::Multiphysics::Solver::FixedPointBased::getStatus | ( | ) | [virtual] |
Check current convergence and failure status.
Implements NOX::Solver::Generic.
Definition at line 159 of file NOX_Multiphysics_Solver_FixedPointBased.C.
References status.
NOX::StatusTest::StatusType NOX::Multiphysics::Solver::FixedPointBased::step | ( | ) | [virtual] |
Do one nonlinear step in the iteration sequence and return status.
Implements NOX::Solver::Generic.
Definition at line 165 of file NOX_Multiphysics_Solver_FixedPointBased.C.
References NOX::StatusTest::Generic::checkStatus(), checkType, NOX::Abstract::Group::computeF(), NOX::StatusTest::Converged, dataExInterface, NOX::StatusTest::Failed, nIter, NOX::Abstract::Group::Ok, prePostOperator, printUpdate(), NOX::Solver::PrePostOperator::runPostIterate(), NOX::Solver::PrePostOperator::runPreIterate(), solnPtr, solveType, status, testPtr, NOX::StatusTest::Unconverged, utilsPtr, and NOX::Utils::Warning.
Referenced by solve().
NOX::StatusTest::StatusType NOX::Multiphysics::Solver::FixedPointBased::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.
Definition at line 268 of file NOX_Multiphysics_Solver_FixedPointBased.C.
References nIter, paramsPtr, prePostOperator, printUpdate(), NOX::Solver::PrePostOperator::runPostSolve(), NOX::Solver::PrePostOperator::runPreSolve(), solnPtr, status, step(), and NOX::StatusTest::Unconverged.
const NOX::Abstract::Group & NOX::Multiphysics::Solver::FixedPointBased::getSolutionGroup | ( | ) | const [virtual] |
Return a reference to the current solution group.
Implements NOX::Solver::Generic.
Definition at line 289 of file NOX_Multiphysics_Solver_FixedPointBased.C.
References solnPtr.
const NOX::Abstract::Group & NOX::Multiphysics::Solver::FixedPointBased::getPreviousSolutionGroup | ( | ) | const [virtual] |
Return a reference to the previous solution group.
Implements NOX::Solver::Generic.
Definition at line 295 of file NOX_Multiphysics_Solver_FixedPointBased.C.
References utilsPtr.
int NOX::Multiphysics::Solver::FixedPointBased::getNumIterations | ( | ) | const [virtual] |
Get number of iterations.
Implements NOX::Solver::Generic.
Definition at line 302 of file NOX_Multiphysics_Solver_FixedPointBased.C.
References nIter.
const Teuchos::ParameterList & NOX::Multiphysics::Solver::FixedPointBased::getList | ( | ) | const [virtual] |
Return a refernece to the solver parameters.
Implements NOX::Solver::Generic.
Definition at line 308 of file NOX_Multiphysics_Solver_FixedPointBased.C.
References paramsPtr.
void NOX::Multiphysics::Solver::FixedPointBased::init | ( | ) | [protected, virtual] |
Print out initialization information and calcuate the RHS.
Definition at line 71 of file NOX_Multiphysics_Solver_FixedPointBased.C.
References checkType, NOX::Utils::fill(), NOX::StatusTest::Minimal, nIter, NOX::Utils::Parameters, paramsPtr, solveType, status, NOX::StatusTest::Unconverged, and utilsPtr.
Referenced by FixedPointBased(), and reset().
void NOX::Multiphysics::Solver::FixedPointBased::printUpdate | ( | ) | [protected, virtual] |
Prints the current iteration information.
Definition at line 314 of file NOX_Multiphysics_Solver_FixedPointBased.C.
References NOX::StatusTest::Converged, NOX::StatusTest::Failed, NOX::Utils::fill(), nIter, NOX::Utils::OuterIteration, NOX::Utils::OuterIterationStatusTest, solnPtr, status, testPtr, NOX::StatusTest::Unconverged, and utilsPtr.
SOLVE_TYPE NOX::Multiphysics::Solver::FixedPointBased::solveType [protected] |
Type of fixed-point solve to perform.
Definition at line 158 of file NOX_Multiphysics_Solver_FixedPointBased.H.
Teuchos::RCP<vector<Teuchos::RCP<NOX::Solver::Generic> > > NOX::Multiphysics::Solver::FixedPointBased::solversVecPtr [protected] |
Pointer to the container of solvers for each problem to be coupled.
Definition at line 161 of file NOX_Multiphysics_Solver_FixedPointBased.H.
Referenced by reset().
Teuchos::RCP<NOX::Multiphysics::DataExchange::Interface> NOX::Multiphysics::Solver::FixedPointBased::dataExInterface [protected] |
Pointer to the callback interface needed to echange data among solvers.
Definition at line 164 of file NOX_Multiphysics_Solver_FixedPointBased.H.
Referenced by step().
Teuchos::RCP<NOX::GlobalData> NOX::Multiphysics::Solver::FixedPointBased::globalDataPtr [protected] |
Pointer to the global data object.
Definition at line 167 of file NOX_Multiphysics_Solver_FixedPointBased.H.
Referenced by reset().
Teuchos::RCP<NOX::Utils> NOX::Multiphysics::Solver::FixedPointBased::utilsPtr [protected] |
Definition at line 170 of file NOX_Multiphysics_Solver_FixedPointBased.H.
Referenced by getPreviousSolutionGroup(), init(), printUpdate(), reset(), and step().
Teuchos::RCP<NOX::Multiphysics::Group> NOX::Multiphysics::Solver::FixedPointBased::solnPtr [protected] |
Current solution.
Definition at line 173 of file NOX_Multiphysics_Solver_FixedPointBased.H.
Referenced by getSolutionGroup(), printUpdate(), reset(), solve(), and step().
Teuchos::RCP<NOX::StatusTest::Generic> NOX::Multiphysics::Solver::FixedPointBased::testPtr [protected] |
Stopping test.
Definition at line 176 of file NOX_Multiphysics_Solver_FixedPointBased.H.
Referenced by printUpdate(), reset(), and step().
Teuchos::RCP<Teuchos::ParameterList> NOX::Multiphysics::Solver::FixedPointBased::paramsPtr [protected] |
int NOX::Multiphysics::Solver::FixedPointBased::nIter [protected] |
Number of nonlinear iterations.
Definition at line 182 of file NOX_Multiphysics_Solver_FixedPointBased.H.
Referenced by getNumIterations(), init(), printUpdate(), solve(), and step().
Status of nonlinear solver.
Definition at line 185 of file NOX_Multiphysics_Solver_FixedPointBased.H.
Referenced by getStatus(), init(), printUpdate(), solve(), and step().
Type of check to use for status tests. See NOX::StatusTest for more details.
Definition at line 188 of file NOX_Multiphysics_Solver_FixedPointBased.H.
NOX::Solver::PrePostOperator NOX::Multiphysics::Solver::FixedPointBased::prePostOperator [protected] |
Pointer to a user defined NOX::Abstract::PrePostOperator object.
Definition at line 191 of file NOX_Multiphysics_Solver_FixedPointBased.H.