xc
|
Specifies a tolerace for the displacement increment norm to be used on each iteration. More...
#include <CTestNormDispIncr.h>
Public Member Functions | |
CTestNormDispIncr (CommandEntity *owr=nullptr) | |
Default constructor. More... | |
CTestNormDispIncr (CommandEntity *owr, double tol, int maxNumIter, int printFlag, int normType=2) | |
Constructor. More... | |
ConvergenceTest * | getCopy (void) const |
Virtual constructor. | |
virtual std::string | getStatusMsg (const int &flag=1) const |
Returns a message showing the values of the principal parameters. | |
int | test (void) |
Returns {currentNumIter} if the two norm of the LinearSOE objects X Vector is less than the tolerance tol . More... | |
![]() | |
ConvergenceTestTol (CommandEntity *owr, int classTag) | |
Constructor. More... | |
ConvergenceTestTol (CommandEntity *owr, int classTag, double tol, int maxNumIter, int printFlag, int normType, int sz_norms=1) | |
Constructor. More... | |
void | setTolerance (double newTol) |
Sets the tolerance used in test() to be newTol . | |
double | getTolerance (void) const |
Gets the tolerance used in test(). | |
int | sendSelf (CommParameters &) |
Send the object. More... | |
int | recvSelf (const CommParameters &) |
Receive the object. More... | |
std::string | getRatioMessage (const std::string &) const |
Display current ratio and tolerance. | |
std::string | getDispIncrMessage (void) const |
Display current displacement increment and tolerance. | |
std::string | getUnbalanceMessage (void) const |
Display current unbalance and tolerance. | |
std::string | getEnergyProductMessage (void) const |
Display current energy product and tolerance. | |
![]() | |
ConvergenceTest (CommandEntity *owr, int classTag) | |
Default constructor. More... | |
ConvergenceTest (CommandEntity *owr, int clasTag, int maxIter, int prtFlg, int normType, int sz_norms=1) | |
Constructor. More... | |
virtual ConvergenceTest * | getCopy (int iterations) const |
Virtual constructor. | |
virtual int | start (void) |
This is invoked at the start of each iteration. More... | |
int | getMaxNumIter (void) const |
void | setMaxNumIter (const int &) |
int | getCurrentIter (void) const |
Return the current iteration number. | |
void | setCurrentIter (const int &) |
Set the current iteration number. | |
int | getPrintFlag (void) const |
void | setPrintFlag (const int &) |
int | getNormType (void) const |
void | setNormType (const int &) |
virtual int | getNumTests (void) const |
virtual int | getMaxNumTests (void) const |
virtual double | getRatioNumToMax (void) const |
virtual const Vector & | getNorms (void) const |
std::string | getTestIterationMessage (void) const |
Returns a string with the name of the class and the iteration number. | |
std::string | getFailedToConvergeMessage (void) const |
Returns a string with the proper failed to converge message. | |
std::string | getDeltaXRMessage (void) const |
Returns a string with the values of x and b vectors. | |
std::string | getDeltaXRNormsMessage (void) const |
Returns a string with the values of x and b vector norms. | |
![]() | |
MovableObject (int classTag, int dbTag) | |
Constructor. More... | |
MovableObject (int classTag) | |
Constructor. More... | |
MovableObject (const MovableObject &) | |
Copy constructor. Doesn't copy the dbTag. | |
MovableObject & | operator= (const MovableObject &) |
Assignment operator. Doesn't copy the dbTag. | |
int | getClassTag (void) const |
Return the class identifier. | |
int | getDbTag (void) const |
Return the object identifier in the database. | |
int | getDbTag (CommParameters &) |
Return the object identifier in the database. | |
void | setDbTag (int dbTag) |
Sets the object identifier in the database. | |
void | setDbTag (CommParameters &) |
Sets the object identifier in the database if not already set. More... | |
virtual int | setParameter (const std::vector< std::string > &argv, Parameter ¶m) |
Sets the value param to the parameter argv . | |
virtual int | updateParameter (int parameterID, Information &info) |
Updates the parameter identified by parameterID with info . | |
virtual int | activateParameter (int parameterID) |
Activates the parameter identified by parameterID . | |
virtual int | setVariable (const std::string &variable, Information &) |
Set the value of the variable idenfified by var . | |
virtual int | getVariable (const std::string &variable, Information &) |
Return the value of the variable idenfified by var . | |
![]() | |
DistributedBase (void) | |
Constructor. | |
virtual DbTagData & | getDbTagData (void) const |
Returns a vector to store class dbTags. | |
const int & | getDbTagDataPos (const int &i) const |
Returns the data at the i-th position. | |
void | setDbTagDataPos (const int &i, const int &v) |
Sets the data at the i-th position. | |
void | inicComm (const int &dataSize) const |
Initializes communication. | |
Additional Inherited Members | |
![]() | |
int | sendData (CommParameters &) |
Send object members through the channel being passed as parameter. | |
int | recvData (const CommParameters &) |
Receives object members through the channel being passed as parameter. | |
![]() | |
bool | hasLinearSOE (void) const |
Returns true ifpuede acceder al system of equations. | |
LinearSOE * | getLinearSOEPtr (void) |
Returns a pointer to the system of equations. | |
const LinearSOE * | getLinearSOEPtr (void) const |
Returns a const pointer to the system of equations. | |
const Vector & | getX (void) const |
Returns the vector of unknowns. | |
double | getNormX (void) const |
Return the norma del vector of unknowns. | |
const Vector & | getB (void) const |
Return the vector at the right hand side of the equation. | |
double | getNormB (void) const |
Return the norm of the vector at the right hand side of the equation. More... | |
double | getEnergyProduct (void) const |
Returns the the energy increment, which is 0.5 times the absolute value of the product of the rhs and the solution vector of the LinearSOE: |0.5*(x ^ b)|. More... | |
int | sendData (CommParameters &) |
Send object members through the channel being passed as parameter. | |
int | recvData (const CommParameters &) |
Receives object members through the channel being passed as parameter. | |
![]() | |
double | tol |
the tol on the energy used to test for convergence | |
![]() | |
int | currentIter |
number of times test() has been invokes since last start() | |
int | maxNumIter |
max number of iterations | |
int | printFlag |
a flag indicating if to print on test | |
int | nType |
type of norm to use (1-norm, 2-norm, p-norm, max-norm) | |
Vector | norms |
vector to hold the norms | |
double | lastRatio |
Last calculated ratio (if any). | |
double | calculatedNormX |
Last calculated |x|. | |
double | calculatedNormB |
Last calculated |b|. | |
double | calculatedEnergyProduct |
Last calculated |0.5*(x ^ b)|. | |
Specifies a tolerace for the displacement increment norm to be used on each iteration.
A CTestNormDispIncr object is an object which can be used in an algorithmic class to test if convergence has been achieved. The CTestNormDispIncr class tests using the norm of the solution Vector of a LinearSOE object and a user specified tolerance value.
XC::CTestNormDispIncr::CTestNormDispIncr | ( | CommandEntity * | owr = nullptr | ) |
Default constructor.
owr | object that owns this one. |
XC::CTestNormDispIncr::CTestNormDispIncr | ( | CommandEntity * | owr, |
double | theTol, | ||
int | maxIter, | ||
int | printFlag, | ||
int | normType = 2 |
||
) |
Constructor.
owr | object that owns this one. |
theTol | the tolerance used in test(). |
maxIter | the max number of iterations to be performed. |
printFlag | what, if anything, is printed on each test. |
normType | type of norm to use (1-norm, 2-norm, p-norm, max-norm). |
|
virtual |
Returns {currentNumIter} if the two norm of the LinearSOE objects X Vector is less than the tolerance tol
.
Returns {currentNumIter} if the two norm of the LinearSOE objects X Vector is less than the tolerance tol
. If no LinearSOE has been set \(-2\) is returned. If the currentNumIter
\(>=\) {maxNumIter} an error message is printed and \(-2\) is returned. If none of these conditions is met, the currentnumIter
is incremented and \(-1\) is returned. If the print flag is \(0\) nothing is printed to cerr during the method, if \(1\) the current iteration and norm are printed to cerr, and if \(2\) the norm and number of iterations to convergence are printed to cerr.
Implements XC::ConvergenceTest.