NOX
Development
|
A convergence test based on the update of the parameter component for pitchfork location. More...
#include <LOCA_Bifurcation_PitchforkBord_ParameterUpdateNorm.H>
Public Member Functions | |
ParameterUpdateNorm (double rtol, double atol, double tol) | |
Constructor. More... | |
virtual | ~ParameterUpdateNorm () |
Destructor. | |
virtual NOX::StatusTest::StatusType | checkStatus (const NOX::Solver::Generic &problem) |
Evaluates convergence criteria specified above. | |
virtual NOX::StatusTest::StatusType | getStatus () const |
Returns status as defined above. | |
virtual std::ostream & | print (ostream &stream, int indent=0) const |
Prints current status. | |
double | getUpdateNorm () const |
Returns the value of weighted parameter update norm. | |
double | getRTOL () const |
Returns the realative tolerance set in the constructor. | |
double | getATOL () const |
Returns the absolute tolerance set in the constructor. | |
double | getTOL () const |
Returns the tolerance set in the constructor. | |
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 More... | |
virtual std::ostream & | print (std::ostream &stream, int indent=0) const =0 |
Output formatted description of stopping test to output stream. | |
Protected Attributes | |
double | rtol |
Relative tolerance for convergence. | |
double | atol |
Absolute tolerance for convergence. | |
double | tol |
Tolerance for convergence. | |
double | paramUpdateNorm |
Current value of the parameter update norm. | |
NOX::StatusTest::StatusType | status |
Status of entire status test. | |
A convergence test based on the update of the parameter component for pitchfork location.
Let be the pitchfork parameter (see LOCA::Bifurcation::PitchforkBord::ExtendedGroup). This convergence test defines convergence for the parameter when the following is true
where is the previous parameter value, is the relative tolerance, is the absolute tolerance, and is an overall scale factor (typically ).
Note that this status test deals only with the parameter component of the pitchfork equations. This status test should be combined with other status tests for the solution and null vector components (using NOX::StatusTest::Combo and LOCA::StatusTest::Wrapper) to build a composite status test for the entire system.
Also note that if the group returned by the getSolutionGroup() method of the solver supplied in checkStatus() is not a pitchfork group (i.e., not derived from LOCA::Bifurcation::Pitchforkbord::ExtendedGroup), checkStatus() returns NOX::StatusTest::Converged. This allows the status test to be used in situations other than pitchfork tracking, e.g., steady-state solves, without raising error conditions.
LOCA::Bifurcation::PitchforkBord::StatusTest::ParameterUpdateNorm::ParameterUpdateNorm | ( | double | rtol, |
double | atol, | ||
double | tol | ||
) |
Constructor.
rtol is the relative tolerance , atol is the absolute tolerance , and tol is the overall scale factor defined above.