NOX Development
Loading...
Searching...
No Matches
Public Member Functions | List of all members
NOX::StatusTest::NStep Class Reference

Takes n Iterations before declaring convergence. More...

#include <NOX_StatusTest_NStep.H>

Inheritance diagram for NOX::StatusTest::NStep:
Inheritance graph
[legend]
Collaboration diagram for NOX::StatusTest::NStep:
Collaboration graph
[legend]

Public Member Functions

 NStep (int numberOfStepsForConvergence, int numberOfNonlinearSolvesInRampingPhase=0, int rampingPhaseNumberOfStepsForConvergence=10, const NOX::Utils *u=NULL)
 Ctor.
 
virtual NOX::StatusTest::StatusType checkStatus (const NOX::Solver::Generic &problem, NOX::StatusTest::CheckType checkType)
 Test the stopping criterion
 
virtual NOX::StatusTest::StatusType getStatus () const
 Return the result of the most recent checkStatus call.
 
virtual std::ostream & print (std::ostream &stream, int indent=0) const
 Output formatted description of stopping test to output stream.
 
- Public Member Functions inherited from NOX::StatusTest::Generic
 Generic ()
 Constructor.
 
virtual ~Generic ()
 Destructor.
 
virtual NOX::StatusTest::StatusType checkStatus (const NOX::Solver::Generic &problem, NOX::StatusTest::CheckType checkType)=0
 Test the stopping criterion
 
virtual NOX::StatusTest::StatusType getStatus () const =0
 Return the result of the most recent checkStatus call.
 
virtual std::ostream & print (std::ostream &stream, int indent=0) const =0
 Output formatted description of stopping test to output stream.
 

Detailed Description

Takes n Iterations before declaring convergence.

This test is used to control an N-step Newton method. The test declares convergence once n nonlinear iterations have been taken. Optionally, an initial phase with a different number of steps can be taken.

This is used where the time steps in a transient method are small enough that the step is essentially linear. The typical use case is to start with some initial transient run and take enough Newton steps to converge to an accurate solutions. After a few time steps, then switch over to a 1-Newton step per time step.

Constructor & Destructor Documentation

◆ NStep()

NOX::StatusTest::NStep::NStep ( int  numberOfStepsForConvergence,
int  numberOfNonlinearSolvesInRampingPhase = 0,
int  rampingPhaseNumberOfStepsForConvergence = 10,
const NOX::Utils u = NULL 
)

Ctor.

Parameters
[in]numberOfStepsForConvergenceNumber of nonlinear iterations to take until convergence.
[in]numberOfNonlinearSolvesInRampingPhaseNumber of nonlinear solves in an initial ramping phase. During the ramping phase, convergenc will be declared after using a number of nonlinear steps equal to rampingPhaseNumberOfStepsForConvergence.
[in]rampingPhaseNumberOfStepsForConvergenceTest will declaare convergence in the ramping phase after this number of time steps.

References NOX::StatusTest::Unconverged.

Member Function Documentation

◆ checkStatus()

NOX::StatusTest::StatusType NOX::StatusTest::NStep::checkStatus ( const NOX::Solver::Generic problem,
NOX::StatusTest::CheckType  checkType 
)
virtual

Test the stopping criterion

The test can (and should, if possible) be skipped if checkType is NOX::StatusType::None. If the test is skipped, then the status should be set to NOX::StatusTest::Unevaluated.

Implements NOX::StatusTest::Generic.

References NOX::StatusTest::Converged, NOX::Solver::Generic::getNumIterations(), NOX::StatusTest::None, NOX::StatusTest::Unconverged, and NOX::StatusTest::Unevaluated.

◆ getStatus()

NOX::StatusTest::StatusType NOX::StatusTest::NStep::getStatus ( ) const
virtual

Return the result of the most recent checkStatus call.

Implements NOX::StatusTest::Generic.

◆ print()

std::ostream & NOX::StatusTest::NStep::print ( std::ostream &  stream,
int  indent = 0 
) const
virtual

Output formatted description of stopping test to output stream.

Implements NOX::StatusTest::Generic.

References NOX::StatusTest::Converged.


The documentation for this class was generated from the following files: