NOX Development
|
Abstract nonlinear solver method interface. More...
#include <NOX_Solver_Generic.H>
Public Member Functions | |
Generic () | |
Constructor (does nothing) | |
virtual | ~Generic () |
Destructor (does nothing) | |
virtual void | reset ()=0 |
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. | |
virtual void | reset (const NOX::Abstract::Vector &initial_guess)=0 |
Resets the solver and sets a new initial guess. | |
virtual void | reset (const NOX::Abstract::Vector &initial_guess, const Teuchos::RCP< NOX::StatusTest::Generic > &test)=0 |
Resets the solver, sets a new status test, and sets a new initial guess. | |
virtual NOX::StatusTest::StatusType | step ()=0 |
Do one nonlinear step in the iteration sequence and return status. | |
virtual NOX::StatusTest::StatusType | solve ()=0 |
Solve the nonlinear problem and return final status. | |
virtual const NOX::Abstract::Group & | getSolutionGroup () const =0 |
Return a reference to the current solution group. | |
virtual const NOX::Abstract::Group & | getPreviousSolutionGroup () const =0 |
Return a reference to the previous solution group. | |
virtual NOX::StatusTest::StatusType | getStatus () const =0 |
Returns the current status of the solver. | |
virtual int | getNumIterations () const =0 |
Get number of iterations. | |
virtual const Teuchos::ParameterList & | getList () const =0 |
Return a reference to the solver parameters. | |
virtual Teuchos::RCP< const NOX::Abstract::Group > | getSolutionGroupPtr () const =0 |
Return a RCP to the solution group. | |
virtual Teuchos::RCP< const NOX::Abstract::Group > | getPreviousSolutionGroupPtr () const =0 |
Return a RCP to the previous solution group. | |
virtual Teuchos::RCP< const Teuchos::ParameterList > | getListPtr () const =0 |
Return a RCP to the solver parameters. | |
virtual Teuchos::RCP< const NOX::SolverStats > | getSolverStatistics () const =0 |
Return a RCP to the solver statistics. | |
Abstract nonlinear solver method interface.
Defines the type of access methods into the iterative nonlinear solvers.
|
inlinevirtual |
Destructor (does nothing)
Reimplemented in NOX::Multiphysics::Solver::Generic.
|
pure virtual |
Return a reference to the solver parameters.
Implemented in LOCA::Solver::Wrapper, NOX::Solver::PseudoTransient, NOX::Multiphysics::Solver::FixedPointBased, NOX::Multiphysics::Solver::Manager, NOX::Solver::AndersonAcceleration, NOX::Solver::InexactTrustRegionBased, NOX::Solver::LineSearchBased, NOX::Solver::SingleStep, NOX::Solver::TensorBased, and NOX::Solver::TrustRegionBased.
Referenced by NOX::StatusTest::NormWRMS::checkStatus(), and NOX::LineSearch::Polynomial::compute().
|
pure virtual |
Return a RCP to the solver parameters.
Implemented in LOCA::Solver::Wrapper, NOX::Solver::PseudoTransient, NOX::Multiphysics::Solver::FixedPointBased, NOX::Multiphysics::Solver::Manager, NOX::Solver::AndersonAcceleration, NOX::Solver::InexactTrustRegionBased, NOX::Solver::LineSearchBased, NOX::Solver::SingleStep, NOX::Solver::TensorBased, and NOX::Solver::TrustRegionBased.
|
pure virtual |
Get number of iterations.
Implemented in LOCA::Solver::Wrapper, NOX::Solver::PseudoTransient, NOX::Multiphysics::Solver::FixedPointBased, NOX::Multiphysics::Solver::Manager, NOX::Solver::AndersonAcceleration, NOX::Solver::InexactTrustRegionBased, NOX::Solver::LineSearchBased, NOX::Solver::SingleStep, NOX::Solver::TensorBased, and NOX::Solver::TrustRegionBased.
Referenced by LOCA::Bifurcation::PitchforkBord::StatusTest::NullVectorNormWRMS::checkStatus(), LOCA::Bifurcation::PitchforkBord::StatusTest::ParameterUpdateNorm::checkStatus(), LOCA::Bifurcation::PitchforkBord::StatusTest::SlackUpdateNorm::checkStatus(), LOCA::Bifurcation::TPBord::StatusTest::NullVectorNormWRMS::checkStatus(), LOCA::Bifurcation::TPBord::StatusTest::ParameterUpdateNorm::checkStatus(), LOCA::Continuation::StatusTest::ParameterUpdateNorm::checkStatus(), NOX::StatusTest::Divergence::checkStatus(), NOX::StatusTest::MaxIters::checkStatus(), NOX::StatusTest::NormUpdate::checkStatus(), NOX::StatusTest::NormWRMS::checkStatus(), NOX::StatusTest::NStep::checkStatus(), NOX::StatusTest::RelativeNormF::checkStatus(), NOX::StatusTest::Stagnation::checkStatus(), NOX::Direction::NonlinearCG::compute(), NOX::LineSearch::Polynomial::compute(), NOX::Direction::Newton::compute(), LOCA::StepSize::Adaptive::computeStepSize(), NOX::Epetra::BroydenOperator::runPostIterate(), and NOX::ObserverPrint::runPreIterate().
|
pure virtual |
Return a reference to the previous solution group.
Implemented in LOCA::Solver::Wrapper, NOX::Solver::PseudoTransient, NOX::Multiphysics::Solver::FixedPointBased, NOX::Multiphysics::Solver::Manager, NOX::Solver::AndersonAcceleration, NOX::Solver::InexactTrustRegionBased, NOX::Solver::LineSearchBased, NOX::Solver::SingleStep, NOX::Solver::TensorBased, and NOX::Solver::TrustRegionBased.
Referenced by LOCA::Bifurcation::PitchforkBord::StatusTest::NullVectorNormWRMS::checkStatus(), LOCA::Bifurcation::PitchforkBord::StatusTest::ParameterUpdateNorm::checkStatus(), LOCA::Bifurcation::PitchforkBord::StatusTest::SlackUpdateNorm::checkStatus(), LOCA::Bifurcation::TPBord::StatusTest::NullVectorNormWRMS::checkStatus(), LOCA::Bifurcation::TPBord::StatusTest::ParameterUpdateNorm::checkStatus(), LOCA::Continuation::StatusTest::ParameterUpdateNorm::checkStatus(), NOX::StatusTest::NormUpdate::checkStatus(), NOX::StatusTest::NormWRMS::checkStatus(), NOX::StatusTest::Stagnation::checkStatus(), NOX::Direction::NonlinearCG::compute(), NOX::LineSearch::Backtrack::compute(), NOX::LineSearch::FullStep::compute(), NOX::LineSearch::MoreThuente::compute(), NOX::LineSearch::NonlinearCG::compute(), NOX::LineSearch::Polynomial::compute(), NOX::Direction::Newton::compute(), NOX::Solver::TensorBased::computeTensorDirection(), NOX::Solver::TensorBased::implementGlobalStrategy(), NOX::Solver::TensorBased::performLinesearch(), and NOX::Epetra::BroydenOperator::runPostIterate().
|
pure virtual |
Return a RCP to the previous solution group.
Implemented in LOCA::Solver::Wrapper, NOX::Solver::PseudoTransient, NOX::Multiphysics::Solver::FixedPointBased, NOX::Multiphysics::Solver::Manager, NOX::Solver::AndersonAcceleration, NOX::Solver::InexactTrustRegionBased, NOX::Solver::LineSearchBased, NOX::Solver::SingleStep, NOX::Solver::TensorBased, and NOX::Solver::TrustRegionBased.
|
pure virtual |
Return a reference to the current solution group.
Implemented in LOCA::Solver::Wrapper, NOX::Solver::PseudoTransient, NOX::Multiphysics::Solver::FixedPointBased, NOX::Multiphysics::Solver::Manager, NOX::Solver::AndersonAcceleration, NOX::Solver::InexactTrustRegionBased, NOX::Solver::LineSearchBased, NOX::Solver::SingleStep, NOX::Solver::TensorBased, and NOX::Solver::TrustRegionBased.
Referenced by LOCA::Bifurcation::PitchforkBord::StatusTest::NullVectorNormWRMS::checkStatus(), LOCA::Bifurcation::PitchforkBord::StatusTest::ParameterUpdateNorm::checkStatus(), LOCA::Bifurcation::PitchforkBord::StatusTest::SlackUpdateNorm::checkStatus(), LOCA::Bifurcation::TPBord::StatusTest::NullVectorNormWRMS::checkStatus(), LOCA::Bifurcation::TPBord::StatusTest::ParameterUpdateNorm::checkStatus(), LOCA::Continuation::StatusTest::ParameterResidualNorm::checkStatus(), LOCA::Continuation::StatusTest::ParameterUpdateNorm::checkStatus(), NOX::StatusTest::Divergence::checkStatus(), NOX::StatusTest::FiniteValue::checkStatus(), NOX::StatusTest::NormF::checkStatus(), NOX::StatusTest::NormUpdate::checkStatus(), NOX::StatusTest::NormWRMS::checkStatus(), NOX::StatusTest::RelativeNormF::checkStatus(), NOX::StatusTest::Stagnation::checkStatus(), and NOX::Epetra::BroydenOperator::runPostIterate().
|
pure virtual |
Return a RCP to the solution group.
Implemented in LOCA::Solver::Wrapper, NOX::Solver::PseudoTransient, NOX::Multiphysics::Solver::FixedPointBased, NOX::Multiphysics::Solver::Manager, NOX::Solver::AndersonAcceleration, NOX::Solver::InexactTrustRegionBased, NOX::Solver::LineSearchBased, NOX::Solver::SingleStep, NOX::Solver::TensorBased, and NOX::Solver::TrustRegionBased.
|
pure virtual |
Return a RCP to the solver statistics.
Implemented in LOCA::Solver::Wrapper, NOX::Solver::PseudoTransient, NOX::Multiphysics::Solver::FixedPointBased, NOX::Solver::AndersonAcceleration, NOX::Solver::InexactTrustRegionBased, NOX::Solver::LineSearchBased, NOX::Solver::SingleStep, NOX::Solver::TensorBased, and NOX::Solver::TrustRegionBased.
|
pure virtual |
Returns the current status of the solver.
Implemented in LOCA::Solver::Wrapper, NOX::Solver::PseudoTransient, NOX::Multiphysics::Solver::FixedPointBased, NOX::Multiphysics::Solver::Manager, NOX::Solver::AndersonAcceleration, NOX::Solver::InexactTrustRegionBased, NOX::Solver::LineSearchBased, NOX::Solver::SingleStep, NOX::Solver::TensorBased, and NOX::Solver::TrustRegionBased.
|
pure 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.
Implemented in LOCA::Solver::Wrapper, NOX::Solver::PseudoTransient, NOX::Multiphysics::Solver::FixedPointBased, NOX::Multiphysics::Solver::Manager, NOX::Solver::AndersonAcceleration, NOX::Solver::InexactTrustRegionBased, NOX::Solver::LineSearchBased, NOX::Solver::SingleStep, NOX::Solver::TensorBased, NOX::Solver::TrustRegionBased, and NOX::Multiphysics::Solver::Generic.
|
pure virtual |
Resets the solver and sets a new initial guess.
Implemented in NOX::Solver::SingleStep, LOCA::Solver::Wrapper, NOX::Solver::PseudoTransient, NOX::Multiphysics::Solver::FixedPointBased, NOX::Multiphysics::Solver::Manager, NOX::Solver::AndersonAcceleration, NOX::Solver::InexactTrustRegionBased, NOX::Solver::LineSearchBased, NOX::Solver::TensorBased, NOX::Solver::TrustRegionBased, and NOX::Multiphysics::Solver::Generic.
|
pure virtual |
Resets the solver, sets a new status test, and sets a new initial guess.
Implemented in NOX::Solver::SingleStep, NOX::Solver::PseudoTransient, NOX::Solver::AndersonAcceleration, NOX::Solver::InexactTrustRegionBased, NOX::Solver::LineSearchBased, NOX::Solver::TensorBased, and NOX::Solver::TrustRegionBased.
|
pure 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.
Implemented in LOCA::Solver::Wrapper, NOX::Solver::PseudoTransient, NOX::Multiphysics::Solver::FixedPointBased, NOX::Multiphysics::Solver::Manager, NOX::Solver::AndersonAcceleration, NOX::Solver::InexactTrustRegionBased, NOX::Solver::LineSearchBased, NOX::Solver::SingleStep, NOX::Solver::TensorBased, and NOX::Solver::TrustRegionBased.
|
pure virtual |
Do one nonlinear step in the iteration sequence and return status.
Implemented in LOCA::Solver::Wrapper, NOX::Solver::PseudoTransient, NOX::Multiphysics::Solver::FixedPointBased, NOX::Multiphysics::Solver::Manager, NOX::Solver::AndersonAcceleration, NOX::Solver::InexactTrustRegionBased, NOX::Solver::LineSearchBased, NOX::Solver::SingleStep, NOX::Solver::TensorBased, and NOX::Solver::TrustRegionBased.